comparison src/cpu/x86/vm/stubGenerator_x86_32.cpp @ 6275:957c266d8bc5

Merge with http://hg.openjdk.java.net/hsx/hsx24/hotspot/
author Doug Simon <doug.simon@oracle.com>
date Tue, 21 Aug 2012 10:39:19 +0200
parents 1c7c5be93e84 1d7922586cf6
children e522a00b91aa
comparison
equal deleted inserted replaced
5891:fd8832ae511d 6275:957c266d8bc5
2134 2134
2135 __ fld_d(Address(rsp, 4)); 2135 __ fld_d(Address(rsp, 4));
2136 __ trigfunc('t'); 2136 __ trigfunc('t');
2137 __ ret(0); 2137 __ ret(0);
2138 } 2138 }
2139 2139 {
2140 // The intrinsic version of these seem to return the same value as 2140 StubCodeMark mark(this, "StubRoutines", "exp");
2141 // the strict version. 2141 StubRoutines::_intrinsic_exp = (double (*)(double)) __ pc();
2142 StubRoutines::_intrinsic_exp = SharedRuntime::dexp; 2142
2143 StubRoutines::_intrinsic_pow = SharedRuntime::dpow; 2143 __ fld_d(Address(rsp, 4));
2144 __ exp_with_fallback(0);
2145 __ ret(0);
2146 }
2147 {
2148 StubCodeMark mark(this, "StubRoutines", "pow");
2149 StubRoutines::_intrinsic_pow = (double (*)(double,double)) __ pc();
2150
2151 __ fld_d(Address(rsp, 12));
2152 __ fld_d(Address(rsp, 4));
2153 __ pow_with_fallback(0);
2154 __ ret(0);
2155 }
2144 } 2156 }
2145 2157
2146 public: 2158 public:
2147 // Information about frame layout at time of blocking runtime call. 2159 // Information about frame layout at time of blocking runtime call.
2148 // Note that we only have to preserve callee-saved registers since 2160 // Note that we only have to preserve callee-saved registers since
2313 CAST_FROM_FN_PTR(address, SharedRuntime::d2i)); 2325 CAST_FROM_FN_PTR(address, SharedRuntime::d2i));
2314 StubRoutines::_d2l_wrapper = generate_d2i_wrapper(T_LONG, 2326 StubRoutines::_d2l_wrapper = generate_d2i_wrapper(T_LONG,
2315 CAST_FROM_FN_PTR(address, SharedRuntime::d2l)); 2327 CAST_FROM_FN_PTR(address, SharedRuntime::d2l));
2316 2328
2317 // Build this early so it's available for the interpreter 2329 // Build this early so it's available for the interpreter
2318 StubRoutines::_throw_WrongMethodTypeException_entry =
2319 generate_throw_exception("WrongMethodTypeException throw_exception",
2320 CAST_FROM_FN_PTR(address, SharedRuntime::throw_WrongMethodTypeException),
2321 rax, rcx);
2322
2323 // Build this early so it's available for the interpreter
2324 StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError)); 2330 StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
2325 } 2331 }
2326 2332
2327 2333
2328 void generate_all() { 2334 void generate_all() {