changeset 23709:1b939a613788

Rename JVMCIRuntime::max_oop_map_stack_offset to CompilerToVM::Data::_max_oop_map_stack_offset
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Tue, 21 Jun 2016 14:36:16 -0700
parents 282873d0192c
children 927a39cd7ddd
files src/share/vm/jvmci/jvmciCodeInstaller.cpp src/share/vm/jvmci/jvmciCompilerToVM.cpp src/share/vm/jvmci/jvmciCompilerToVM.hpp src/share/vm/jvmci/jvmciRuntime.cpp src/share/vm/jvmci/jvmciRuntime.hpp src/share/vm/jvmci/vmStructs_jvmci.hpp
diffstat 6 files changed, 16 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/jvmci/jvmciCodeInstaller.cpp	Tue Jun 21 14:36:00 2016 -0700
+++ b/src/share/vm/jvmci/jvmciCodeInstaller.cpp	Tue Jun 21 14:36:16 2016 -0700
@@ -96,9 +96,9 @@
         // here.  This test should also be equivalent legal_vm_reg_name but JVMCI
         // clients can use max_oop_map_stack_stack_offset to detect this problem
         // directly.  The asserts just ensure that the tests are in agreement.
-        assert(offset > JVMCIRuntime::max_oop_map_stack_offset, "illegal VMReg");
+        assert(offset > CompilerToVM::Data::max_oop_map_stack_offset(), "illegal VMReg");
         JVMCI_ERROR_NULL("stack offset %d is too large to be encoded in OopMap (max %d)",
-                         offset, JVMCIRuntime::max_oop_map_stack_offset);
+                         offset, CompilerToVM::Data::max_oop_map_stack_offset());
       }
       assert(OopMapValue::legal_vm_reg_name(vmReg), "illegal VMReg");
       return vmReg;
--- a/src/share/vm/jvmci/jvmciCompilerToVM.cpp	Tue Jun 21 14:36:00 2016 -0700
+++ b/src/share/vm/jvmci/jvmciCompilerToVM.cpp	Tue Jun 21 14:36:16 2016 -0700
@@ -108,6 +108,7 @@
 bool       CompilerToVM::Data::_supports_inline_contig_alloc;
 HeapWord** CompilerToVM::Data::_heap_end_addr;
 HeapWord** CompilerToVM::Data::_heap_top_addr;
+int CompilerToVM::Data::_max_oop_map_stack_offset;
 
 jbyte* CompilerToVM::Data::cardtable_start_address;
 int CompilerToVM::Data::cardtable_shift;
@@ -154,6 +155,11 @@
   _heap_end_addr = _supports_inline_contig_alloc ? Universe::heap()->end_addr() : (HeapWord**) -1;
   _heap_top_addr = _supports_inline_contig_alloc ? Universe::heap()->top_addr() : (HeapWord**) -1;
 
+  _max_oop_map_stack_offset = (OopMapValue::register_mask - VMRegImpl::stack2reg(0)->value()) * VMRegImpl::stack_slot_size;
+  int max_oop_map_stack_index = _max_oop_map_stack_offset / VMRegImpl::stack_slot_size;
+  assert(OopMapValue::legal_vm_reg_name(VMRegImpl::stack2reg(max_oop_map_stack_index)), "should be valid");
+  assert(!OopMapValue::legal_vm_reg_name(VMRegImpl::stack2reg(max_oop_map_stack_index + 1)), "should be invalid");
+
   g1_young_card = G1SATBCardTableModRefBS::g1_young_card_val();
   dirty_card = CardTableModRefBS::dirty_card_val();
 
--- a/src/share/vm/jvmci/jvmciCompilerToVM.hpp	Tue Jun 21 14:36:00 2016 -0700
+++ b/src/share/vm/jvmci/jvmciCompilerToVM.hpp	Tue Jun 21 14:36:16 2016 -0700
@@ -59,6 +59,7 @@
      static bool _supports_inline_contig_alloc;
      static HeapWord** _heap_end_addr;
      static HeapWord** _heap_top_addr;
+     static int _max_oop_map_stack_offset;
 
      static jbyte* cardtable_start_address;
      static int cardtable_shift;
