comparison src/share/vm/oops/method.cpp @ 6894:a3ecd773a7b9

7184394: add intrinsics to use AES instructions Summary: Use new x86 AES instructions for AESCrypt. Reviewed-by: twisti, kvn, roland Contributed-by: tom.deneau@amd.com
author kvn
date Wed, 24 Oct 2012 14:33:22 -0700
parents d804e148cff8
children ec204374e626
comparison
equal deleted inserted replaced
6893:b2c669fd8114 6894:a3ecd773a7b9
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 }