@@ -2305,12 +2305,21 @@ private Object bytecodeLoop(VirtualFrame virtualFrame, Frame localFrame, Bytecod
2305
2305
bci ++;
2306
2306
continue ;
2307
2307
}
2308
- default : {
2309
- long r = infrequentBytecodes (virtualFrame , localFrame , bc , bci , stackTop , beginBci , oparg , localBC , globals , locals , localNames , localNodes , bciSlot , localCelloffset ,
2308
+ case OpCodesConstants .LOAD_FROM_DICT_OR_DEREF :
2309
+ case OpCodesConstants .LOAD_FROM_DICT_OR_GLOBALS :
2310
+ case OpCodesConstants .MAKE_TYPE_PARAM :
2311
+ stackTop = infrequentBytecodes (virtualFrame , localFrame , bc , bci , stackTop , beginBci , oparg , localBC , globals , locals , localNames , localNodes , bciSlot , localCelloffset ,
2310
2312
useCachedNodes );
2311
- stackTop = (int ) (r >> 32 );
2312
- bci = (int ) r ;
2313
- }
2313
+ bci ++;
2314
+ break ;
2315
+ case OpCodesConstants .LOAD_LOCALS :
2316
+ case OpCodesConstants .MAKE_TYPE_ALIAS :
2317
+ case OpCodesConstants .MAKE_GENERIC :
2318
+ stackTop = infrequentBytecodes (virtualFrame , localFrame , bc , bci , stackTop , beginBci , oparg , localBC , globals , locals , localNames , localNodes , bciSlot , localCelloffset ,
2319
+ useCachedNodes );
2320
+ break ;
2321
+ default :
2322
+ throw raiseUnknownBytecodeError (bc );
2314
2323
}
2315
2324
// prepare next loop
2316
2325
oparg = 0 ;
@@ -2400,7 +2409,7 @@ private Object bytecodeLoop(VirtualFrame virtualFrame, Frame localFrame, Bytecod
2400
2409
}
2401
2410
}
2402
2411
2403
- private long infrequentBytecodes (VirtualFrame virtualFrame , Frame localFrame , byte bc , int bci , int stackTop , int beginBci , int oparg , byte [] localBC , Object globals , Object locals ,
2412
+ private int infrequentBytecodes (VirtualFrame virtualFrame , Frame localFrame , byte bc , int bci , int stackTop , int beginBci , int oparg , byte [] localBC , Object globals , Object locals ,
2404
2413
TruffleString [] localNames , Node [] localNodes , int bciSlot , int localCelloffset , boolean useCachedNodes ) {
2405
2414
switch (bc ) {
2406
2415
case OpCodesConstants .LOAD_LOCALS : {
@@ -2443,7 +2452,7 @@ private long infrequentBytecodes(VirtualFrame virtualFrame, Frame localFrame, by
2443
2452
throw raiseUnknownBytecodeError (bc );
2444
2453
2445
2454
}
2446
- return ( long ) stackTop << 32 | bci ;
2455
+ return stackTop ;
2447
2456
}
2448
2457
2449
2458
@ BytecodeInterpreterSwitch
0 commit comments