--- 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);