src/share/vm/oops/method.cpp

changeset 4246
ec204374e626
parent 4245
4735d2c84362
parent 4205
a3ecd773a7b9
child 4251
18fb7da42534
     1.1 --- a/src/share/vm/oops/method.cpp	Thu Oct 11 12:25:42 2012 -0400
     1.2 +++ b/src/share/vm/oops/method.cpp	Fri Nov 02 16:09:50 2012 -0700
     1.3 @@ -1159,8 +1159,12 @@
     1.4  vmSymbols::SID Method::klass_id_for_intrinsics(Klass* holder) {
     1.5    // if loader is not the default loader (i.e., != NULL), we can't know the intrinsics
     1.6    // because we are not loading from core libraries
     1.7 -  if (InstanceKlass::cast(holder)->class_loader() != NULL)
     1.8 +  // exception: the AES intrinsics come from lib/ext/sunjce_provider.jar
     1.9 +  // which does not use the class default class loader so we check for its loader here
    1.10 +  if ((InstanceKlass::cast(holder)->class_loader() != NULL) &&
    1.11 +       InstanceKlass::cast(holder)->class_loader()->klass()->name() != vmSymbols::sun_misc_Launcher_ExtClassLoader()) {
    1.12      return vmSymbols::NO_SID;   // regardless of name, no intrinsics here
    1.13 +  }
    1.14  
    1.15    // see if the klass name is well-known:
    1.16    Symbol* klass_name = InstanceKlass::cast(holder)->name();

mercurial