8199559: objArrayKlass::oop_iterate() and friends must use base_raw() instead of base()
authorrkennke
Thu, 15 Mar 2018 12:44:27 +0100
changeset 49404 911e32d49f76
parent 49403 58fdb6c2a274
child 49405 e88237c5ac83
8199559: objArrayKlass::oop_iterate() and friends must use base_raw() instead of base() Reviewed-by: tschatzl, eosterlund
src/hotspot/share/oops/objArrayKlass.inline.hpp
--- a/src/hotspot/share/oops/objArrayKlass.inline.hpp	Thu Mar 15 07:40:00 2018 -0400
+++ b/src/hotspot/share/oops/objArrayKlass.inline.hpp	Thu Mar 15 12:44:27 2018 +0100
@@ -37,7 +37,7 @@
 
 template <bool nv, typename T, class OopClosureType>
 void ObjArrayKlass::oop_oop_iterate_elements_specialized(objArrayOop a, OopClosureType* closure) {
-  T* p         = (T*)a->base();
+  T* p         = (T*)a->base_raw();
   T* const end = p + a->length();
 
   for (;p < end; p++) {
@@ -52,7 +52,7 @@
   T* const l = (T*)low;
   T* const h = (T*)high;
 
-  T* p   = (T*)a->base();
+  T* p   = (T*)a->base_raw();
   T* end = p + a->length();
 
   if (p < l) {
@@ -112,7 +112,7 @@
 template <bool nv, typename T, class OopClosureType>
 void ObjArrayKlass::oop_oop_iterate_range_specialized(objArrayOop a, OopClosureType* closure, int start, int end) {
   T* low = start == 0 ? cast_from_oop<T*>(a) : a->obj_at_addr_raw<T>(start);
-  T* high = (T*)a->base() + end;
+  T* high = (T*)a->base_raw() + end;
 
   oop_oop_iterate_elements_specialized_bounded<nv, T>(a, closure, low, high);
 }