equal
deleted
inserted
replaced
313 bool inline_montgomeryMultiply(); |
313 bool inline_montgomeryMultiply(); |
314 bool inline_montgomerySquare(); |
314 bool inline_montgomerySquare(); |
315 |
315 |
316 bool inline_profileBoolean(); |
316 bool inline_profileBoolean(); |
317 bool inline_isCompileConstant(); |
317 bool inline_isCompileConstant(); |
|
318 |
|
319 bool inline_deoptimize(); |
318 }; |
320 }; |
319 |
321 |
320 //---------------------------make_vm_intrinsic---------------------------- |
322 //---------------------------make_vm_intrinsic---------------------------- |
321 CallGenerator* Compile::make_vm_intrinsic(ciMethod* m, bool is_virtual) { |
323 CallGenerator* Compile::make_vm_intrinsic(ciMethod* m, bool is_virtual) { |
322 vmIntrinsics::ID id = m->intrinsic_id(); |
324 vmIntrinsics::ID id = m->intrinsic_id(); |
747 case vmIntrinsics::_isCompileConstant: |
749 case vmIntrinsics::_isCompileConstant: |
748 return inline_isCompileConstant(); |
750 return inline_isCompileConstant(); |
749 |
751 |
750 case vmIntrinsics::_hasNegatives: |
752 case vmIntrinsics::_hasNegatives: |
751 return inline_hasNegatives(); |
753 return inline_hasNegatives(); |
|
754 |
|
755 case vmIntrinsics::_deoptimize: |
|
756 return inline_deoptimize(); |
752 |
757 |
753 default: |
758 default: |
754 // If you get here, it may be that someone has added a new intrinsic |
759 // If you get here, it may be that someone has added a new intrinsic |
755 // to the list in vmSymbols.hpp without implementing it here. |
760 // to the list in vmSymbols.hpp without implementing it here. |
756 #ifndef PRODUCT |
761 #ifndef PRODUCT |
6572 bool LibraryCallKit::inline_isCompileConstant() { |
6577 bool LibraryCallKit::inline_isCompileConstant() { |
6573 Node* n = argument(0); |
6578 Node* n = argument(0); |
6574 set_result(n->is_Con() ? intcon(1) : intcon(0)); |
6579 set_result(n->is_Con() ? intcon(1) : intcon(0)); |
6575 return true; |
6580 return true; |
6576 } |
6581 } |
|
6582 |
|
6583 bool LibraryCallKit::inline_deoptimize() { |
|
6584 assert(WhiteBoxAPI, ""); |
|
6585 PreserveReexecuteState preexecs(this); |
|
6586 jvms()->set_should_reexecute(false); |
|
6587 uncommon_trap(Deoptimization::Reason_intrinsic, |
|
6588 Deoptimization::Action_none); |
|
6589 return true; |
|
6590 } |