changeset 59238:2aaa8bcb90a9

8234508: VM_HeapWalkOperation::iterate_over_object reads non-strong fields with an on-strong load barrier Reviewed-by: pliden, eosterlund
author stefank
date Mon, 09 Dec 2019 15:28:46 +0100
parents 35d8d9b65744
children f236fd5d0c2c
files src/hotspot/share/prims/jvmtiTagMap.cpp
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/share/prims/jvmtiTagMap.cpp	Wed Dec 04 11:30:32 2019 +0100
+++ b/src/hotspot/share/prims/jvmtiTagMap.cpp	Mon Dec 09 15:28:46 2019 +0100
@@ -2963,7 +2963,7 @@
     ClassFieldDescriptor* field = field_map->field_at(i);
     char type = field->field_type();
     if (!is_primitive_field_type(type)) {
-      oop fld_o = o->obj_field(field->field_offset());
+      oop fld_o = o->obj_field_access<AS_NO_KEEPALIVE | ON_UNKNOWN_OOP_REF>(field->field_offset());
       // ignore any objects that aren't visible to profiler
       if (fld_o != NULL) {
         assert(Universe::heap()->is_in(fld_o), "unsafe code should not "