src/cpu/x86/vm/templateTable_x86_32.cpp
Print this page
rev 2162 : [mq]: code-review-comments-vladimir
*** 137,156 ****
} else {
__ leal(rdx, obj);
}
__ get_thread(rcx);
__ save_bcp();
! __ g1_write_barrier_pre(rdx, rcx, rsi, rbx, val != noreg);
// Do the actual store
// noreg means NULL
if (val == noreg) {
__ movptr(Address(rdx, 0), NULL_WORD);
// No post barrier for NULL
} else {
__ movl(Address(rdx, 0), val);
! __ g1_write_barrier_post(rdx, rax, rcx, rbx, rsi);
}
__ restore_bcp();
}
break;
--- 137,165 ----
} else {
__ leal(rdx, obj);
}
__ get_thread(rcx);
__ save_bcp();
! __ g1_write_barrier_pre(rdx /* obj */,
! rbx /* pre_val */,
! rcx /* thread */,
! rsi /* tmp */,
! val != noreg /* tosca_live */,
! false /* expand_call */);
// Do the actual store
// noreg means NULL
if (val == noreg) {
__ movptr(Address(rdx, 0), NULL_WORD);
// No post barrier for NULL
} else {
__ movl(Address(rdx, 0), val);
! __ g1_write_barrier_post(rdx /* store_adr */,
! val /* new_val */,
! rcx /* thread */,
! rbx /* tmp */,
! rsi /* tmp2 */);
}
__ restore_bcp();
}
break;