# HG changeset patch # User minqi # Date 1329281697 28800 # Node ID cd239a88b90c34bd807d836fb1e5abde185d5f15 # Parent 2b150750d53d4ed1cfd1f07b90d7f1012415f743# Parent cf772dff4bfdd06ac2ce7685bdf989dc64dab4a3 Merge diff -r cf772dff4bfd -r cd239a88b90c src/share/vm/prims/jvmtiTagMap.cpp --- a/src/share/vm/prims/jvmtiTagMap.cpp Tue Feb 14 18:35:19 2012 -0500 +++ b/src/share/vm/prims/jvmtiTagMap.cpp Tue Feb 14 20:54:57 2012 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -2999,7 +2999,8 @@ char type = field->field_type(); if (!is_primitive_field_type(type)) { oop fld_o = o->obj_field(field->field_offset()); - if (fld_o != NULL) { + // ignore any objects that aren't visible to profiler + if (fld_o != NULL && ServiceUtil::visible_oop(fld_o)) { // reflection code may have a reference to a klassOop. // - see sun.reflect.UnsafeStaticFieldAccessorImpl and sun.misc.Unsafe if (fld_o->is_klass()) {