RFR(S): 8140309: [REDO] failed: no mismatched stores, except on raw memory: StoreB StoreI

Roland Westrelin roland.westrelin at oracle.com
Wed Nov 4 14:21:41 UTC 2015


http://cr.openjdk.java.net/~roland/8140309/webrev.00/

Same as 8136473 with only the following change:

diff --git a/src/share/vm/opto/library_call.cpp b/src/share/vm/opto/library_call.cpp
--- a/src/share/vm/opto/library_call.cpp
+++ b/src/share/vm/opto/library_call.cpp
@@ -2527,7 +2527,7 @@
   // of safe & unsafe memory.
   if (need_mem_bar) insert_mem_bar(Op_MemBarCPUOrder);

-  assert(is_native_ptr || alias_type->adr_type() == TypeOopPtr::BOTTOM ||
+  assert(alias_type->adr_type() == TypeRawPtr::BOTTOM || alias_type->adr_type() == TypeOopPtr::BOTTOM ||
          alias_type->field() != NULL || alias_type->element() != NULL, "field, array element or unknown");
   bool mismatched = false;
   if (alias_type->element() != NULL || alias_type->field() != NULL) {

alias_type->adr_type() == TypeRawPtr::BOTTOM covers the is_native_ptr case and the case where the unsafe method is called with a null object.

Roland.


More information about the hotspot-compiler-dev mailing list