@@ -80,6 +81,11 @@
 
     public:
      static void initialize(TRAPS);
+
+    static int max_oop_map_stack_offset() {
+      assert(_max_oop_map_stack_offset > 0, "must be initialized");
+      return Data::_max_oop_map_stack_offset;
+    }
    };
 
   /**
--- a/src/share/vm/jvmci/jvmciRuntime.cpp	Tue Jun 21 14:36:00 2016 -0700
+++ b/src/share/vm/jvmci/jvmciRuntime.cpp	Tue Jun 21 14:36:16 2016 -0700
@@ -51,7 +51,6 @@
 char** JVMCIRuntime::_trivial_prefixes = NULL;
 JVMCIRuntime::CompLevelAdjustment JVMCIRuntime::_comp_level_adjustment = JVMCIRuntime::none;
 bool JVMCIRuntime::_shutdown_called = false;
-int JVMCIRuntime::max_oop_map_stack_offset = (OopMapValue::register_mask - VMRegImpl::stack2reg(0)->value()) * VMRegImpl::stack_slot_size;
 
 BasicType JVMCIRuntime::kindToBasicType(Handle kind, TRAPS) {
   if (kind.is_null()) {
@@ -660,10 +659,6 @@
            "HotSpotJVMCIRuntime initialization should only be triggered through JVMCI initialization");
 #endif
 
-    int max_oop_map_stack_index = max_oop_map_stack_offset / VMRegImpl::stack_slot_size;
-    assert(OopMapValue::legal_vm_reg_name(VMRegImpl::stack2reg(max_oop_map_stack_index)), "should be valid");
-    assert(!OopMapValue::legal_vm_reg_name(VMRegImpl::stack2reg(max_oop_map_stack_index + 1)), "should be invalid");
-
     Handle result = callStatic("jdk/vm/ci/hotspot/HotSpotJVMCIRuntime",
                                "runtime",
                                "()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;", NULL, CHECK);
--- a/src/share/vm/jvmci/jvmciRuntime.hpp	Tue Jun 21 14:36:00 2016 -0700
+++ b/src/share/vm/jvmci/jvmciRuntime.hpp	Tue Jun 21 14:36:16 2016 -0700
@@ -51,8 +51,6 @@
      by_full_signature = 2 // adjust based on declaring class, name and signature of method
   };
 
-  static int max_oop_map_stack_offset;
-
  private:
   static jobject _HotSpotJVMCIRuntime_instance;
   static bool _HotSpotJVMCIRuntime_initialized;
--- a/src/share/vm/jvmci/vmStructs_jvmci.hpp	Tue Jun 21 14:36:00 2016 -0700
+++ b/src/share/vm/jvmci/vmStructs_jvmci.hpp	Tue Jun 21 14:36:16 2016 -0700
@@ -57,6 +57,8 @@
   static_field(CompilerToVM::Data,             _heap_end_addr,                         HeapWord**)                                   \
   static_field(CompilerToVM::Data,             _heap_top_addr,                         HeapWord**)                                   \
                                                                                                                                      \
+  static_field(CompilerToVM::Data,             _max_oop_map_stack_offset,              int)                                          \
+                                                                                                                                     \
   static_field(CompilerToVM::Data,             cardtable_start_address,                jbyte*)                                       \
   static_field(CompilerToVM::Data,             cardtable_shift,                        int)                                          \
   static_field(CompilerToVM::Data,             g1_young_card,                          int)                                          \
@@ -82,7 +84,6 @@
   nonstatic_field(MethodData,                  _jvmci_ir_size,                         int)                                          \
   nonstatic_field(JVMCIEnv,                    _task,                                  CompileTask*)                                 \
   nonstatic_field(JVMCIEnv,                    _jvmti_can_hotswap_or_post_breakpoint,  bool)                                         \
-  static_field(JVMCIRuntime,                   max_oop_map_stack_offset,               int)                                          \
 
 #define VM_TYPES_JVMCI(declare_type, declare_toplevel_type)                   \
   declare_toplevel_type(narrowKlass)                                          \