diff options
author | aph <none@none> | 2014-02-25 12:29:58 -0500 |
---|---|---|
committer | aph <none@none> | 2014-02-25 12:29:58 -0500 |
commit | 42004042dc1fc943a6a1be31d0109173385f1b43 (patch) | |
tree | 55ea829658fa79e616a68f3434558caffbde062c | |
parent | d4959c45d3f332b93a0ada2b7c2cde618a753e72 (diff) |
C1: Memory barriers for object creationjdk8_b128_aarch64_rc3
-rw-r--r-- | src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp b/src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp index 03a62356e..f28d8d6e8 100644 --- a/src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp +++ b/src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp @@ -354,6 +354,8 @@ void C1_MacroAssembler::initialize_object(Register obj, Register klass, Register } + membar(StoreStore); + if (CURRENT_ENV->dtrace_alloc_probes()) { assert(obj == r0, "must be"); call(RuntimeAddress(Runtime1::entry_for(Runtime1::dtrace_object_alloc_id))); @@ -386,6 +388,8 @@ void C1_MacroAssembler::allocate_array(Register obj, Register len, Register t1, const Register len_zero = len; initialize_body(obj, arr_size, header_size * BytesPerWord, len_zero); + membar(StoreStore); + if (CURRENT_ENV->dtrace_alloc_probes()) { assert(obj == r0, "must be"); bl(RuntimeAddress(Runtime1::entry_for(Runtime1::dtrace_object_alloc_id))); |