< prev index next >
src/hotspot/share/memory/metaspaceTracer.cpp
Print this page
rev 58565 : 8238358: Implementation of JEP 371: Hidden Classes
Reviewed-by: duke
Contributed-by: mandy.chung@oracle.com, lois.foltan@oracle.com, david.holmes@oracle.com, harold.seigel@oracle.com, serguei.spitsyn@oracle.com, alex.buckley@oracle.com, jamsheed.c.m@oracle.com
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -60,14 +60,19 @@
MetaspaceObj::Type objtype,
Metaspace::MetadataType mdtype) const {
E event;
if (event.should_commit()) {
event.set_classLoader(cld);
- if (cld->is_unsafe_anonymous()) {
- event.set_unsafeAnonymousClassLoader(true);
+ event.set_unsafeAnonymousClassLoader(false); // initialize these
+ event.set_hiddenClassLoader(false);
+ if (cld->has_class_mirror_holder()) {
+ assert(cld->klasses() != NULL, "unexpected NULL for cld->klasses()");
+ if (cld->klasses()->is_hidden_weak()) {
+ event.set_hiddenClassLoader(true);
} else {
- event.set_unsafeAnonymousClassLoader(false);
+ event.set_unsafeAnonymousClassLoader(true);
+ }
}
event.set_size(word_size * BytesPerWord);
event.set_metadataType((u1) mdtype);
event.set_metaspaceObjectType((u1) objtype);
event.commit();
< prev index next >