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 } |