changeset 12012:196aa14f9f29

Merge
author dholmes
date Tue, 06 Aug 2013 21:06:19 -0700
parents ca0165daa6ec (current diff) c54a3122f9c8 (diff)
children 195ff07bc7f6
files
diffstat 4 files changed, 25 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/zero/vm/entryFrame_zero.hpp	Tue Aug 06 16:33:59 2013 -0700
+++ b/src/cpu/zero/vm/entryFrame_zero.hpp	Tue Aug 06 21:06:19 2013 -0700
@@ -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/src/cpu/zero/vm/frame_zero.inline.hpp	Tue Aug 06 16:33:59 2013 -0700
+++ b/src/cpu/zero/vm/frame_zero.inline.hpp	Tue Aug 06 21:06:19 2013 -0700
@@ -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/src/cpu/zero/vm/stubGenerator_zero.cpp	Tue Aug 06 16:33:59 2013 -0700
+++ b/src/cpu/zero/vm/stubGenerator_zero.cpp	Tue Aug 06 21:06:19 2013 -0700
@@ -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/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	Tue Aug 06 16:33:59 2013 -0700
+++ b/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	Tue Aug 06 21:06:19 2013 -0700
@@ -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) {