src/share/vm/classfile/vmSymbols.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6893268 Cdiff src/share/vm/classfile/vmSymbols.cpp

src/share/vm/classfile/vmSymbols.cpp

Print this page
rev 1023 : [mq]: meth.walker.patch
rev 1026 : imported patch indy.compiler.inline.patch

*** 296,305 **** --- 296,319 ---- } vmIntrinsics::ID vmIntrinsics::for_unboxing(BasicType type) { return wrapper_intrinsic(type, true); } + vmIntrinsics::ID vmIntrinsics::for_raw_conversion(BasicType src, BasicType dest) { + #define SRC_DEST(s,d) (((int)(s) << 4) + (int)(d)) + switch (SRC_DEST(src, dest)) { + case SRC_DEST(T_INT, T_FLOAT): return vmIntrinsics::_intBitsToFloat; + case SRC_DEST(T_FLOAT, T_INT): return vmIntrinsics::_floatToRawIntBits; + + case SRC_DEST(T_LONG, T_DOUBLE): return vmIntrinsics::_longBitsToDouble; + case SRC_DEST(T_DOUBLE, T_LONG): return vmIntrinsics::_doubleToRawLongBits; + } + #undef SRC_DEST + + return vmIntrinsics::_none; + } + methodOop vmIntrinsics::method_for(vmIntrinsics::ID id) { if (id == _none) return NULL; symbolOop cname = vmSymbols::symbol_at(class_for(id)); symbolOop mname = vmSymbols::symbol_at(name_for(id)); symbolOop msig = vmSymbols::symbol_at(signature_for(id));
src/share/vm/classfile/vmSymbols.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File