changeset 12017:9f7f714bf3e8

8166207: Use of Copy::conjoint_oops_atomic in global mark stack causes crashes on arm64 Summary: Use Copy::conjoint_memory_atomic() instead. Reviewed-by: kbarrett
author tschatzl
date Mon, 19 Sep 2016 22:55:26 +0200
parents 9093f5ebd80c
children ad12e539a414 ee29c67a0c0c
files src/share/vm/gc/g1/g1ConcurrentMark.cpp
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/gc/g1/g1ConcurrentMark.cpp	Mon Sep 19 17:35:25 2016 +0000
+++ b/src/share/vm/gc/g1/g1ConcurrentMark.cpp	Mon Sep 19 22:55:26 2016 +0200
@@ -285,7 +285,7 @@
     return false;
   }
 
-  Copy::conjoint_oops_atomic(ptr_arr, new_chunk->data, OopsPerChunk);
+  Copy::conjoint_memory_atomic(ptr_arr, new_chunk->data, OopsPerChunk * sizeof(oop));
 
   add_chunk_to_chunk_list(new_chunk);
 
@@ -299,7 +299,7 @@
     return false;
   }
 
-  Copy::conjoint_oops_atomic(cur->data, ptr_arr, OopsPerChunk);
+  Copy::conjoint_memory_atomic(cur->data, ptr_arr, OopsPerChunk * sizeof(oop));
 
   add_chunk_to_free_list(cur);
   return true;