96 {
97 if (index == noreg ) {
98 assert(Assembler::is_simm13(offset), "fix this code");
99 __ store_heap_oop(val, base, offset);
100 } else {
101 __ store_heap_oop(val, base, index);
102 }
103 // No need for post barrier if storing NULL
104 if (val != G0) {
105 if (precise) {
106 if (index == noreg) {
107 __ add(base, offset, base);
108 } else {
109 __ add(base, index, base);
110 }
111 }
112 __ card_write_barrier_post(base, val, tmp);
113 }
114 }
115 break;
116 case BarrierSet::ModRef:
117 case BarrierSet::Other:
118 ShouldNotReachHere();
119 break;
120 default :
121 ShouldNotReachHere();
122
123 }
124 }
125
126
127 //----------------------------------------------------------------------------------------------------
128 // Platform-dependent initialization
129
130 void TemplateTable::pd_initialize() {
131 // (none)
132 }
133
134
135 //----------------------------------------------------------------------------------------------------
|
96 {
97 if (index == noreg ) {
98 assert(Assembler::is_simm13(offset), "fix this code");
99 __ store_heap_oop(val, base, offset);
100 } else {
101 __ store_heap_oop(val, base, index);
102 }
103 // No need for post barrier if storing NULL
104 if (val != G0) {
105 if (precise) {
106 if (index == noreg) {
107 __ add(base, offset, base);
108 } else {
109 __ add(base, index, base);
110 }
111 }
112 __ card_write_barrier_post(base, val, tmp);
113 }
114 }
115 break;
116 case BarrierSet::Epsilon:
117 if (index == noreg) {
118 assert(Assembler::is_simm13(offset), "fix this code");
119 __ store_heap_oop(val, base, offset);
120 } else {
121 __ store_heap_oop(val, base, index);
122 }
123 break;
124 case BarrierSet::ModRef:
125 case BarrierSet::Other:
126 ShouldNotReachHere();
127 break;
128 default :
129 ShouldNotReachHere();
130
131 }
132 }
133
134
135 //----------------------------------------------------------------------------------------------------
136 // Platform-dependent initialization
137
138 void TemplateTable::pd_initialize() {
139 // (none)
140 }
141
142
143 //----------------------------------------------------------------------------------------------------
|