changeset 6664:39d28a8ea5be jdk8_b128_aarch64_rc3

C1: Memory barriers for object creation
author aph
date Tue, 25 Feb 2014 12:29:58 -0500
parents ac6dbba6ac14
children ff7482096849 50f803214764
files src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp	Mon Feb 24 16:51:47 2014 +0000
+++ b/src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp	Tue Feb 25 12:29:58 2014 -0500
@@ -354,6 +354,8 @@
 
   }
 
+  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 @@
   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)));