hotspot/src/share/vm/jvmci/jvmciCodeInstaller.hpp
changeset 33632 038347770a9e
parent 33160 c59f1676d27e
child 34153 cbcfa2a6fe0b
--- a/hotspot/src/share/vm/jvmci/jvmciCodeInstaller.hpp	Tue Nov 03 20:12:51 2015 +0300
+++ b/hotspot/src/share/vm/jvmci/jvmciCodeInstaller.hpp	Wed Nov 04 07:23:23 2015 -1000
@@ -107,10 +107,11 @@
     POLL_FAR                   = 13,
     POLL_RETURN_FAR            = 14,
     CARD_TABLE_ADDRESS         = 15,
-    HEAP_TOP_ADDRESS           = 16,
-    HEAP_END_ADDRESS           = 17,
-    NARROW_KLASS_BASE_ADDRESS  = 18,
-    CRC_TABLE_ADDRESS          = 19,
+    CARD_TABLE_SHIFT           = 16,
+    HEAP_TOP_ADDRESS           = 17,
+    HEAP_END_ADDRESS           = 18,
+    NARROW_KLASS_BASE_ADDRESS  = 19,
+    CRC_TABLE_ADDRESS          = 20,
     INVOKE_INVALID             = -1
   };
 
@@ -155,8 +156,8 @@
 
   jint pd_next_offset(NativeInstruction* inst, jint pc_offset, oop method);
   void pd_patch_OopConstant(int pc_offset, Handle& constant);
+  void pd_patch_MetaspaceConstant(int pc_offset, Handle& constant);
   void pd_patch_DataSectionReference(int pc_offset, int data_offset);
-  void pd_relocate_CodeBlob(CodeBlob* cb, NativeInstruction* inst);
   void pd_relocate_ForeignCall(NativeInstruction* inst, jlong foreign_call_destination);
   void pd_relocate_JavaMethod(oop method, jint pc_offset);
   void pd_relocate_poll(address pc, jint mark);
@@ -170,11 +171,10 @@
   objArrayOop comments() { return (objArrayOop) JNIHandles::resolve(_comments_handle); }
 #endif
 
-  void record_resolved(oop obj);
-
   oop word_kind() { return (oop) JNIHandles::resolve(_word_kind_handle); }
 
 public:
+
   CodeInstaller() : _arena(mtCompiler) {}
 
   JVMCIEnv::CodeInstallResult gather_metadata(Handle target, Handle& compiled_code, CodeMetadata& metadata);
@@ -191,6 +191,11 @@
   ScopeValue* get_scope_value(oop value, BasicType type, GrowableArray<ScopeValue*>* objects, ScopeValue* &second);
   MonitorValue* get_monitor_value(oop value, GrowableArray<ScopeValue*>* objects);
 
+  Metadata* record_metadata_reference(Handle& constant);
+#ifdef _LP64
+  narrowKlass record_narrow_metadata_reference(Handle& constant);
+#endif
+
   // extract the fields of the CompilationResult
   void initialize_fields(oop target, oop target_method);
   void initialize_dependencies(oop target_method, OopRecorder* oop_recorder);