changeset 13306:dfb780080923

moved most CompilerToVM.getLocalVariableTable to Java
author twisti
date Thu, 12 Dec 2013 14:56:52 -0800
parents a63d65b682a8
children c9dd3d5000e8 3603fab248a6 69d2e4baa215
files graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompiler.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/debug/LocalImpl.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java src/share/vm/classfile/systemDictionary.hpp src/share/vm/classfile/vmSymbols.hpp src/share/vm/graal/graalCompilerToVM.cpp src/share/vm/graal/graalVMToCompiler.cpp src/share/vm/graal/graalVMToCompiler.hpp
diffstat 12 files changed, 101 insertions(+), 86 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java	Wed Dec 11 20:42:50 2013 -0800
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java	Thu Dec 12 14:56:52 2013 -0800
@@ -867,12 +867,15 @@
      */
     @Stable public int extraStackEntries;
 
+    @HotSpotVMField(name = "ConstMethod::_constants", type = "ConstantPool*", get = HotSpotVMField.Type.OFFSET) @Stable public int constMethodConstantsOffset;
+    @HotSpotVMField(name = "ConstMethod::_flags", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int constMethodFlagsOffset;
     @HotSpotVMField(name = "ConstMethod::_code_size", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int constMethodCodeSizeOffset;
     @HotSpotVMField(name = "ConstMethod::_name_index", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int constMethodNameIndexOffset;
     @HotSpotVMField(name = "ConstMethod::_signature_index", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int constMethodSignatureIndexOffset;
     @HotSpotVMField(name = "ConstMethod::_max_stack", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int constMethodMaxStackOffset;
     @HotSpotVMField(name = "ConstMethod::_max_locals", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int methodMaxLocalsOffset;
-    @HotSpotVMField(name = "ConstMethod::_constants", type = "ConstantPool*", get = HotSpotVMField.Type.OFFSET) @Stable public int constMethodConstantsOffset;
+
+    @HotSpotVMConstant(name = "ConstMethod::_has_localvariable_table") @Stable public int constMethodHasLocalVariableTable;
 
     @HotSpotVMType(name = "ExceptionTableElement", get = HotSpotVMType.Type.SIZE) @Stable public int exceptionTableElementSize;
     @HotSpotVMField(name = "ExceptionTableElement::start_pc", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int exceptionTableElementStartPcOffset;
@@ -880,6 +883,14 @@
     @HotSpotVMField(name = "ExceptionTableElement::handler_pc", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int exceptionTableElementHandlerPcOffset;
     @HotSpotVMField(name = "ExceptionTableElement::catch_type_index", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int exceptionTableElementCatchTypeIndexOffset;
 
+    @HotSpotVMType(name = "LocalVariableTableElement", get = HotSpotVMType.Type.SIZE) @Stable public int localVariableTableElementSize;
+    @HotSpotVMField(name = "LocalVariableTableElement::start_bci", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int localVariableTableElementStartBciOffset;
+    @HotSpotVMField(name = "LocalVariableTableElement::length", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int localVariableTableElementLengthOffset;
+    @HotSpotVMField(name = "LocalVariableTableElement::name_cp_index", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int localVariableTableElementNameCpIndexOffset;
+    @HotSpotVMField(name = "LocalVariableTableElement::descriptor_cp_index", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int localVariableTableElementDescriptorCpIndexOffset;
+    @HotSpotVMField(name = "LocalVariableTableElement::signature_cp_index", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int localVariableTableElementSignatureCpIndexOffset;
+    @HotSpotVMField(name = "LocalVariableTableElement::slot", type = "u2", get = HotSpotVMField.Type.OFFSET) @Stable public int localVariableTableElementSlotOffset;
+
     @HotSpotVMType(name = "ConstantPool", get = HotSpotVMType.Type.SIZE) @Stable public int constantPoolSize;
     @HotSpotVMField(name = "ConstantPool::_tags", type = "Array<u1>*", get = HotSpotVMField.Type.OFFSET) @Stable public int constantPoolTagsOffset;
     @HotSpotVMField(name = "ConstantPool::_pool_holder", type = "InstanceKlass*", get = HotSpotVMField.Type.OFFSET) @Stable public int constantPoolHolderOffset;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java	Wed Dec 11 20:42:50 2013 -0800
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java	Thu Dec 12 14:56:52 2013 -0800
@@ -233,7 +233,9 @@
 
     long[] getLineNumberTable(HotSpotResolvedJavaMethod method);
 
-    Local[] getLocalVariableTable(HotSpotResolvedJavaMethod method);
+    long getLocalVariableTableStart(HotSpotResolvedJavaMethod method);
+
+    int getLocalVariableTableLength(HotSpotResolvedJavaMethod method);
 
     String getFileName(HotSpotResolvedJavaType method);
 
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java	Wed Dec 11 20:42:50 2013 -0800
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java	Thu Dec 12 14:56:52 2013 -0800
@@ -123,7 +123,10 @@
     public native long[] getLineNumberTable(HotSpotResolvedJavaMethod method);
 
     @Override
-    public native Local[] getLocalVariableTable(HotSpotResolvedJavaMethod method);
+    public native long getLocalVariableTableStart(HotSpotResolvedJavaMethod method);
+
+    @Override
+    public native int getLocalVariableTableLength(HotSpotResolvedJavaMethod method);
 
     @Override
     public native String getFileName(HotSpotResolvedJavaType method);
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompiler.java	Wed Dec 11 20:42:50 2013 -0800
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompiler.java	Thu Dec 12 14:56:52 2013 -0800
@@ -26,8 +26,6 @@
 import java.io.*;
 
 import com.oracle.graal.api.meta.*;
-import com.oracle.graal.hotspot.debug.*;
-import com.oracle.graal.hotspot.meta.*;
 
 /**
  * Calls from HotSpot into Java.
@@ -72,6 +70,4 @@
      *         type
      */
     ResolvedJavaType createResolvedJavaType(long metaspaceKlass, String name, String simpleName, Class javaMirror, int sizeOrSpecies);
-
-    LocalImpl createLocalImpl(String name, String type, HotSpotResolvedObjectType holder, int bciStart, int bciEnd, int slot);
 }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java	Wed Dec 11 20:42:50 2013 -0800
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java	Thu Dec 12 14:56:52 2013 -0800
@@ -652,11 +652,6 @@
         return type;
     }
 
-    @Override
-    public LocalImpl createLocalImpl(String name, String type, HotSpotResolvedObjectType holder, int bciStart, int bciEnd, int slot) {
-        return new LocalImpl(name, type, holder, bciStart, bciEnd, slot);
-    }
-
     public PhasePlan createPhasePlan(HotSpotProviders providers, OptimisticOptimizations optimisticOpts, boolean onStackReplacement) {
         PhasePlan phasePlan = new PhasePlan();
         MetaAccessProvider metaAccess = providers.getMetaAccess();
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/debug/LocalImpl.java	Wed Dec 11 20:42:50 2013 -0800
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/debug/LocalImpl.java	Thu Dec 12 14:56:52 2013 -0800
@@ -30,15 +30,15 @@
 public class LocalImpl implements Local {
 
     private final String name;
-    private final int bciStart;
-    private final int bciEnd;
+    private final int startBci;
+    private final int endBci;
     private final int slot;
     private final ResolvedJavaType resolvedType;
 
-    public LocalImpl(String name, String type, HotSpotResolvedObjectType holder, int bciStart, int bciEnd, int slot) {
+    public LocalImpl(String name, String type, HotSpotResolvedObjectType holder, int startBci, int endBci, int slot) {
         this.name = name;
-        this.bciStart = bciStart;
-        this.bciEnd = bciEnd;
+        this.startBci = startBci;
+        this.endBci = endBci;
         this.slot = slot;
         JavaType t = runtime().lookupType(type, holder, true);
         if (t instanceof ResolvedJavaType) {
@@ -50,12 +50,12 @@
 
     @Override
     public int getStartBCI() {
-        return bciStart;
+        return startBci;
     }
 
     @Override
     public int getEndBCI() {
-        return bciEnd;
+        return endBci;
     }
 
     @Override
@@ -72,4 +72,23 @@
     public int getSlot() {
         return slot;
     }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (!(obj instanceof LocalImpl)) {
+            return false;
+        }
+        LocalImpl that = (LocalImpl) obj;
+        return this.name.equals(that.name) && this.startBci == that.startBci && this.endBci == that.endBci && this.slot == that.slot && this.resolvedType.equals(that.resolvedType);
+    }
+
+    @Override
+    public int hashCode() {
+        return super.hashCode();
+    }
+
+    @Override
+    public String toString() {
+        return "LocalImpl<name=" + name + ", resolvedType=" + resolvedType + ", startBci=" + startBci + ", endBci=" + endBci + ", slot=" + slot + ">";
+    }
 }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java	Wed Dec 11 20:42:50 2013 -0800
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java	Thu Dec 12 14:56:52 2013 -0800
@@ -131,6 +131,15 @@
         return unsafe.getAddress(metaspaceMethod + runtime().getConfig().methodConstMethodOffset);
     }
 
+    /**
+     * Returns this method's constant method flags ({@code ConstMethod::_flags}).
+     * 
+     * @return flags of this method's ConstMethod
+     */
+    private long getConstMethodFlags() {
+        return unsafe.getChar(getConstMethod() + runtime().getConfig().constMethodFlagsOffset);
+    }
+
     @Override
     public ResolvedJavaType getDeclaringClass() {
         return holder;
@@ -512,12 +521,42 @@
         return new LineNumberTableImpl(line, bci);
     }
 
+    /**
+     * Returns whether or not this method has a local variable table.
+     * 
+     * @return true if this method has a local variable table
+     */
+    private boolean hasLocalVariableTable() {
+        return (getConstMethodFlags() & runtime().getConfig().constMethodHasLocalVariableTable) != 0;
+    }
+
     @Override
     public LocalVariableTable getLocalVariableTable() {
-        Local[] locals = runtime().getCompilerToVM().getLocalVariableTable(this);
-        if (locals == null) {
+        if (!hasLocalVariableTable()) {
             return null;
         }
+
+        HotSpotVMConfig config = runtime().getConfig();
+        long localVariableTableElement = runtime().getCompilerToVM().getLocalVariableTableStart(this);
+        final int localVariableTableLength = runtime().getCompilerToVM().getLocalVariableTableLength(this);
+        Local[] locals = new Local[localVariableTableLength];
+
+        for (int i = 0; i < localVariableTableLength; i++) {
+            final int startBci = unsafe.getChar(localVariableTableElement + config.localVariableTableElementStartBciOffset);
+            final int endBci = startBci + unsafe.getChar(localVariableTableElement + config.localVariableTableElementLengthOffset);
+            final int nameCpIndex = unsafe.getChar(localVariableTableElement + config.localVariableTableElementNameCpIndexOffset);
+            final int typeCpIndex = unsafe.getChar(localVariableTableElement + config.localVariableTableElementDescriptorCpIndexOffset);
+            final int slot = unsafe.getChar(localVariableTableElement + config.localVariableTableElementSlotOffset);
+
+            String localName = getConstantPool().lookupUtf8(nameCpIndex);
+            String localType = getConstantPool().lookupUtf8(typeCpIndex);
+
+            locals[i] = new LocalImpl(localName, localType, holder, startBci, endBci, slot);
+
+            // Go to the next LocalVariableTableElement
+            localVariableTableElement += config.localVariableTableElementSize;
+        }
+
         return new LocalVariableTableImpl(locals);
     }
 
@@ -541,6 +580,11 @@
         return getVtableIndex() >= 0;
     }
 
+    /**
+     * Returns this method's virtual table index.
+     * 
+     * @return virtual table index
+     */
     private int getVtableIndex() {
         HotSpotVMConfig config = runtime().getConfig();
         return unsafe.getInt(metaspaceMethod + config.methodVtableIndexOffset);
--- a/src/share/vm/classfile/systemDictionary.hpp	Wed Dec 11 20:42:50 2013 -0800
+++ b/src/share/vm/classfile/systemDictionary.hpp	Thu Dec 12 14:56:52 2013 -0800
@@ -200,7 +200,6 @@
   do_klass(HotSpotResolvedJavaMethod_klass,       com_oracle_graal_hotspot_meta_HotSpotResolvedJavaMethod,      Opt) \
   do_klass(HotSpotResolvedObjectType_klass,       com_oracle_graal_hotspot_meta_HotSpotResolvedObjectType,      Opt) \
   do_klass(HotSpotMonitorValue_klass,             com_oracle_graal_hotspot_meta_HotSpotMonitorValue,            Opt) \
-  do_klass(LocalImpl_klass,                       com_oracle_graal_hotspot_debug_LocalImpl,                     Opt) \
   do_klass(CompilerThread_klass,                  com_oracle_graal_hotspot_CompilerThread,                      Opt) \
   /* graal.api.code */                                                                                               \
   do_klass(Assumptions_klass,                     com_oracle_graal_api_code_Assumptions,                        Opt) \
--- a/src/share/vm/classfile/vmSymbols.hpp	Wed Dec 11 20:42:50 2013 -0800
+++ b/src/share/vm/classfile/vmSymbols.hpp	Thu Dec 12 14:56:52 2013 -0800
@@ -312,7 +312,6 @@
   template(com_oracle_graal_hotspot_meta_HotSpotResolvedJavaMethod,  "com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod")       \
   template(com_oracle_graal_hotspot_meta_HotSpotResolvedObjectType,  "com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType")       \
   template(com_oracle_graal_hotspot_meta_HotSpotMonitorValue,        "com/oracle/graal/hotspot/meta/HotSpotMonitorValue")             \
-  template(com_oracle_graal_hotspot_debug_LocalImpl,                 "com/oracle/graal/hotspot/debug/LocalImpl")                      \
   template(com_oracle_graal_hotspot_CompilerThread,                  "com/oracle/graal/hotspot/CompilerThread")                       \
   /* graal.api.meta */                                                                                                                \
   template(com_oracle_graal_api_meta_Constant,                       "com/oracle/graal/api/meta/Constant")                            \
@@ -373,8 +372,6 @@
   template(createResolvedJavaType_signature,      "(JLjava/lang/String;Ljava/lang/String;Ljava/lang/Class;I)Lcom/oracle/graal/api/meta/ResolvedJavaType;") \
   template(createPrimitiveJavaType_name,          "createPrimitiveJavaType")                                                          \
   template(createPrimitiveJavaType_signature,     "(I)Lcom/oracle/graal/api/meta/JavaType;")                                          \
-  template(createLocalImpl_name,                  "createLocalImpl")                                                                  \
-  template(createLocalImpl_signature,             "(Ljava/lang/String;Ljava/lang/String;Lcom/oracle/graal/hotspot/meta/HotSpotResolvedObjectType;III)Lcom/oracle/graal/hotspot/debug/LocalImpl;") \
   template(getVMToCompiler_name,                  "getVMToCompiler")                                                                  \
   template(getVMToCompiler_signature,             "()Lcom/oracle/graal/hotspot/bridge/VMToCompiler;")                                 \
   template(runtime_name,                          "runtime")                                                                          \
--- a/src/share/vm/graal/graalCompilerToVM.cpp	Wed Dec 11 20:42:50 2013 -0800
+++ b/src/share/vm/graal/graalCompilerToVM.cpp	Thu Dec 12 14:56:52 2013 -0800
@@ -784,38 +784,20 @@
   return result;
 C2V_END
 
-C2V_VMENTRY(jobject, getLocalVariableTable, (JNIEnv *, jobject, jobject hotspot_method))
+C2V_VMENTRY(jlong, getLocalVariableTableStart, (JNIEnv *, jobject, jobject hotspot_method))
   ResourceMark rm;
-
   Method* method = getMethodFromHotSpotMethod(JNIHandles::resolve(hotspot_method));
   if (!method->has_localvariable_table()) {
-    return NULL;
+    return 0;
   }
-  int localvariable_table_length = method->localvariable_table_length();
-
-  objArrayHandle local_array = oopFactory::new_objArray(SystemDictionary::LocalImpl_klass(), localvariable_table_length, CHECK_NULL);
-  LocalVariableTableElement* table = method->localvariable_table_start();
-  for (int i = 0; i < localvariable_table_length; i++) {
-    u2 start_bci = table[i].start_bci;
-    u4 end_bci = (u4)(start_bci + table[i].length);
-    u2 nameCPIdx = table[i].name_cp_index;
-    u2 typeCPIdx = table[i].descriptor_cp_index;
-    u2 slot = table[i].slot;
-
-    char* name = method->constants()->symbol_at(nameCPIdx)->as_C_string();
-    Handle nameHandle = java_lang_String::create_from_str(name, CHECK_NULL);
-
-    char* typeInfo = method->constants()->symbol_at(typeCPIdx)->as_C_string();
-    Handle typeHandle = java_lang_String::create_from_str(typeInfo, CHECK_NULL);
-
-    Handle holderHandle = GraalCompiler::createHotSpotResolvedObjectType(method, CHECK_0);
-    Handle local = VMToCompiler::createLocal(nameHandle, typeHandle, (int) start_bci, (int) end_bci, (int) slot, holderHandle, Thread::current());
-    local_array->obj_at_put(i, local());
-  }
-
-  return JNIHandles::make_local(local_array());
+  return (jlong) (address) method->localvariable_table_start();
 C2V_END
 
+C2V_VMENTRY(jint, getLocalVariableTableLength, (JNIEnv *, jobject, jobject hotspot_method))
+  ResourceMark rm;
+  Method* method = getMethodFromHotSpotMethod(JNIHandles::resolve(hotspot_method));
+  return method->localvariable_table_length();
+C2V_END
 
 C2V_VMENTRY(void, reprofile, (JNIEnv *env, jobject, jlong metaspace_method))
   Method* method = asMethod(metaspace_method);
@@ -882,7 +864,6 @@
 #define CONSTANT_POOL         "Lcom/oracle/graal/api/meta/ConstantPool;"
 #define CONSTANT              "Lcom/oracle/graal/api/meta/Constant;"
 #define KIND                  "Lcom/oracle/graal/api/meta/Kind;"
-#define LOCAL                  "Lcom/oracle/graal/api/meta/Local;"
 #define RUNTIME_CALL          "Lcom/oracle/graal/api/code/RuntimeCall;"
 #define REFLECT_METHOD        "Ljava/lang/reflect/Method;"
 #define REFLECT_CONSTRUCTOR   "Ljava/lang/reflect/Constructor;"
@@ -932,7 +913,8 @@
   {CC"executeCompiledMethodVarargs",  CC"(["OBJECT HS_INSTALLED_CODE")"OBJECT,                          FN_PTR(executeCompiledMethodVarargs)},
   {CC"getDeoptedLeafGraphIds",        CC"()[J",                                                         FN_PTR(getDeoptedLeafGraphIds)},
   {CC"getLineNumberTable",            CC"("HS_RESOLVED_METHOD")[J",                                     FN_PTR(getLineNumberTable)},
-  {CC"getLocalVariableTable",         CC"("HS_RESOLVED_METHOD")["LOCAL,                                 FN_PTR(getLocalVariableTable)},
+  {CC"getLocalVariableTableStart",    CC"("HS_RESOLVED_METHOD")J",                                      FN_PTR(getLocalVariableTableStart)},
+  {CC"getLocalVariableTableLength",   CC"("HS_RESOLVED_METHOD")I",                                      FN_PTR(getLocalVariableTableLength)},
   {CC"reprofile",                     CC"("METASPACE_METHOD")V",                                        FN_PTR(reprofile)},
   {CC"invalidateInstalledCode",       CC"("HS_INSTALLED_CODE")V",                                       FN_PTR(invalidateInstalledCode)},
   {CC"readUnsafeUncompressedPointer", CC"("OBJECT"J)"OBJECT,                                            FN_PTR(readUnsafeUncompressedPointer)},
--- a/src/share/vm/graal/graalVMToCompiler.cpp	Wed Dec 11 20:42:50 2013 -0800
+++ b/src/share/vm/graal/graalVMToCompiler.cpp	Thu Dec 12 14:56:52 2013 -0800
@@ -254,21 +254,3 @@
   check_pending_exception("Error while calling createResolvedJavaType");
   return (oop) result.get_jobject();
 }
-
-oop VMToCompiler::createLocal(Handle name, Handle typeInfo, int bci_start, int bci_end, int slot, Handle holder, TRAPS) {
-  JavaValue result(T_OBJECT);
-  JavaCallArguments args;
-  args.push_oop(instance());
-  args.push_oop(name);
-  args.push_oop(typeInfo);
-  args.push_oop(holder);
-  args.push_int(bci_start);
-  args.push_int(bci_end);
-  args.push_int(slot);
-  JavaCalls::call_interface(&result, vmToCompilerKlass(), vmSymbols::createLocalImpl_name(), vmSymbols::createLocalImpl_signature(), &args, THREAD);
-  check_pending_exception("Error while calling createConstantFloat");
-  return (oop) result.get_jobject();
-
-}
-
-
--- a/src/share/vm/graal/graalVMToCompiler.hpp	Wed Dec 11 20:42:50 2013 -0800
+++ b/src/share/vm/graal/graalVMToCompiler.hpp	Thu Dec 12 14:56:52 2013 -0800
@@ -92,21 +92,6 @@
 
   // public abstract JavaType createPrimitiveJavaType(int basicType);
   static oop createPrimitiveJavaType(int basicType, TRAPS);
-
-  // public abstract Constant createConstant(Kind kind, long value);
-  static oop createConstant(Handle kind, jlong value, TRAPS);
-
-  // public abstract Constant createConstantFloat(float value);
-  static oop createConstantFloat(jfloat value, TRAPS);
-
-  // public abstract Constant createConstantDouble(double value);
-  static oop createConstantDouble(jdouble value, TRAPS);
-
-  // public abstract Constant createConstantObject(long vmId);
-  static oop createConstantObject(Handle object, TRAPS);
-
-  // public abstract Local createLocal(String name, int bci_start, int bci_end);
-  static oop createLocal(Handle name, Handle type, int bci_start, int bci_end, int slot, Handle holder, TRAPS);
 };
 
 inline void check_pending_exception(const char* message, bool dump_core = false) {