8022188: Make zero compile after 8016131 and 8016697
authoromajid
Tue, 06 Aug 2013 12:28:46 -0400
changeset 19267 058bf12be1e0
parent 19152 44fdfecd8f6c
child 19268 ea6c4441c3e7
8022188: Make zero compile after 8016131 and 8016697 Reviewed-by: dholmes, twisti
hotspot/src/cpu/zero/vm/entryFrame_zero.hpp
hotspot/src/cpu/zero/vm/frame_zero.inline.hpp
hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp
hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
--- a/hotspot/src/cpu/zero/vm/entryFrame_zero.hpp	Tue Aug 06 14:28:48 2013 +0400
+++ b/hotspot/src/cpu/zero/vm/entryFrame_zero.hpp	Tue Aug 06 12:28:46 2013 -0400
@@ -58,8 +58,8 @@
                            JavaCallWrapper* call_wrapper,
                            TRAPS);
  public:
-  JavaCallWrapper *call_wrapper() const {
-    return (JavaCallWrapper *) value_of_word(call_wrapper_off);
+  JavaCallWrapper **call_wrapper() const {
+    return (JavaCallWrapper **) addr_of_word(call_wrapper_off);
   }
 
  public:
--- a/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp	Tue Aug 06 14:28:48 2013 +0400
+++ b/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp	Tue Aug 06 12:28:46 2013 -0400
@@ -141,7 +141,7 @@
   return fp();
 }
 
-inline JavaCallWrapper* frame::entry_frame_call_wrapper() const {
+inline JavaCallWrapper** frame::entry_frame_call_wrapper_addr() const {
   return zero_entryframe()->call_wrapper();
 }
 
--- a/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp	Tue Aug 06 14:28:48 2013 +0400
+++ b/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp	Tue Aug 06 12:28:46 2013 -0400
@@ -176,6 +176,19 @@
       StubRoutines::_oop_arraycopy;
   }
 
+  static int SafeFetch32(int *adr, int errValue) {
+    int value = errValue;
+    value = *adr;
+    return value;
+  }
+
+  static intptr_t SafeFetchN(intptr_t *adr, intptr_t errValue) {
+    intptr_t value = errValue;
+    value = *adr;
+    return value;
+  }
+
+
   void generate_initial() {
     // Generates all stubs and initializes the entry points
 
@@ -225,6 +238,15 @@
 
     // arraycopy stubs used by compilers
     generate_arraycopy_stubs();
+
+    // Safefetch stubs.
+    StubRoutines::_safefetch32_entry = CAST_FROM_FN_PTR(address, StubGenerator::SafeFetch32);
+    StubRoutines::_safefetch32_fault_pc = NULL;
+    StubRoutines::_safefetch32_continuation_pc = NULL;
+
+    StubRoutines::_safefetchN_entry = CAST_FROM_FN_PTR(address, StubGenerator::SafeFetchN);
+    StubRoutines::_safefetchN_fault_pc = NULL;
+    StubRoutines::_safefetchN_continuation_pc = NULL;
   }
 
  public:
--- a/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	Tue Aug 06 14:28:48 2013 +0400
+++ b/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	Tue Aug 06 12:28:46 2013 -0400
@@ -410,16 +410,6 @@
   int SpinPause() {
   }
 
-  int SafeFetch32(int *adr, int errValue) {
-    int value = errValue;
-    value = *adr;
-    return value;
-  }
-  intptr_t SafeFetchN(intptr_t *adr, intptr_t errValue) {
-    intptr_t value = errValue;
-    value = *adr;
-    return value;
-  }
 
   void _Copy_conjoint_jshorts_atomic(jshort* from, jshort* to, size_t count) {
     if (from > to) {