716 switch (bs->kind()) { |
716 switch (bs->kind()) { |
717 case BarrierSet::G1SATBCT: |
717 case BarrierSet::G1SATBCT: |
718 case BarrierSet::G1SATBCTLogging: |
718 case BarrierSet::G1SATBCTLogging: |
719 { |
719 { |
720 __ pusha(); // push registers |
720 __ pusha(); // push registers |
721 __ push(count); |
721 __ call_VM_leaf(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_pre), |
722 __ push(start); |
722 start, count); |
723 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_pre))); |
|
724 __ addptr(rsp, 2*wordSize); |
|
725 __ popa(); |
723 __ popa(); |
726 } |
724 } |
727 break; |
725 break; |
728 case BarrierSet::CardTableModRef: |
726 case BarrierSet::CardTableModRef: |
729 case BarrierSet::CardTableExtension: |
727 case BarrierSet::CardTableExtension: |
750 switch (bs->kind()) { |
748 switch (bs->kind()) { |
751 case BarrierSet::G1SATBCT: |
749 case BarrierSet::G1SATBCT: |
752 case BarrierSet::G1SATBCTLogging: |
750 case BarrierSet::G1SATBCTLogging: |
753 { |
751 { |
754 __ pusha(); // push registers |
752 __ pusha(); // push registers |
755 __ push(count); |
753 __ call_VM_leaf(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_post), |
756 __ push(start); |
754 start, count); |
757 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_post))); |
|
758 __ addptr(rsp, 2*wordSize); |
|
759 __ popa(); |
755 __ popa(); |
760 } |
756 } |
761 break; |
757 break; |
762 |
758 |
763 case BarrierSet::CardTableModRef: |
759 case BarrierSet::CardTableModRef: |