Mercurial > hg > graal-jvmci-8
comparison src/share/vm/graal/graalCodeInstaller.hpp @ 17241:6fcb6691fe5f
Add safepoint checks during code installation
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Fri, 26 Sep 2014 16:00:09 -0700 |
parents | 4e2d34d7715b |
children | 508e88b5f1d3 |
comparison
equal
deleted
inserted
replaced
17240:136ba6d379f2 | 17241:6fcb6691fe5f |
---|---|
50 INVOKE_INVALID = -1 | 50 INVOKE_INVALID = -1 |
51 }; | 51 }; |
52 | 52 |
53 Arena _arena; | 53 Arena _arena; |
54 | 54 |
55 oop _dataSection; | 55 jobject _data_section_handle; |
56 arrayOop _sites; | 56 jobject _sites_handle; |
57 arrayOop _exception_handlers; | 57 jobject _exception_handlers_handle; |
58 CodeOffsets _offsets; | 58 CodeOffsets _offsets; |
59 | 59 |
60 arrayOop _code; | 60 jobject _code_handle; |
61 jint _code_size; | 61 jint _code_size; |
62 jint _total_frame_size; | 62 jint _total_frame_size; |
63 jint _custom_stack_area_offset; | 63 jint _custom_stack_area_offset; |
64 jint _parameter_count; | 64 jint _parameter_count; |
65 jint _constants_size; | 65 jint _constants_size; |
66 #ifndef PRODUCT | 66 #ifndef PRODUCT |
67 arrayOop _comments; | 67 jobject _comments_handle; |
68 #endif | 68 #endif |
69 | 69 |
70 MarkId _next_call_type; | 70 MarkId _next_call_type; |
71 address _invoke_mark_pc; | 71 address _invoke_mark_pc; |
72 | 72 |
84 void pd_relocate_CodeBlob(CodeBlob* cb, NativeInstruction* inst); | 84 void pd_relocate_CodeBlob(CodeBlob* cb, NativeInstruction* inst); |
85 void pd_relocate_ForeignCall(NativeInstruction* inst, jlong foreign_call_destination); | 85 void pd_relocate_ForeignCall(NativeInstruction* inst, jlong foreign_call_destination); |
86 void pd_relocate_JavaMethod(oop method, jint pc_offset); | 86 void pd_relocate_JavaMethod(oop method, jint pc_offset); |
87 void pd_relocate_poll(address pc, jint mark); | 87 void pd_relocate_poll(address pc, jint mark); |
88 | 88 |
89 objArrayOop sites() { return (objArrayOop) JNIHandles::resolve(_sites_handle); } | |
90 arrayOop code() { return (arrayOop) JNIHandles::resolve(_code_handle); } | |
91 arrayOop data_section() { return (arrayOop) JNIHandles::resolve(_data_section_handle); } | |
92 objArrayOop exception_handlers() { return (objArrayOop) JNIHandles::resolve(_exception_handlers_handle); } | |
93 #ifndef PRODUCT | |
94 objArrayOop comments() { return (objArrayOop) JNIHandles::resolve(_comments_handle); } | |
95 #endif | |
89 | 96 |
90 public: | 97 public: |
91 | 98 |
92 CodeInstaller() {}; | 99 CodeInstaller() {}; |
93 GraalEnv::CodeInstallResult install(Handle& compiled_code, CodeBlob*& cb, Handle installed_code, Handle speculation_log); | 100 GraalEnv::CodeInstallResult install(Handle& compiled_code, CodeBlob*& cb, Handle installed_code, Handle speculation_log); |