Mercurial > hg > truffle
changeset 12011:c54a3122f9c8
8022188: Make zero compile after 8016131 and 8016697
Reviewed-by: dholmes, twisti
author | omajid |
---|---|
date | Tue, 06 Aug 2013 12:28:46 -0400 |
parents | 22a5aff0df0b |
children | 196aa14f9f29 |
files | src/cpu/zero/vm/entryFrame_zero.hpp src/cpu/zero/vm/frame_zero.inline.hpp src/cpu/zero/vm/stubGenerator_zero.cpp src/os_cpu/linux_zero/vm/os_linux_zero.cpp |
diffstat | 4 files changed, 25 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- 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:
--- 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(); }
--- 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:
--- 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) {