hotspot/src/share/vm/classfile/vmSymbols.cpp
changeset 4567 7fc02fbe5c7a
parent 4562 5d93cb2d2090
child 5547 f4b087cbb361
equal deleted inserted replaced
4566:b363f6ef4068 4567:7fc02fbe5c7a
   297 }
   297 }
   298 vmIntrinsics::ID vmIntrinsics::for_unboxing(BasicType type) {
   298 vmIntrinsics::ID vmIntrinsics::for_unboxing(BasicType type) {
   299   return wrapper_intrinsic(type, true);
   299   return wrapper_intrinsic(type, true);
   300 }
   300 }
   301 
   301 
       
   302 vmIntrinsics::ID vmIntrinsics::for_raw_conversion(BasicType src, BasicType dest) {
       
   303 #define SRC_DEST(s,d) (((int)(s) << 4) + (int)(d))
       
   304   switch (SRC_DEST(src, dest)) {
       
   305   case SRC_DEST(T_INT, T_FLOAT):   return vmIntrinsics::_intBitsToFloat;
       
   306   case SRC_DEST(T_FLOAT, T_INT):   return vmIntrinsics::_floatToRawIntBits;
       
   307 
       
   308   case SRC_DEST(T_LONG, T_DOUBLE): return vmIntrinsics::_longBitsToDouble;
       
   309   case SRC_DEST(T_DOUBLE, T_LONG): return vmIntrinsics::_doubleToRawLongBits;
       
   310   }
       
   311 #undef SRC_DEST
       
   312 
       
   313   return vmIntrinsics::_none;
       
   314 }
       
   315 
   302 methodOop vmIntrinsics::method_for(vmIntrinsics::ID id) {
   316 methodOop vmIntrinsics::method_for(vmIntrinsics::ID id) {
   303   if (id == _none)  return NULL;
   317   if (id == _none)  return NULL;
   304   symbolOop cname = vmSymbols::symbol_at(class_for(id));
   318   symbolOop cname = vmSymbols::symbol_at(class_for(id));
   305   symbolOop mname = vmSymbols::symbol_at(name_for(id));
   319   symbolOop mname = vmSymbols::symbol_at(name_for(id));
   306   symbolOop msig  = vmSymbols::symbol_at(signature_for(id));
   320   symbolOop msig  = vmSymbols::symbol_at(signature_for(id));