comparison src/share/vm/graal/graalCodeInstaller.hpp @ 18176:c2270ad35f57

Better construction of data section and data patches.
author Roland Schatz <roland.schatz@oracle.com>
date Mon, 27 Oct 2014 14:07:49 +0100
parents 8c079b8d0446
children a8cff27ca2e1
comparison
equal deleted inserted replaced
18175:cf09e921458f 18176:c2270ad35f57
51 }; 51 };
52 52
53 Arena _arena; 53 Arena _arena;
54 54
55 jobject _data_section_handle; 55 jobject _data_section_handle;
56 jobject _data_section_patches_handle;
56 jobject _sites_handle; 57 jobject _sites_handle;
57 jobject _exception_handlers_handle; 58 jobject _exception_handlers_handle;
58 CodeOffsets _offsets; 59 CodeOffsets _offsets;
59 60
60 jobject _code_handle; 61 jobject _code_handle;
84 static ConstantIntValue* _int_1_scope_value; 85 static ConstantIntValue* _int_1_scope_value;
85 static ConstantIntValue* _int_2_scope_value; 86 static ConstantIntValue* _int_2_scope_value;
86 static LocationValue* _illegal_value; 87 static LocationValue* _illegal_value;
87 88
88 jint pd_next_offset(NativeInstruction* inst, jint pc_offset, oop method); 89 jint pd_next_offset(NativeInstruction* inst, jint pc_offset, oop method);
89 void pd_patch_OopData(int pc_offset, oop data); 90 void pd_patch_OopConstant(int pc_offset, Handle& constant);
90 void pd_patch_DataSectionReference(int pc_offset, oop data); 91 void pd_patch_DataSectionReference(int pc_offset, int data_offset);
91 void pd_relocate_CodeBlob(CodeBlob* cb, NativeInstruction* inst); 92 void pd_relocate_CodeBlob(CodeBlob* cb, NativeInstruction* inst);
92 void pd_relocate_ForeignCall(NativeInstruction* inst, jlong foreign_call_destination); 93 void pd_relocate_ForeignCall(NativeInstruction* inst, jlong foreign_call_destination);
93 void pd_relocate_JavaMethod(oop method, jint pc_offset); 94 void pd_relocate_JavaMethod(oop method, jint pc_offset);
94 void pd_relocate_poll(address pc, jint mark); 95 void pd_relocate_poll(address pc, jint mark);
95 96
96 objArrayOop sites() { return (objArrayOop) JNIHandles::resolve(_sites_handle); } 97 objArrayOop sites() { return (objArrayOop) JNIHandles::resolve(_sites_handle); }
97 arrayOop code() { return (arrayOop) JNIHandles::resolve(_code_handle); } 98 arrayOop code() { return (arrayOop) JNIHandles::resolve(_code_handle); }
98 arrayOop data_section() { return (arrayOop) JNIHandles::resolve(_data_section_handle); } 99 arrayOop data_section() { return (arrayOop) JNIHandles::resolve(_data_section_handle); }
100 objArrayOop data_section_patches() { return (objArrayOop) JNIHandles::resolve(_data_section_patches_handle); }
99 objArrayOop exception_handlers() { return (objArrayOop) JNIHandles::resolve(_exception_handlers_handle); } 101 objArrayOop exception_handlers() { return (objArrayOop) JNIHandles::resolve(_exception_handlers_handle); }
100 #ifndef PRODUCT 102 #ifndef PRODUCT
101 objArrayOop comments() { return (objArrayOop) JNIHandles::resolve(_comments_handle); } 103 objArrayOop comments() { return (objArrayOop) JNIHandles::resolve(_comments_handle); }
102 #endif 104 #endif
103 105