src/share/native/common/check_code.c
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
6642881_8u40_jdk Cdiff src/share/native/common/check_code.c
src/share/native/common/check_code.c
Print this page
rev 9948 : 6642881: Improve performance of Class.getClassLoader()
Summary: Add classLoader to java/lang/Class instance for fast access
Reviewed-by: alanb, lfoltan, rriggs, vlivanov, twisti, mchung, jfranck, dholmes
*** 1,7 ****
/*
! * Copyright (c) 1994, 2013, 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. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 1994, 2014, 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. Oracle designates this
*** 1355,1374 ****
(*env)->DeleteLocalRef(env, super);
super = tmp_cb;
}
(*env)->DeleteLocalRef(env, super);
! /* The optimizer make cause this to happen on local code */
if (not_found) {
! #ifdef BROKEN_JAVAC
! jobject loader = JVM_GetClassLoader(env, context->class);
! int has_loader = (loader != 0);
! (*env)->DeleteLocalRef(env, loader);
! if (has_loader)
! #endif /* BROKEN_JAVAC */
! CCerror(context,
! "Illegal use of nonvirtual function call");
}
}
}
if (opcode == JVM_OPC_invokeinterface) {
unsigned int args1;
--- 1355,1367 ----
(*env)->DeleteLocalRef(env, super);
super = tmp_cb;
}
(*env)->DeleteLocalRef(env, super);
! /* The optimizer may cause this to happen on local code */
if (not_found) {
! CCerror(context, "Illegal use of nonvirtual function call");
}
}
}
if (opcode == JVM_OPC_invokeinterface) {
unsigned int args1;
src/share/native/common/check_code.c
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File