comparison src/cpu/x86/vm/x86_32.ad @ 1274:2883969d09e7

6910664: C2: java/util/Arrays/Sorting.java fails with DeoptimizeALot flag Summary: Matcher::float_in_double should be true only when FPU is used for floats. Reviewed-by: never, twisti
author kvn
date Fri, 19 Feb 2010 10:04:16 -0800
parents e8443c7be117
children d7f654633cfe
comparison
equal deleted inserted replaced
1273:877a14af58e1 1274:2883969d09e7
1442 1442
1443 // Advertise here if the CPU requires explicit rounding operations 1443 // Advertise here if the CPU requires explicit rounding operations
1444 // to implement the UseStrictFP mode. 1444 // to implement the UseStrictFP mode.
1445 const bool Matcher::strict_fp_requires_explicit_rounding = true; 1445 const bool Matcher::strict_fp_requires_explicit_rounding = true;
1446 1446
1447 // Do floats take an entire double register or just half? 1447 // Are floats conerted to double when stored to stack during deoptimization?
1448 const bool Matcher::float_in_double = true; 1448 // On x32 it is stored with convertion only when FPU is used for floats.
1449 bool Matcher::float_in_double() { return (UseSSE == 0); }
1450
1449 // Do ints take an entire long register or just half? 1451 // Do ints take an entire long register or just half?
1450 const bool Matcher::int_in_long = false; 1452 const bool Matcher::int_in_long = false;
1451 1453
1452 // Return whether or not this register is ever used as an argument. This 1454 // Return whether or not this register is ever used as an argument. This
1453 // function is used on startup to build the trampoline stubs in generateOptoStub. 1455 // function is used on startup to build the trampoline stubs in generateOptoStub.