1157 } |
1157 } |
1158 |
1158 |
1159 vmSymbols::SID Method::klass_id_for_intrinsics(Klass* holder) { |
1159 vmSymbols::SID Method::klass_id_for_intrinsics(Klass* holder) { |
1160 // if loader is not the default loader (i.e., != NULL), we can't know the intrinsics |
1160 // if loader is not the default loader (i.e., != NULL), we can't know the intrinsics |
1161 // because we are not loading from core libraries |
1161 // because we are not loading from core libraries |
1162 if (InstanceKlass::cast(holder)->class_loader() != NULL) |
1162 // exception: the AES intrinsics come from lib/ext/sunjce_provider.jar |
|
1163 // which does not use the class default class loader so we check for its loader here |
|
1164 if ((InstanceKlass::cast(holder)->class_loader() != NULL) && |
|
1165 InstanceKlass::cast(holder)->class_loader()->klass()->name() != vmSymbols::sun_misc_Launcher_ExtClassLoader()) { |
1163 return vmSymbols::NO_SID; // regardless of name, no intrinsics here |
1166 return vmSymbols::NO_SID; // regardless of name, no intrinsics here |
|
1167 } |
1164 |
1168 |
1165 // see if the klass name is well-known: |
1169 // see if the klass name is well-known: |
1166 Symbol* klass_name = InstanceKlass::cast(holder)->name(); |
1170 Symbol* klass_name = InstanceKlass::cast(holder)->name(); |
1167 return vmSymbols::find_sid(klass_name); |
1171 return vmSymbols::find_sid(klass_name); |
1168 } |
1172 } |