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