Mercurial > hg > graal-jvmci-8
comparison src/cpu/x86/vm/templateTable_x86_32.cpp @ 3252:92add02409c9
Merge
author | jmasa |
---|---|
date | Fri, 08 Apr 2011 14:19:50 -0700 |
parents | 38fea01eb669 e1162778c1c8 |
children | 286c498ae0d4 |
comparison
equal
deleted
inserted
replaced
2437:4f978fb6c81a | 3252:92add02409c9 |
---|---|
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; |