diff src/cpu/x86/vm/templateInterpreterGenerator_x86_32.cpp @ 12320:3f551de87e59

8169711: CDS does not patch entry trampoline if intrinsic method is disabled Summary: Always create interpreter method entries for intrinsified methods but replace them with vanilla entries if the intrinsic is disabled at runtime. Reviewed-by: kvn, iklam
author thartmann
date Mon, 21 Nov 2016 08:27:10 +0100
parents ca56c5db7157
children
line wrap: on
line diff
--- a/src/cpu/x86/vm/templateInterpreterGenerator_x86_32.cpp	Fri Nov 18 19:04:48 2016 +0000
+++ b/src/cpu/x86/vm/templateInterpreterGenerator_x86_32.cpp	Mon Nov 21 08:27:10 2016 +0100
@@ -342,6 +342,9 @@
   //        [ hi(arg) ]
   //
   if (kind == Interpreter::java_lang_math_fmaD) {
+    if (!UseFMA) {
+      return NULL; // Generate a vanilla entry
+    }
     __ movdbl(xmm2, Address(rsp, 5 * wordSize));
     __ movdbl(xmm1, Address(rsp, 3 * wordSize));
     __ movdbl(xmm0, Address(rsp, 1 * wordSize));
@@ -352,6 +355,9 @@
 
     return entry_point;
   } else if (kind == Interpreter::java_lang_math_fmaF) {
+    if (!UseFMA) {
+      return NULL; // Generate a vanilla entry
+    }
     __ movflt(xmm2, Address(rsp, 3 * wordSize));
     __ movflt(xmm1, Address(rsp, 2 * wordSize));
     __ movflt(xmm0, Address(rsp, 1 * wordSize));