comparison src/share/vm/opto/loopTransform.cpp @ 17780:606acabe7b5c

8031320: Use Intel RTM instructions for locks Summary: Use RTM for inflated locks and stack locks. Reviewed-by: iveresov, twisti, roland, dcubed
author kvn
date Thu, 20 Mar 2014 17:49:27 -0700
parents 085b304a1cc5
children 62c54fcc0a35
comparison
equal deleted inserted replaced
17778:a48e16541e6b 17780:606acabe7b5c
615 case Op_StrIndexOf: 615 case Op_StrIndexOf:
616 case Op_EncodeISOArray: 616 case Op_EncodeISOArray:
617 case Op_AryEq: { 617 case Op_AryEq: {
618 return false; 618 return false;
619 } 619 }
620 #if INCLUDE_RTM_OPT
621 case Op_FastLock:
622 case Op_FastUnlock: {
623 // Don't unroll RTM locking code because it is large.
624 if (UseRTMLocking) {
625 return false;
626 }
627 }
628 #endif
620 } // switch 629 } // switch
621 } 630 }
622 631
623 return true; // Do maximally unroll 632 return true; // Do maximally unroll
624 } 633 }
720 case Op_AryEq: { 729 case Op_AryEq: {
721 // Do not unroll a loop with String intrinsics code. 730 // Do not unroll a loop with String intrinsics code.
722 // String intrinsics are large and have loops. 731 // String intrinsics are large and have loops.
723 return false; 732 return false;
724 } 733 }
734 #if INCLUDE_RTM_OPT
735 case Op_FastLock:
736 case Op_FastUnlock: {
737 // Don't unroll RTM locking code because it is large.
738 if (UseRTMLocking) {
739 return false;
740 }
741 }
742 #endif
725 } // switch 743 } // switch
726 } 744 }
727 745
728 // Check for being too big 746 // Check for being too big
729 if (body_size > (uint)LoopUnrollLimit) { 747 if (body_size > (uint)LoopUnrollLimit) {