@@ -699,7 +699,7 @@ private MethDirectRoot(PythonLanguage lang, TruffleString name, PExternalFunctio
699
699
@ Override
700
700
protected Object [] prepareCArguments (VirtualFrame frame ) {
701
701
// 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 () );
703
703
return PythonUtils .arrayCopyOf (varargs , varargs .length );
704
704
}
705
705
@@ -971,17 +971,17 @@ public static class MethKeywordsRoot extends MethodDescriptorRoot {
971
971
972
972
public MethKeywordsRoot (PythonLanguage language , TruffleString name , boolean isStatic , PExternalFunctionWrapper provider ) {
973
973
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 () );
976
976
this .createArgsTupleNode = CreateArgsTupleNodeGen .create ();
977
977
this .freeNode = ReleaseNativeSequenceStorageNodeGen .create ();
978
978
}
979
979
980
980
@ Override
981
981
protected Object [] prepareCArguments (VirtualFrame frame ) {
982
982
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 );
985
985
PythonLanguage language = getLanguage (PythonLanguage .class );
986
986
return new Object []{self , createArgsTupleNode .execute (language , args , seenNativeArgsTupleStorage ), kwargs .length > 0 ? PFactory .createDict (language , kwargs ) : PNone .NO_VALUE };
987
987
}
@@ -1013,15 +1013,15 @@ public static final class MethVarargsRoot extends MethodDescriptorRoot {
1013
1013
1014
1014
public MethVarargsRoot (PythonLanguage language , TruffleString name , boolean isStatic , PExternalFunctionWrapper provider ) {
1015
1015
super (language , name , isStatic , provider );
1016
- this .readVarargsNode = ReadVarArgsNode .create (true );
1016
+ this .readVarargsNode = ReadVarArgsNode .create (SIGNATURE . varArgsPArgumentsIndex () );
1017
1017
this .createArgsTupleNode = CreateArgsTupleNodeGen .create ();
1018
1018
this .freeNode = ReleaseNativeSequenceStorageNodeGen .create ();
1019
1019
}
1020
1020
1021
1021
@ Override
1022
1022
protected Object [] prepareCArguments (VirtualFrame frame ) {
1023
1023
Object self = readSelf (frame );
1024
- Object [] args = readVarargsNode .executeObjectArray (frame );
1024
+ Object [] args = readVarargsNode .execute (frame );
1025
1025
return new Object []{self , createArgsTupleNode .execute (getLanguage (PythonLanguage .class ), args , seenNativeArgsTupleStorage )};
1026
1026
}
1027
1027
@@ -1100,11 +1100,11 @@ public MethNewRoot(PythonLanguage language, TruffleString name, boolean isStatic
1100
1100
@ Override
1101
1101
protected Object [] prepareCArguments (VirtualFrame frame ) {
1102
1102
Object methodSelf = readSelf (frame );
1103
- Object [] args = readVarargsNode .executeObjectArray (frame );
1103
+ Object [] args = readVarargsNode .execute (frame );
1104
1104
// TODO checks
1105
1105
Object self = args [0 ];
1106
1106
args = PythonUtils .arrayCopyOfRange (args , 1 , args .length );
1107
- PKeyword [] kwargs = readKwargsNode .executePKeyword (frame );
1107
+ PKeyword [] kwargs = readKwargsNode .execute (frame );
1108
1108
PythonLanguage language = getLanguage (PythonLanguage .class );
1109
1109
return new Object []{self , createArgsTupleNode .execute (language , args , seenNativeArgsTupleStorage ), kwargs .length > 0 ? PFactory .createDict (language , kwargs ) : PNone .NO_VALUE };
1110
1110
}
@@ -1192,15 +1192,15 @@ public static final class MethFastcallWithKeywordsRoot extends MethodDescriptorR
1192
1192
1193
1193
public MethFastcallWithKeywordsRoot (PythonLanguage language , TruffleString name , boolean isStatic , PExternalFunctionWrapper provider ) {
1194
1194
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 () );
1197
1197
}
1198
1198
1199
1199
@ Override
1200
1200
protected Object [] prepareCArguments (VirtualFrame frame ) {
1201
1201
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 );
1204
1204
Object [] fastcallArgs = new Object [args .length + kwargs .length ];
1205
1205
Object kwnamesTuple = PNone .NO_VALUE ;
1206
1206
PythonUtils .arraycopy (args , 0 , fastcallArgs , 0 , args .length );
@@ -1240,16 +1240,16 @@ public static final class MethMethodRoot extends MethodDescriptorRoot {
1240
1240
public MethMethodRoot (PythonLanguage language , TruffleString name , boolean isStatic , PExternalFunctionWrapper provider ) {
1241
1241
super (language , name , isStatic , provider );
1242
1242
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 () );
1245
1245
}
1246
1246
1247
1247
@ Override
1248
1248
protected Object [] prepareCArguments (VirtualFrame frame ) {
1249
1249
Object self = readSelf (frame );
1250
1250
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 );
1253
1253
Object [] fastcallArgs = new Object [args .length + kwargs .length ];
1254
1254
Object [] fastcallKwnames = new Object [kwargs .length ];
1255
1255
PythonUtils .arraycopy (args , 0 , fastcallArgs , 0 , args .length );
@@ -1282,13 +1282,13 @@ public static final class MethFastcallRoot extends MethodDescriptorRoot {
1282
1282
1283
1283
public MethFastcallRoot (PythonLanguage language , TruffleString name , boolean isStatic , PExternalFunctionWrapper provider ) {
1284
1284
super (language , name , isStatic , provider );
1285
- this .readVarargsNode = ReadVarArgsNode .create (true );
1285
+ this .readVarargsNode = ReadVarArgsNode .create (SIGNATURE . varArgsPArgumentsIndex () );
1286
1286
}
1287
1287
1288
1288
@ Override
1289
1289
protected Object [] prepareCArguments (VirtualFrame frame ) {
1290
1290
Object self = readSelf (frame );
1291
- Object [] args = readVarargsNode .executeObjectArray (frame );
1291
+ Object [] args = readVarargsNode .execute (frame );
1292
1292
return new Object []{self , new CPyObjectArrayWrapper (args ), args .length };
1293
1293
}
1294
1294
@@ -1713,14 +1713,14 @@ static class MethPowRootNode extends MethodDescriptorRoot {
1713
1713
1714
1714
MethPowRootNode (PythonLanguage language , TruffleString name , PExternalFunctionWrapper provider ) {
1715
1715
super (language , name , false , provider );
1716
- this .readVarargsNode = ReadVarArgsNode .create (true );
1716
+ this .readVarargsNode = ReadVarArgsNode .create (SIGNATURE . varArgsPArgumentsIndex () );
1717
1717
this .profile = ConditionProfile .create ();
1718
1718
}
1719
1719
1720
1720
@ Override
1721
1721
protected final Object [] prepareCArguments (VirtualFrame frame ) {
1722
1722
Object self = readSelf (frame );
1723
- Object [] varargs = readVarargsNode .executeObjectArray (frame );
1723
+ Object [] varargs = readVarargsNode .execute (frame );
1724
1724
Object arg0 = varargs [0 ];
1725
1725
Object arg1 = profile .profile (varargs .length > 1 ) ? varargs [1 ] : PNone .NONE ;
1726
1726
return getArguments (self , arg0 , arg1 );
0 commit comments