8199604_cardtablemodrefbs_rename
72 assert(Assembler::is_simm13(offset), "fix this code");
73 __ store_heap_oop(val, base, offset);
74 } else {
75 __ store_heap_oop(val, base, index);
76 }
77
78 // No need for post barrier if storing NULL
79 if (val != G0) {
80 if (precise) {
81 if (index == noreg) {
82 __ add(base, offset, base);
83 } else {
84 __ add(base, index, base);
85 }
86 }
87 __ g1_write_barrier_post(base, new_val, tmp);
88 }
89 }
90 break;
91 #endif // INCLUDE_ALL_GCS
92 case BarrierSet::CardTableModRef:
93 {
94 if (index == noreg ) {
95 assert(Assembler::is_simm13(offset), "fix this code");
96 __ store_heap_oop(val, base, offset);
97 } else {
98 __ store_heap_oop(val, base, index);
99 }
100 // No need for post barrier if storing NULL
101 if (val != G0) {
102 if (precise) {
103 if (index == noreg) {
104 __ add(base, offset, base);
105 } else {
106 __ add(base, index, base);
107 }
108 }
109 __ card_write_barrier_post(base, val, tmp);
110 }
111 }
|
72 assert(Assembler::is_simm13(offset), "fix this code");
73 __ store_heap_oop(val, base, offset);
74 } else {
75 __ store_heap_oop(val, base, index);
76 }
77
78 // No need for post barrier if storing NULL
79 if (val != G0) {
80 if (precise) {
81 if (index == noreg) {
82 __ add(base, offset, base);
83 } else {
84 __ add(base, index, base);
85 }
86 }
87 __ g1_write_barrier_post(base, new_val, tmp);
88 }
89 }
90 break;
91 #endif // INCLUDE_ALL_GCS
92 case BarrierSet::CardTableBarrierSet:
93 {
94 if (index == noreg ) {
95 assert(Assembler::is_simm13(offset), "fix this code");
96 __ store_heap_oop(val, base, offset);
97 } else {
98 __ store_heap_oop(val, base, index);
99 }
100 // No need for post barrier if storing NULL
101 if (val != G0) {
102 if (precise) {
103 if (index == noreg) {
104 __ add(base, offset, base);
105 } else {
106 __ add(base, index, base);
107 }
108 }
109 __ card_write_barrier_post(base, val, tmp);
110 }
111 }
|