@@ -699,7 +699,7 @@ private MethDirectRoot(PythonLanguage lang, TruffleString name, PExternalFunctio
699699 @ Override
700700 protected Object [] prepareCArguments (VirtualFrame frame ) {
701701 // return a copy of the args array since it will be modified
702- Object [] varargs = PArguments .getVariableArguments (frame );
702+ Object [] varargs = ( Object []) PArguments .getArgument (frame , SIGNATURE . varArgsPArgumentsIndex () );
703703 return PythonUtils .arrayCopyOf (varargs , varargs .length );
704704 }
705705
@@ -971,17 +971,17 @@ public static class MethKeywordsRoot extends MethodDescriptorRoot {
971971
972972 public MethKeywordsRoot (PythonLanguage language , TruffleString name , boolean isStatic , PExternalFunctionWrapper provider ) {
973973 super (language , name , isStatic , provider );
974- this .readVarargsNode = ReadVarArgsNode .create (true );
975- this .readKwargsNode = ReadVarKeywordsNode .create (PythonUtils . EMPTY_TRUFFLESTRING_ARRAY );
974+ this .readVarargsNode = ReadVarArgsNode .create (SIGNATURE . varArgsPArgumentsIndex () );
975+ this .readKwargsNode = ReadVarKeywordsNode .create (SIGNATURE . varKeywordsPArgumentsIndex () );
976976 this .createArgsTupleNode = CreateArgsTupleNodeGen .create ();
977977 this .freeNode = ReleaseNativeSequenceStorageNodeGen .create ();
978978 }
979979
980980 @ Override
981981 protected Object [] prepareCArguments (VirtualFrame frame ) {
982982 Object self = readSelf (frame );
983- Object [] args = readVarargsNode .executeObjectArray (frame );
984- PKeyword [] kwargs = readKwargsNode .executePKeyword (frame );
983+ Object [] args = readVarargsNode .execute (frame );
984+ PKeyword [] kwargs = readKwargsNode .execute (frame );
985985 PythonLanguage language = getLanguage (PythonLanguage .class );
986986 return new Object []{self , createArgsTupleNode .execute (language , args , seenNativeArgsTupleStorage ), kwargs .length > 0 ? PFactory .createDict (language , kwargs ) : PNone .NO_VALUE };
987987 }
@@ -1013,15 +1013,15 @@ public static final class MethVarargsRoot extends MethodDescriptorRoot {
10131013
10141014 public MethVarargsRoot (PythonLanguage language , TruffleString name , boolean isStatic , PExternalFunctionWrapper provider ) {
10151015 super (language , name , isStatic , provider );
1016- this .readVarargsNode = ReadVarArgsNode .create (true );
1016+ this .readVarargsNode = ReadVarArgsNode .create (SIGNATURE . varArgsPArgumentsIndex () );
10171017 this .createArgsTupleNode = CreateArgsTupleNodeGen .create ();
10181018 this .freeNode = ReleaseNativeSequenceStorageNodeGen .create ();
10191019 }
10201020
10211021 @ Override
10221022 protected Object [] prepareCArguments (VirtualFrame frame ) {
10231023 Object self = readSelf (frame );
1024- Object [] args = readVarargsNode .executeObjectArray (frame );
1024+ Object [] args = readVarargsNode .execute (frame );
10251025 return new Object []{self , createArgsTupleNode .execute (getLanguage (PythonLanguage .class ), args , seenNativeArgsTupleStorage )};
10261026 }
10271027
@@ -1100,11 +1100,11 @@ public MethNewRoot(PythonLanguage language, TruffleString name, boolean isStatic
11001100 @ Override
11011101 protected Object [] prepareCArguments (VirtualFrame frame ) {
11021102 Object methodSelf = readSelf (frame );
1103- Object [] args = readVarargsNode .executeObjectArray (frame );
1103+ Object [] args = readVarargsNode .execute (frame );
11041104 // TODO checks
11051105 Object self = args [0 ];
11061106 args = PythonUtils .arrayCopyOfRange (args , 1 , args .length );
1107- PKeyword [] kwargs = readKwargsNode .executePKeyword (frame );
1107+ PKeyword [] kwargs = readKwargsNode .execute (frame );
11081108 PythonLanguage language = getLanguage (PythonLanguage .class );
11091109 return new Object []{self , createArgsTupleNode .execute (language , args , seenNativeArgsTupleStorage ), kwargs .length > 0 ? PFactory .createDict (language , kwargs ) : PNone .NO_VALUE };
11101110 }
@@ -1192,15 +1192,15 @@ public static final class MethFastcallWithKeywordsRoot extends MethodDescriptorR
11921192
11931193 public MethFastcallWithKeywordsRoot (PythonLanguage language , TruffleString name , boolean isStatic , PExternalFunctionWrapper provider ) {
11941194 super (language , name , isStatic , provider );
1195- this .readVarargsNode = ReadVarArgsNode .create (true );
1196- this .readKwargsNode = ReadVarKeywordsNode .create (PythonUtils . EMPTY_TRUFFLESTRING_ARRAY );
1195+ this .readVarargsNode = ReadVarArgsNode .create (SIGNATURE . varArgsPArgumentsIndex () );
1196+ this .readKwargsNode = ReadVarKeywordsNode .create (SIGNATURE . varKeywordsPArgumentsIndex () );
11971197 }
11981198
11991199 @ Override
12001200 protected Object [] prepareCArguments (VirtualFrame frame ) {
12011201 Object self = readSelf (frame );
1202- Object [] args = readVarargsNode .executeObjectArray (frame );
1203- PKeyword [] kwargs = readKwargsNode .executePKeyword (frame );
1202+ Object [] args = readVarargsNode .execute (frame );
1203+ PKeyword [] kwargs = readKwargsNode .execute (frame );
12041204 Object [] fastcallArgs = new Object [args .length + kwargs .length ];
12051205 Object kwnamesTuple = PNone .NO_VALUE ;
12061206 PythonUtils .arraycopy (args , 0 , fastcallArgs , 0 , args .length );
@@ -1240,16 +1240,16 @@ public static final class MethMethodRoot extends MethodDescriptorRoot {
12401240 public MethMethodRoot (PythonLanguage language , TruffleString name , boolean isStatic , PExternalFunctionWrapper provider ) {
12411241 super (language , name , isStatic , provider );
12421242 this .readClsNode = ReadIndexedArgumentNode .create (1 );
1243- this .readVarargsNode = ReadVarArgsNode .create (true );
1244- this .readKwargsNode = ReadVarKeywordsNode .create (PythonUtils . EMPTY_TRUFFLESTRING_ARRAY );
1243+ this .readVarargsNode = ReadVarArgsNode .create (SIGNATURE . varArgsPArgumentsIndex () );
1244+ this .readKwargsNode = ReadVarKeywordsNode .create (SIGNATURE . varKeywordsPArgumentsIndex () );
12451245 }
12461246
12471247 @ Override
12481248 protected Object [] prepareCArguments (VirtualFrame frame ) {
12491249 Object self = readSelf (frame );
12501250 Object cls = readClsNode .execute (frame );
1251- Object [] args = readVarargsNode .executeObjectArray (frame );
1252- PKeyword [] kwargs = readKwargsNode .executePKeyword (frame );
1251+ Object [] args = readVarargsNode .execute (frame );
1252+ PKeyword [] kwargs = readKwargsNode .execute (frame );
12531253 Object [] fastcallArgs = new Object [args .length + kwargs .length ];
12541254 Object [] fastcallKwnames = new Object [kwargs .length ];
12551255 PythonUtils .arraycopy (args , 0 , fastcallArgs , 0 , args .length );
@@ -1282,13 +1282,13 @@ public static final class MethFastcallRoot extends MethodDescriptorRoot {
12821282
12831283 public MethFastcallRoot (PythonLanguage language , TruffleString name , boolean isStatic , PExternalFunctionWrapper provider ) {
12841284 super (language , name , isStatic , provider );
1285- this .readVarargsNode = ReadVarArgsNode .create (true );
1285+ this .readVarargsNode = ReadVarArgsNode .create (SIGNATURE . varArgsPArgumentsIndex () );
12861286 }
12871287
12881288 @ Override
12891289 protected Object [] prepareCArguments (VirtualFrame frame ) {
12901290 Object self = readSelf (frame );
1291- Object [] args = readVarargsNode .executeObjectArray (frame );
1291+ Object [] args = readVarargsNode .execute (frame );
12921292 return new Object []{self , new CPyObjectArrayWrapper (args ), args .length };
12931293 }
12941294
@@ -1713,14 +1713,14 @@ static class MethPowRootNode extends MethodDescriptorRoot {
17131713
17141714 MethPowRootNode (PythonLanguage language , TruffleString name , PExternalFunctionWrapper provider ) {
17151715 super (language , name , false , provider );
1716- this .readVarargsNode = ReadVarArgsNode .create (true );
1716+ this .readVarargsNode = ReadVarArgsNode .create (SIGNATURE . varArgsPArgumentsIndex () );
17171717 this .profile = ConditionProfile .create ();
17181718 }
17191719
17201720 @ Override
17211721 protected final Object [] prepareCArguments (VirtualFrame frame ) {
17221722 Object self = readSelf (frame );
1723- Object [] varargs = readVarargsNode .executeObjectArray (frame );
1723+ Object [] varargs = readVarargsNode .execute (frame );
17241724 Object arg0 = varargs [0 ];
17251725 Object arg1 = profile .profile (varargs .length > 1 ) ? varargs [1 ] : PNone .NONE ;
17261726 return getArguments (self , arg0 , arg1 );
0 commit comments