changeset 7936:c6c72de0537e

Remove setDeoptInfo functionality. Start getting rid of scratch register usages.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Tue, 05 Mar 2013 19:20:05 +0100
parents 0799a7efbe7b
children 29c2103630ef
files graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64DeoptimizationStub.java graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXDeoptimizationStub.java graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRegisterConfig.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java src/cpu/x86/vm/graalRuntime_x86.cpp src/share/vm/graal/graalCompilerToVM.cpp src/share/vm/graal/graalRuntime.cpp src/share/vm/runtime/deoptimization.cpp src/share/vm/runtime/thread.cpp src/share/vm/runtime/thread.hpp
diffstat 20 files changed, 21 insertions(+), 92 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64DeoptimizationStub.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64DeoptimizationStub.java	Tue Mar 05 19:20:05 2013 +0100
@@ -22,8 +22,6 @@
  */
 package com.oracle.graal.compiler.amd64;
 
-import java.util.*;
-
 import com.oracle.graal.api.code.*;
 import com.oracle.graal.api.code.RuntimeCallTarget.*;
 import com.oracle.graal.api.meta.*;
@@ -32,40 +30,26 @@
 import com.oracle.graal.lir.*;
 import com.oracle.graal.lir.amd64.*;
 import com.oracle.graal.lir.asm.*;
