use of com.oracle.truffle.espresso.nodes.quick.interop.ArrayLengthQuickNode in project graal by oracle.
the class BytecodeNode method quickenArrayLength.
private int quickenArrayLength(VirtualFrame frame, int top, int curBCI) {
CompilerDirectives.transferToInterpreterAndInvalidate();
BaseQuickNode arrayLengthNode;
synchronized (this) {
if (bs.currentVolatileBC(curBCI) == SLIM_QUICK) {
arrayLengthNode = sparseNodes[curBCI];
} else {
arrayLengthNode = injectQuick(curBCI, new ArrayLengthQuickNode(top, curBCI), SLIM_QUICK);
}
}
return arrayLengthNode.execute(frame) - Bytecodes.stackEffectOf(ARRAYLENGTH);
}
Aggregations