< prev index next >

src/hotspot/share/compiler/compileBroker.cpp

Print this page

        

*** 1145,1162 **** --- 1145,1164 ---- // are not preferred (i.e., calling through adapter handlers is preferred). // The reason is that on x86_32 signaling NaNs (sNaNs) are not preserved // if the version of the methods from the native libraries is called. // As the interpreter and the C2-intrinsified version of the methods preserves // sNaNs, that would result in an inconsistent way of handling of sNaNs. + #ifdef X86 if ((UseSSE >= 1 && (method->intrinsic_id() == vmIntrinsics::_intBitsToFloat || method->intrinsic_id() == vmIntrinsics::_floatToRawIntBits)) || (UseSSE >= 2 && (method->intrinsic_id() == vmIntrinsics::_longBitsToDouble || method->intrinsic_id() == vmIntrinsics::_doubleToRawLongBits))) { return NULL; } + #endif // To properly handle the appendix argument for out-of-line calls we are using a small trampoline that // pops off the appendix argument and jumps to the target (see gen_special_dispatch in SharedRuntime). // // Since normal compiled-to-compiled calls are not able to handle such a thing we MUST generate an adapter
< prev index next >