src/cpu/x86/vm/assembler_x86.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/cpu/x86/vm/assembler_x86.cpp	Mon Jan 12 10:51:01 2009
--- new/src/cpu/x86/vm/assembler_x86.cpp	Mon Jan 12 10:51:00 2009

*** 6941,6952 **** --- 6941,6954 ---- push(tmp); } Label slow_case, done; + ExternalAddress pi4_adr = (address)&pi_4; + if (reachable(pi4_adr)) { // x ?<= pi/4 ! fld_d(pi4_adr); // ExternalAddress((address)&pi_4)); fld_s(1); // Stack: X PI/4 X fabs(); // Stack: |X| PI/4 X fcmp(tmp); jcc(Assembler::above, slow_case);
*** 6964,6973 **** --- 6966,6976 ---- default: assert(false, "bad intrinsic"); break; } jmp(done); + } // slow case: runtime call bind(slow_case); // Preserve registers across runtime call pusha();

src/cpu/x86/vm/assembler_x86.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File