Search in sources :

Example 76 with StaticObject

use of com.oracle.truffle.espresso.runtime.StaticObject in project graal by oracle.

the class DoubleArrayLoadQuickNode method execute.

@Override
public int execute(VirtualFrame frame) {
    int index = BytecodeNode.popInt(frame, top - 1);
    StaticObject array = nullCheck(BytecodeNode.popObject(frame, top - 2));
    BytecodeNode.putDouble(frame, top - 2, doubleArrayLoad.execute(array, index));
    return stackEffectOf_DALOAD;
}
Also used : StaticObject(com.oracle.truffle.espresso.runtime.StaticObject)

Example 77 with StaticObject

use of com.oracle.truffle.espresso.runtime.StaticObject in project graal by oracle.

the class DoubleArrayStoreQuickNode method execute.

@Override
public int execute(VirtualFrame frame) {
    double value = BytecodeNode.popDouble(frame, top - 1);
    int index = BytecodeNode.popInt(frame, top - 3);
    StaticObject array = nullCheck(BytecodeNode.popObject(frame, top - 4));
    doubleArrayStore.execute(array, index, value);
    return stackEffectOf_DASTORE;
}
Also used : StaticObject(com.oracle.truffle.espresso.runtime.StaticObject)

Example 78 with StaticObject

use of com.oracle.truffle.espresso.runtime.StaticObject in project graal by oracle.

the class FloatArrayStoreQuickNode method execute.

@Override
public int execute(VirtualFrame frame) {
    float value = BytecodeNode.popFloat(frame, top - 1);
    int index = BytecodeNode.popInt(frame, top - 2);
    StaticObject array = nullCheck(BytecodeNode.popObject(frame, top - 3));
    floatArrayStore.execute(array, index, value);
    return stackEffectOf_FASTORE;
}
Also used : StaticObject(com.oracle.truffle.espresso.runtime.StaticObject)

Example 79 with StaticObject

use of com.oracle.truffle.espresso.runtime.StaticObject in project graal by oracle.

the class LongArrayLoadQuickNode method execute.

@Override
public int execute(VirtualFrame frame) {
    int index = BytecodeNode.popInt(frame, top - 1);
    StaticObject array = nullCheck(BytecodeNode.popObject(frame, top - 2));
    BytecodeNode.putLong(frame, top - 2, longArrayLoad.execute(array, index));
    return stackEffectOf_LALOAD;
}
Also used : StaticObject(com.oracle.truffle.espresso.runtime.StaticObject)

Example 80 with StaticObject

use of com.oracle.truffle.espresso.runtime.StaticObject in project graal by oracle.

the class QuickenedGetFieldNode method execute.

@Override
public int execute(VirtualFrame frame) {
    BytecodeNode root = getBytecodeNode();
    StaticObject receiver = nullCheck(BytecodeNode.popObject(frame, top - 1));
    // -receiver
    return getFieldNode.getField(frame, root, receiver, top - 1, statementIndex) - 1;
}
Also used : StaticObject(com.oracle.truffle.espresso.runtime.StaticObject) BytecodeNode(com.oracle.truffle.espresso.nodes.BytecodeNode)

Aggregations

StaticObject (com.oracle.truffle.espresso.runtime.StaticObject)199 Method (com.oracle.truffle.espresso.impl.Method)57 JavaType (com.oracle.truffle.espresso.substitutions.JavaType)44 Klass (com.oracle.truffle.espresso.impl.Klass)32 ObjectKlass (com.oracle.truffle.espresso.impl.ObjectKlass)32 TruffleObject (com.oracle.truffle.api.interop.TruffleObject)30 Meta (com.oracle.truffle.espresso.meta.Meta)29 TruffleBoundary (com.oracle.truffle.api.CompilerDirectives.TruffleBoundary)26 ArrayKlass (com.oracle.truffle.espresso.impl.ArrayKlass)23 NoSafepoint (com.oracle.truffle.espresso.jni.NoSafepoint)17 ArrayList (java.util.ArrayList)13 EspressoException (com.oracle.truffle.espresso.runtime.EspressoException)9 Symbol (com.oracle.truffle.espresso.descriptors.Symbol)8 FrameInstance (com.oracle.truffle.api.frame.FrameInstance)7 ExportMessage (com.oracle.truffle.api.library.ExportMessage)7 BytecodeNode (com.oracle.truffle.espresso.nodes.BytecodeNode)7 TruffleSafepoint (com.oracle.truffle.api.TruffleSafepoint)6 Name (com.oracle.truffle.espresso.descriptors.Symbol.Name)6 EspressoContext (com.oracle.truffle.espresso.runtime.EspressoContext)6 Type (com.oracle.truffle.espresso.descriptors.Symbol.Type)5