--- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp Mon May 14 09:36:00 2012 -0700
+++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp Tue May 15 10:10:23 2012 +0200
@@ -2136,11 +2136,23 @@
__ trigfunc('t');
__ ret(0);
}
+ {
+ StubCodeMark mark(this, "StubRoutines", "exp");
+ StubRoutines::_intrinsic_exp = (double (*)(double)) __ pc();
- // The intrinsic version of these seem to return the same value as
- // the strict version.
- StubRoutines::_intrinsic_exp = SharedRuntime::dexp;
- StubRoutines::_intrinsic_pow = SharedRuntime::dpow;
+ __ fld_d(Address(rsp, 4));
+ __ exp_with_fallback(0);
+ __ ret(0);
+ }
+ {
+ StubCodeMark mark(this, "StubRoutines", "pow");
+ StubRoutines::_intrinsic_pow = (double (*)(double,double)) __ pc();
+
+ __ fld_d(Address(rsp, 12));
+ __ fld_d(Address(rsp, 4));
+ __ pow_with_fallback(0);
+ __ ret(0);
+ }
}
public: