comparison src/share/vm/opto/loopTransform.cpp @ 7637:b30b3c2a0cf2

6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86 Summary: Use SSE4.2 and AVX2 instructions for encodeArray intrinsic. Reviewed-by: roland
author kvn
date Tue, 22 Jan 2013 15:34:16 -0800
parents 2aff40cb4703
children b5cb079ecaa4
comparison
equal deleted inserted replaced
7636:a7114d3d712e 7637:b30b3c2a0cf2
611 Node* n = _body.at(k); 611 Node* n = _body.at(k);
612 switch (n->Opcode()) { 612 switch (n->Opcode()) {
613 case Op_StrComp: 613 case Op_StrComp:
614 case Op_StrEquals: 614 case Op_StrEquals:
615 case Op_StrIndexOf: 615 case Op_StrIndexOf:
616 case Op_EncodeISOArray:
616 case Op_AryEq: { 617 case Op_AryEq: {
617 return false; 618 return false;
618 } 619 }
619 } // switch 620 } // switch
620 } 621 }
715 case Op_DivL: body_size += 30; break; 716 case Op_DivL: body_size += 30; break;
716 case Op_MulL: body_size += 10; break; 717 case Op_MulL: body_size += 10; break;
717 case Op_StrComp: 718 case Op_StrComp:
718 case Op_StrEquals: 719 case Op_StrEquals:
719 case Op_StrIndexOf: 720 case Op_StrIndexOf:
721 case Op_EncodeISOArray:
720 case Op_AryEq: { 722 case Op_AryEq: {
721 // Do not unroll a loop with String intrinsics code. 723 // Do not unroll a loop with String intrinsics code.
722 // String intrinsics are large and have loops. 724 // String intrinsics are large and have loops.
723 return false; 725 return false;
724 } 726 }