comparison src/cpu/x86/vm/templateTable_x86_32.cpp @ 3284:286c498ae0d4

Merge
author kvn
date Fri, 29 Apr 2011 11:15:30 -0700
parents 08ccee2c4dbf 92add02409c9
children 81d815b05abb
comparison
equal deleted inserted replaced
3283:01fd6090fdd8 3284:286c498ae0d4
138 } else { 138 } else {
139 __ leal(rdx, obj); 139 __ leal(rdx, obj);
140 } 140 }
141 __ get_thread(rcx); 141 __ get_thread(rcx);
142 __ save_bcp(); 142 __ save_bcp();
143 __ g1_write_barrier_pre(rdx, rcx, rsi, rbx, val != noreg); 143 __ g1_write_barrier_pre(rdx /* obj */,
144 rbx /* pre_val */,
145 rcx /* thread */,
146 rsi /* tmp */,
147 val != noreg /* tosca_live */,
148 false /* expand_call */);
144 149
145 // Do the actual store 150 // Do the actual store
146 // noreg means NULL 151 // noreg means NULL
147 if (val == noreg) { 152 if (val == noreg) {
148 __ movptr(Address(rdx, 0), NULL_WORD); 153 __ movptr(Address(rdx, 0), NULL_WORD);
149 // No post barrier for NULL 154 // No post barrier for NULL
150 } else { 155 } else {
151 __ movl(Address(rdx, 0), val); 156 __ movl(Address(rdx, 0), val);
152 __ g1_write_barrier_post(rdx, rax, rcx, rbx, rsi); 157 __ g1_write_barrier_post(rdx /* store_adr */,
158 val /* new_val */,
159 rcx /* thread */,
160 rbx /* tmp */,
161 rsi /* tmp2 */);
153 } 162 }
154 __ restore_bcp(); 163 __ restore_bcp();
155 164
156 } 165 }
157 break; 166 break;