# HG changeset patch # User minqi # Date 1329292212 28800 # Node ID 64fc5ac1b7705c1e787916e31be1c5e69faf80af # Parent 91a81502a27d4a3740eac0424c9caa93cf5a04fc# Parent cd239a88b90c34bd807d836fb1e5abde185d5f15 Merge diff -r 91a81502a27d -r 64fc5ac1b770 src/share/vm/prims/jvmtiTagMap.cpp --- a/src/share/vm/prims/jvmtiTagMap.cpp Wed Feb 15 00:09:31 2012 -0500 +++ b/src/share/vm/prims/jvmtiTagMap.cpp Tue Feb 14 23:50:12 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()) {