hotspot/src/share/vm/interpreter/interpreter.cpp
changeset 32391 01e2f5e916c7
parent 31620 53be635ad49c
child 33066 d98eab8215c4
child 33105 294e48b4f704
equal deleted inserted replaced
32371:8815f2d1447f 32391:01e2f5e916c7
   232       case vmIntrinsics::_updateCRC32            : return java_util_zip_CRC32_update;
   232       case vmIntrinsics::_updateCRC32            : return java_util_zip_CRC32_update;
   233       case vmIntrinsics::_updateBytesCRC32       : return java_util_zip_CRC32_updateBytes;
   233       case vmIntrinsics::_updateBytesCRC32       : return java_util_zip_CRC32_updateBytes;
   234       case vmIntrinsics::_updateByteBufferCRC32  : return java_util_zip_CRC32_updateByteBuffer;
   234       case vmIntrinsics::_updateByteBufferCRC32  : return java_util_zip_CRC32_updateByteBuffer;
   235     }
   235     }
   236   }
   236   }
   237 #endif
   237 
       
   238   switch(m->intrinsic_id()) {
       
   239   case vmIntrinsics::_intBitsToFloat:      return java_lang_Float_intBitsToFloat;
       
   240   case vmIntrinsics::_floatToRawIntBits:   return java_lang_Float_floatToRawIntBits;
       
   241   case vmIntrinsics::_longBitsToDouble:    return java_lang_Double_longBitsToDouble;
       
   242   case vmIntrinsics::_doubleToRawLongBits: return java_lang_Double_doubleToRawLongBits;
       
   243   }
       
   244 
       
   245 #endif // CC_INTERP
   238 
   246 
   239   // Native method?
   247   // Native method?
   240   // Note: This test must come _before_ the test for intrinsic
   248   // Note: This test must come _before_ the test for intrinsic
   241   //       methods. See also comments below.
   249   //       methods. See also comments below.
   242   if (m->is_native()) {
   250   if (m->is_native()) {
   557                                            : entry_point = generate_CRC32_update_entry();  break;
   565                                            : entry_point = generate_CRC32_update_entry();  break;
   558   case Interpreter::java_util_zip_CRC32_updateBytes
   566   case Interpreter::java_util_zip_CRC32_updateBytes
   559                                            : // fall thru
   567                                            : // fall thru
   560   case Interpreter::java_util_zip_CRC32_updateByteBuffer
   568   case Interpreter::java_util_zip_CRC32_updateByteBuffer
   561                                            : entry_point = generate_CRC32_updateBytes_entry(kind); break;
   569                                            : entry_point = generate_CRC32_updateBytes_entry(kind); break;
       
   570 #if defined(TARGET_ARCH_x86) && !defined(_LP64)
       
   571   // On x86_32 platforms, a special entry is generated for the following four methods.
       
   572   // On other platforms the normal entry is used to enter these methods.
       
   573   case Interpreter::java_lang_Float_intBitsToFloat
       
   574                                            : entry_point = generate_Float_intBitsToFloat_entry(); break;
       
   575   case Interpreter::java_lang_Float_floatToRawIntBits
       
   576                                            : entry_point = generate_Float_floatToRawIntBits_entry(); break;
       
   577   case Interpreter::java_lang_Double_longBitsToDouble
       
   578                                            : entry_point = generate_Double_longBitsToDouble_entry(); break;
       
   579   case Interpreter::java_lang_Double_doubleToRawLongBits
       
   580                                            : entry_point = generate_Double_doubleToRawLongBits_entry(); break;
       
   581 #else
       
   582   case Interpreter::java_lang_Float_intBitsToFloat:
       
   583   case Interpreter::java_lang_Float_floatToRawIntBits:
       
   584   case Interpreter::java_lang_Double_longBitsToDouble:
       
   585   case Interpreter::java_lang_Double_doubleToRawLongBits:
       
   586     entry_point = generate_native_entry(false);
       
   587     break;
       
   588 #endif // defined(TARGET_ARCH_x86) && !defined(_LP64)
   562 #endif // CC_INTERP
   589 #endif // CC_INTERP
   563   default:
   590   default:
   564     fatal(err_msg("unexpected method kind: %d", kind));
   591     fatal(err_msg("unexpected method kind: %d", kind));
   565     break;
   592     break;
   566   }
   593   }