-import com.oracle.graal.phases.*;
 
 public class AMD64DeoptimizationStub extends AMD64Code {
 
     public static final Descriptor DEOPTIMIZE = new Descriptor("deoptimize", true, void.class);
-    public static final Descriptor SET_DEOPT_INFO = new Descriptor("setDeoptInfo", true, void.class, Object.class);
 
     public final Label label = new Label();
     public final LIRFrameState info;
     public final DeoptimizationAction action;
     public final DeoptimizationReason reason;
-    public final Object deoptInfo;
 
-    public AMD64DeoptimizationStub(DeoptimizationAction action, DeoptimizationReason reason, LIRFrameState info, Object deoptInfo) {
+    public AMD64DeoptimizationStub(DeoptimizationAction action, DeoptimizationReason reason, LIRFrameState info) {
         this.action = action;
         this.reason = reason;
         this.info = info;
-        this.deoptInfo = deoptInfo;
     }
 
-    private static ArrayList<Object> keepAlive = new ArrayList<>();
-
     @Override
     public void emitCode(TargetMethodAssembler tasm, AMD64MacroAssembler masm) {
         Register scratch = tasm.frameMap.registerConfig.getScratchRegister();
-
         masm.bind(label);
-        if (GraalOptions.CreateDeoptInfo && deoptInfo != null) {
-            masm.nop();
-            keepAlive.add(deoptInfo.toString());
-            AMD64Move.move(tasm, masm, scratch.asValue(), Constant.forObject(deoptInfo));
-            AMD64Call.directCall(tasm, masm, tasm.runtime.lookupRuntimeCall(SET_DEOPT_INFO), info);
-        }
-
         masm.movl(scratch, tasm.runtime.encodeDeoptActionAndReason(action, reason));
         AMD64Call.directCall(tasm, masm, tasm.runtime.lookupRuntimeCall(DEOPTIMIZE), info);
         AMD64Call.shouldNotReachHere(tasm, masm);
--- a/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java	Tue Mar 05 19:20:05 2013 +0100
@@ -756,16 +756,16 @@
     }
 
     @Override
-    public void emitDeoptimizeOnOverflow(DeoptimizationAction action, DeoptimizationReason reason, Object deoptInfo) {
+    public void emitDeoptimizeOnOverflow(DeoptimizationAction action, DeoptimizationReason reason) {
         LIRFrameState info = state();
-        LabelRef stubEntry = createDeoptStub(action, reason, info, deoptInfo);
+        LabelRef stubEntry = createDeoptStub(action, reason, info);
         append(new BranchOp(ConditionFlag.Overflow, stubEntry, info));
     }
 
     @Override
-    public void emitDeoptimize(DeoptimizationAction action, DeoptimizationReason reason, Object deoptInfo) {
+    public void emitDeoptimize(DeoptimizationAction action, DeoptimizationReason reason) {
         LIRFrameState info = state();
-        LabelRef stubEntry = createDeoptStub(action, reason, info, deoptInfo);
+        LabelRef stubEntry = createDeoptStub(action, reason, info);
         append(new JumpOp(stubEntry, info));
     }
 
@@ -889,9 +889,9 @@
     }
 
     @Override
-    protected LabelRef createDeoptStub(DeoptimizationAction action, DeoptimizationReason reason, LIRFrameState info, Object deoptInfo) {
+    protected LabelRef createDeoptStub(DeoptimizationAction action, DeoptimizationReason reason, LIRFrameState info) {
         assert info.topFrame.getBCI() >= 0 : "invalid bci for deopt framestate";
-        AMD64DeoptimizationStub stub = new AMD64DeoptimizationStub(action, reason, info, deoptInfo);
+        AMD64DeoptimizationStub stub = new AMD64DeoptimizationStub(action, reason, info);
         lir.stubs.add(stub);
         return LabelRef.forLabel(stub.label);
     }
--- a/graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXDeoptimizationStub.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXDeoptimizationStub.java	Tue Mar 05 19:20:05 2013 +0100
@@ -40,13 +40,11 @@
     public final LIRFrameState info;
     public final DeoptimizationAction action;
     public final DeoptimizationReason reason;
-    public final Object deoptInfo;
 
-    public PTXDeoptimizationStub(DeoptimizationAction action, DeoptimizationReason reason, LIRFrameState info, Object deoptInfo) {
+    public PTXDeoptimizationStub(DeoptimizationAction action, DeoptimizationReason reason, LIRFrameState info) {
         this.action = action;
         this.reason = reason;
         this.info = info;
-        this.deoptInfo = deoptInfo;
     }
 
     @Override
--- a/graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java	Tue Mar 05 19:20:05 2013 +0100
@@ -336,12 +336,12 @@
     }
 
     @Override
-    public void emitDeoptimizeOnOverflow(DeoptimizationAction action, DeoptimizationReason reason, Object deoptInfo) {
+    public void emitDeoptimizeOnOverflow(DeoptimizationAction action, DeoptimizationReason reason) {
         throw new InternalError("NYI");
     }
 
     @Override
-    public void emitDeoptimize(DeoptimizationAction action, DeoptimizationReason reason, Object deoptInfo) {
+    public void emitDeoptimize(DeoptimizationAction action, DeoptimizationReason reason) {
         throw new InternalError("NYI");
     }
 
@@ -440,9 +440,9 @@
     }
 
     @Override
-    protected LabelRef createDeoptStub(DeoptimizationAction action, DeoptimizationReason reason, LIRFrameState info, Object deoptInfo) {
+    protected LabelRef createDeoptStub(DeoptimizationAction action, DeoptimizationReason reason, LIRFrameState info) {
         assert info.topFrame.getBCI() >= 0 : "invalid bci for deopt framestate";
-        PTXDeoptimizationStub stub = new PTXDeoptimizationStub(action, reason, info, deoptInfo);
+        PTXDeoptimizationStub stub = new PTXDeoptimizationStub(action, reason, info);
         lir.stubs.add(stub);
         return LabelRef.forLabel(stub.label);
     }
--- a/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java	Tue Mar 05 19:20:05 2013 +0100
@@ -112,7 +112,7 @@
     }
 
     @Override
-    protected LabelRef createDeoptStub(DeoptimizationAction action, DeoptimizationReason reason, LIRFrameState info, Object deoptInfo) {
+    protected LabelRef createDeoptStub(DeoptimizationAction action, DeoptimizationReason reason, LIRFrameState info) {
         // SPARC: Auto-generated method stub
         return null;
     }
@@ -334,13 +334,13 @@
     }
 
     @Override
-    public void emitDeoptimizeOnOverflow(DeoptimizationAction action, DeoptimizationReason reason, Object deoptInfo) {
+    public void emitDeoptimizeOnOverflow(DeoptimizationAction action, DeoptimizationReason reason) {
         // SPARC: Auto-generated method stub
 
     }
 
     @Override
-    public void emitDeoptimize(DeoptimizationAction action, DeoptimizationReason reason, Object deoptInfo) {
+    public void emitDeoptimize(DeoptimizationAction action, DeoptimizationReason reason) {
         // SPARC: Auto-generated method stub
 
     }
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java	Tue Mar 05 19:20:05 2013 +0100
@@ -596,7 +596,7 @@
         } else {
             // Fall back to a normal branch.
             LIRFrameState info = state();
-            LabelRef stubEntry = createDeoptStub(action, deoptReason, info, comp);
+            LabelRef stubEntry = createDeoptStub(action, deoptReason, info);
             if (negated) {
                 emitBranch(comp, stubEntry, null, info);
             } else {
@@ -759,7 +759,7 @@
         return result;
     }
 
-    protected abstract LabelRef createDeoptStub(DeoptimizationAction action, DeoptimizationReason reason, LIRFrameState info, Object deoptInfo);
+    protected abstract LabelRef createDeoptStub(DeoptimizationAction action, DeoptimizationReason reason, LIRFrameState info);
 
     @Override
     public Variable emitCall(RuntimeCallTarget callTarget, CallingConvention cc, boolean canTrap, Value... args) {
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRegisterConfig.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRegisterConfig.java	Tue Mar 05 19:20:05 2013 +0100
@@ -209,8 +209,7 @@
         String res = String.format(
              "Allocatable: " + Arrays.toString(getAllocatableRegisters()) + "%n" +
              "CallerSave:  " + Arrays.toString(getCallerSaveRegisters()) + "%n" +
-             "CalleeSave:  " + getCalleeSaveLayout() + "%n" +
-             "Scratch:     " + getScratchRegister() + "%n");
+             "CalleeSave:  " + getCalleeSaveLayout() + "%n");
         return res;
     }
 }
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java	Tue Mar 05 19:20:05 2013 +0100
@@ -60,11 +60,6 @@
                 /*           temps */ null,
                 /*             ret */ ret(Kind.Void));
 
-        addRuntimeCall(SET_DEOPT_INFO, config.setDeoptInfoStub,
-                /*           temps */ null,
-                /*             ret */ ret(Kind.Void),
-                /* arg0:      info */ scratch(Kind.Object));
-
         addRuntimeCall(DEBUG, config.debugStub,
                 /*           temps */ null,
                 /*             ret */ ret(Kind.Void));
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java	Tue Mar 05 19:20:05 2013 +0100
@@ -320,7 +320,6 @@
     public long unwindExceptionStub;
     public long osrMigrationEndStub;
     public long registerFinalizerStub;
-    public long setDeoptInfoStub;
     public long createNullPointerExceptionStub;
     public long createOutOfBoundsExceptionStub;
     public long javaTimeMillisStub;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java	Tue Mar 05 19:20:05 2013 +0100
@@ -196,10 +196,6 @@
         return result;
     }
 
-    protected Value scratch(Kind kind) {
-        return globalStubRegConfig.getScratchRegister().asValue(kind);
-    }
-
     public HotSpotRuntime(HotSpotVMConfig config, HotSpotGraalRuntime graalRuntime) {
         this.config = config;
         this.graalRuntime = graalRuntime;
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java	Tue Mar 05 19:20:05 2013 +0100
@@ -1026,7 +1026,6 @@
         Kind resultType = targetMethod.getSignature().getReturnKind();
         if (GraalOptions.DeoptALot) {
             DeoptimizeNode deoptimize = currentGraph.add(new DeoptimizeNode(DeoptimizationAction.None, DeoptimizationReason.RuntimeConstraint));
-            deoptimize.setMessage(targetMethod.getName());
             append(deoptimize);
             frameState.pushReturn(resultType, ConstantNode.defaultForKind(resultType, currentGraph));
             return;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java	Tue Mar 05 19:20:05 2013 +0100
@@ -31,7 +31,6 @@
 @NodeInfo(shortName = "Deopt", nameTemplate = "Deopt {p#reason/s}")
 public class DeoptimizeNode extends FixedNode implements Node.IterableNodeType, LIRLowerable {
 
-    private String message;
     private final DeoptimizationAction action;
     private final DeoptimizationReason reason;
 
@@ -41,14 +40,6 @@
         this.reason = reason;
     }
 
-    public void setMessage(String message) {
-        this.message = message;
-    }
-
-    public String message() {
-        return message;
-    }
-
     public DeoptimizationAction action() {
         return action;
     }
@@ -59,7 +50,7 @@
 
     @Override
     public void generate(LIRGeneratorTool gen) {
-        gen.emitDeoptimize(action, reason, message);
+        gen.emitDeoptimize(action, reason);
     }
 
     @NodeIntrinsic
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java	Tue Mar 05 19:20:05 2013 +0100
@@ -97,9 +97,9 @@
 
     public abstract void emitMembar(int barriers);
 
-    public abstract void emitDeoptimizeOnOverflow(DeoptimizationAction action, DeoptimizationReason reason, Object deoptInfo);
+    public abstract void emitDeoptimizeOnOverflow(DeoptimizationAction action, DeoptimizationReason reason);
 
-    public abstract void emitDeoptimize(DeoptimizationAction action, DeoptimizationReason reason, Object deoptInfo);
+    public abstract void emitDeoptimize(DeoptimizationAction action, DeoptimizationReason reason);
 
     public abstract Value emitCall(RuntimeCallTarget callTarget, CallingConvention cc, boolean canTrap, Value... args);
 
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java	Tue Mar 05 19:00:23 2013 +0100
+++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java	Tue Mar 05 19:20:05 2013 +0100
@@ -109,7 +109,6 @@
     public static boolean ZapStackOnMethodEntry              = ____;
     public static boolean DeoptALot                          = ____;
     public static boolean VerifyPhases                       = true;
-    public static boolean CreateDeoptInfo                    = ____;
 
     public static String  PrintFilter                        = null;
 
--- a/src/cpu/x86/vm/graalRuntime_x86.cpp	Tue Mar 05 19:00:23 2013 +0100
+++ b/src/cpu/x86/vm/graalRuntime_x86.cpp	Tue Mar 05 19:20:05 2013 +0100
@@ -1029,12 +1029,6 @@
       break;
     }
 
-    case set_deopt_info_id: {
-    __ movptr(Address(r15_thread, JavaThread::graal_deopt_info_offset()), rscratch1);
-    __ ret(0);
-      break;
-    }
-
     case create_null_pointer_exception_id: {
 		__ enter();
 		oop_maps = new OopMapSet();
--- a/src/share/vm/graal/graalCompilerToVM.cpp	Tue Mar 05 19:00:23 2013 +0100
+++ b/src/share/vm/graal/graalCompilerToVM.cpp	Tue Mar 05 19:20:05 2013 +0100
@@ -724,7 +724,6 @@
   set_stub("unwindExceptionStub", GraalRuntime::entry_for(GraalRuntime::unwind_exception_call_id));
   set_stub("osrMigrationEndStub", GraalRuntime::entry_for(GraalRuntime::OSR_migration_end_id));
   set_stub("registerFinalizerStub", GraalRuntime::entry_for(GraalRuntime::register_finalizer_id));
-  set_stub("setDeoptInfoStub", GraalRuntime::entry_for(GraalRuntime::set_deopt_info_id));
   set_stub("createNullPointerExceptionStub", GraalRuntime::entry_for(GraalRuntime::create_null_pointer_exception_id));
   set_stub("createOutOfBoundsExceptionStub", GraalRuntime::entry_for(GraalRuntime::create_out_of_bounds_exception_id));
   set_stub("javaTimeMillisStub", CAST_FROM_FN_PTR(address, os::javaTimeMillis));
--- a/src/share/vm/graal/graalRuntime.cpp	Tue Mar 05 19:00:23 2013 +0100
+++ b/src/share/vm/graal/graalRuntime.cpp	Tue Mar 05 19:20:05 2013 +0100
@@ -136,7 +136,6 @@
     case OSR_migration_end_id:
     case arithmetic_frem_id:
     case arithmetic_drem_id:
-    case set_deopt_info_id:
       break;
 
     // All other stubs should have oopmaps
--- a/src/share/vm/runtime/deoptimization.cpp	Tue Mar 05 19:00:23 2013 +0100
+++ b/src/share/vm/runtime/deoptimization.cpp	Tue Mar 05 19:20:05 2013 +0100
@@ -1312,20 +1312,6 @@
     
     if (TraceDeoptimization) {
       tty->print_cr("  bci=%d pc=%d, relative_pc=%d, method=%s", trap_scope->bci(), fr.pc(), fr.pc() - nm->code_begin(), trap_scope->method()->name()->as_C_string());
-#ifdef GRAAL
-      if (thread->graal_deopt_info() != NULL) {
-        oop deopt_info = thread->graal_deopt_info();
-        if (java_lang_String::is_instance(deopt_info)) {
-          char buf[O_BUFLEN];
-          java_lang_String::as_utf8_string(deopt_info, buf, O_BUFLEN);
-          tty->print_cr("deopt info: %s", buf);
-        } else {
-          tty->print_cr("deopt info:");
-          deopt_info->print();
-        }
-        thread->set_graal_deopt_info(NULL);
-      }
-#endif
     }
 
     methodHandle    trap_method = trap_scope->method();
--- a/src/share/vm/runtime/thread.cpp	Tue Mar 05 19:00:23 2013 +0100
+++ b/src/share/vm/runtime/thread.cpp	Tue Mar 05 19:20:05 2013 +0100
@@ -1439,7 +1439,6 @@
   _doing_unsafe_access = false;
   _stack_guard_state = stack_guard_unused;
 #ifdef GRAAL
-  _graal_deopt_info = NULL;
   _graal_alternate_call_target = NULL;
   _debug_scope = NULL;
 #endif
@@ -2776,9 +2775,6 @@
   // around using this function
   f->do_oop((oop*) &_threadObj);
   f->do_oop((oop*) &_vm_result);
-#ifdef GRAAL
-  f->do_oop((oop*) &_graal_deopt_info);
-#endif
   f->do_oop((oop*) &_exception_oop);
   f->do_oop((oop*) &_pending_async_exception);
 
--- a/src/share/vm/runtime/thread.hpp	Tue Mar 05 19:00:23 2013 +0100
+++ b/src/share/vm/runtime/thread.hpp	Tue Mar 05 19:20:05 2013 +0100
@@ -903,7 +903,6 @@
  private:
 
 #ifdef GRAAL
-  volatile oop _graal_deopt_info;
   address _graal_alternate_call_target;
   DebugScopedValue* _debug_scope;
 #endif
@@ -1282,9 +1281,6 @@
   void set_deferred_card_mark(MemRegion mr)      { _deferred_card_mark = mr;   }
 
 #ifdef GRAAL
-  oop      graal_deopt_info() const              { return _graal_deopt_info; }
-  void set_graal_deopt_info(oop o)               { _graal_deopt_info = o; }
-  
   void set_graal_alternate_call_target(address a) { _graal_alternate_call_target = a; }
 
   DebugScopedValue* debug_scope() const                { return _debug_scope; }
@@ -1375,7 +1371,6 @@
   static ByteSize saved_exception_pc_offset()    { return byte_offset_of(JavaThread, _saved_exception_pc  ); }
   static ByteSize osthread_offset()              { return byte_offset_of(JavaThread, _osthread            ); }
 #ifdef GRAAL
-  static ByteSize graal_deopt_info_offset()      { return byte_offset_of(JavaThread, _graal_deopt_info    ); }
   static ByteSize graal_alternate_call_target_offset() { return byte_offset_of(JavaThread, _graal_alternate_call_target); }
 #endif
 #ifdef HIGH_LEVEL_INTERPRETER