# HG changeset patch # User omajid # Date 1375806526 14400 # Node ID c54a3122f9c84e3b853c3605ae530607b89ca52f # Parent 22a5aff0df0b1333d5b48a1b7e970119dabc6065 8022188: Make zero compile after 8016131 and 8016697 Reviewed-by: dholmes, twisti diff -r 22a5aff0df0b -r c54a3122f9c8 src/cpu/zero/vm/entryFrame_zero.hpp --- a/src/cpu/zero/vm/entryFrame_zero.hpp Tue Aug 06 14:28:48 2013 +0400 +++ b/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: diff -r 22a5aff0df0b -r c54a3122f9c8 src/cpu/zero/vm/frame_zero.inline.hpp --- a/src/cpu/zero/vm/frame_zero.inline.hpp Tue Aug 06 14:28:48 2013 +0400 +++ b/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(); } diff -r 22a5aff0df0b -r c54a3122f9c8 src/cpu/zero/vm/stubGenerator_zero.cpp --- a/src/cpu/zero/vm/stubGenerator_zero.cpp Tue Aug 06 14:28:48 2013 +0400 +++ b/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: diff -r 22a5aff0df0b -r c54a3122f9c8 src/os_cpu/linux_zero/vm/os_linux_zero.cpp --- a/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Tue Aug 06 14:28:48 2013 +0400 +++ b/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) {