diff 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
line wrap: on
line diff
--- a/src/share/vm/graal/graalCodeInstaller.hpp	Fri Sep 26 15:59:34 2014 -0700
+++ b/src/share/vm/graal/graalCodeInstaller.hpp	Fri Sep 26 16:00:09 2014 -0700
@@ -52,19 +52,19 @@
 
   Arena         _arena;
 
-  oop           _dataSection;
-  arrayOop      _sites;
-  arrayOop      _exception_handlers;
+  jobject       _data_section_handle;
+  jobject       _sites_handle;
+  jobject       _exception_handlers_handle;
   CodeOffsets   _offsets;
 
-  arrayOop      _code;
+  jobject       _code_handle;
   jint          _code_size;
   jint          _total_frame_size;
   jint          _custom_stack_area_offset;
   jint          _parameter_count;
   jint          _constants_size;
 #ifndef PRODUCT
-  arrayOop      _comments;
+  jobject       _comments_handle;
 #endif
 
   MarkId        _next_call_type;
@@ -86,6 +86,13 @@
   void pd_relocate_JavaMethod(oop method, jint pc_offset);
   void pd_relocate_poll(address pc, jint mark);
 
+  objArrayOop sites() { return (objArrayOop) JNIHandles::resolve(_sites_handle); }
+  arrayOop code() { return (arrayOop) JNIHandles::resolve(_code_handle); }
+  arrayOop data_section() { return (arrayOop) JNIHandles::resolve(_data_section_handle); }
+  objArrayOop exception_handlers() { return (objArrayOop) JNIHandles::resolve(_exception_handlers_handle); }
+#ifndef PRODUCT
+  objArrayOop comments() { return (objArrayOop) JNIHandles::resolve(_comments_handle); }
+#endif
 
 public: