hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp
changeset 30118 dadad0daaab4
parent 30110 20d4dc1409a6
child 30129 351788433103
--- a/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp	Wed Mar 25 15:18:37 2015 -0700
+++ b/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp	Wed Mar 25 22:27:51 2015 -0400
@@ -176,6 +176,19 @@
       StubRoutines::_oop_arraycopy;
   }
 
+  // NYI: SafeFetch for Zero isn't actually safe.
+  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
 
@@ -228,11 +241,11 @@
     generate_arraycopy_stubs();
 
     // Safefetch stubs.
-    StubRoutines::_safefetch32_entry = NULL;
+    StubRoutines::_safefetch32_entry = CAST_FROM_FN_PTR(address, StubGenerator::SafeFetch32);
     StubRoutines::_safefetch32_fault_pc = NULL;
     StubRoutines::_safefetch32_continuation_pc = NULL;
 
-    StubRoutines::_safefetchN_entry = NULL;
+    StubRoutines::_safefetchN_entry = CAST_FROM_FN_PTR(address, StubGenerator::SafeFetchN);
     StubRoutines::_safefetchN_fault_pc = NULL;
     StubRoutines::_safefetchN_continuation_pc = NULL;
   }