comparison src/share/vm/opto/doCall.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 e626685e9f6c
children bb33c6fdcf0d
comparison
equal deleted inserted replaced
6893:b2c669fd8114 6894:a3ecd773a7b9
105 // then we return it as the inlined version of the call. 105 // then we return it as the inlined version of the call.
106 // We do this before the strict f.p. check below because the 106 // We do this before the strict f.p. check below because the
107 // intrinsics handle strict f.p. correctly. 107 // intrinsics handle strict f.p. correctly.
108 if (allow_inline && allow_intrinsics) { 108 if (allow_inline && allow_intrinsics) {
109 CallGenerator* cg = find_intrinsic(callee, call_is_virtual); 109 CallGenerator* cg = find_intrinsic(callee, call_is_virtual);
110 if (cg != NULL) return cg; 110 if (cg != NULL) {
111 if (cg->is_predicted()) {
112 // Code without intrinsic but, hopefully, inlined.
113 CallGenerator* inline_cg = this->call_generator(callee,
114 vtable_index, call_is_virtual, jvms, allow_inline, prof_factor, false);
115 if (inline_cg != NULL) {
116 cg = CallGenerator::for_predicted_intrinsic(cg, inline_cg);
117 }
118 }
119 return cg;
120 }
111 } 121 }
112 122
113 // Do method handle calls. 123 // Do method handle calls.
114 // NOTE: This must happen before normal inlining logic below since 124 // NOTE: This must happen before normal inlining logic below since
115 // MethodHandle.invoke* are native methods which obviously don't 125 // MethodHandle.invoke* are native methods which obviously don't