< prev index next >
src/hotspot/share/prims/jvm.cpp
Print this page
@@ -1018,19 +1018,17 @@
InstanceKlass* host_class = NULL;
if (is_nestmate) {
host_class = InstanceKlass::cast(lookup_k)->nest_host(CHECK_NULL);
}
- if (log_is_enabled(Info, class, nestmates)) {
log_info(class, nestmates)("LookupDefineClass: %s - %s%s, %s, %s, %s",
name,
is_nestmate ? "with dynamic nest-host " : "non-nestmate",
is_nestmate ? host_class->external_name() : "",
is_hidden ? "hidden" : "not hidden",
is_strong ? "strong" : "weak",
vm_annotations ? "with vm annotations" : "without vm annotation");
- }
if (!is_hidden) {
// classData is only applicable for hidden classes
if (classData != NULL) {
THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(), "classData is only applicable for hidden classes");
@@ -2059,31 +2057,24 @@
JVM_ENTRY(jobjectArray, JVM_GetNestMembers(JNIEnv* env, jclass current))
{
// current is not a primitive or array class
JVMWrapper("JVM_GetNestMembers");
+ ResourceMark rm(THREAD);
Klass* c = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(current));
assert(c->is_instance_klass(), "must be");
InstanceKlass* ck = InstanceKlass::cast(c);
InstanceKlass* host = ck->nest_host(THREAD);
- const bool doLog = log_is_enabled(Trace, class, nestmates);
-
- if (doLog) {
- ResourceMark rm(THREAD);
log_trace(class, nestmates)("Calling GetNestMembers for type %s with nest-host %s",
ck->external_name(), host->external_name());
- }
-
{
JvmtiVMObjectAllocEventCollector oam;
Array<u2>* members = host->nest_members();
int length = members == NULL ? 0 : members->length();
- if (doLog) {
log_trace(class, nestmates)(" - host has %d listed nest members", length);
- }
// nest host is first in the array so make it one bigger
objArrayOop r = oopFactory::new_objArray(SystemDictionary::Class_klass(),
length + 1, CHECK_NULL);
objArrayHandle result(THREAD, r);
@@ -2095,12 +2086,11 @@
Klass* k = host->constants()->klass_at(cp_index, THREAD);
if (HAS_PENDING_EXCEPTION) {
if (PENDING_EXCEPTION->is_a(SystemDictionary::VirtualMachineError_klass())) {
return NULL; // propagate VMEs
}
- if (doLog) {
- ResourceMark rm(THREAD);
+ if (log_is_enabled(Trace, class, nestmates)) {
stringStream ss;
char* target_member_class = host->constants()->klass_name_at(cp_index)->as_C_string();
ss.print(" - resolution of nest member %s failed: ", target_member_class);
java_lang_Throwable::print(PENDING_EXCEPTION, &ss);
log_trace(class, nestmates)("%s", ss.as_string());
@@ -2112,36 +2102,25 @@
InstanceKlass* ik = InstanceKlass::cast(k);
InstanceKlass* nest_host_k = ik->nest_host(CHECK_NULL);
if (nest_host_k == host) {
result->obj_at_put(count+1, k->java_mirror());
count++;
- if (doLog) {
- ResourceMark rm(THREAD);
log_trace(class, nestmates)(" - [%d] = %s", count, ik->external_name());
- }
} else {
- if (doLog) {
- ResourceMark rm(THREAD);
log_trace(class, nestmates)(" - skipping member %s with different host %s",
ik->external_name(), nest_host_k->external_name());
}
- }
} else {
- if (doLog) {
- ResourceMark rm(THREAD);
log_trace(class, nestmates)(" - skipping member %s that is not an instance class",
k->external_name());
}
}
- }
if (count < length) {
// we had invalid entries so we need to compact the array
- if (doLog) {
- ResourceMark rm(THREAD);
log_trace(class, nestmates)(" - compacting array from length %d to %d",
length + 1, count + 1);
- }
+
objArrayOop r2 = oopFactory::new_objArray(SystemDictionary::Class_klass(),
count + 1, CHECK_NULL);
objArrayHandle result2(THREAD, r2);
for (int i = 0; i < count + 1; i++) {
result2->obj_at_put(i, result->obj_at(i));
< prev index next >