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