diff options
author | never <none@none> | 2009-06-10 12:19:48 -0700 |
---|---|---|
committer | never <none@none> | 2009-06-10 12:19:48 -0700 |
commit | 1db816dbc641667b0d4014419e76cf5c44522aca (patch) | |
tree | 586058748109a73928853f26d286a77f08b56669 /src/cpu/sparc | |
parent | 93b9bb373ce618f60363d17896e4065e75455f79 (diff) | |
download | jdk8u_hotspot-1db816dbc641667b0d4014419e76cf5c44522aca.tar.gz |
6849574: VM crash using NonBlockingHashMap (high_scale_lib)
Reviewed-by: kvn
Diffstat (limited to 'src/cpu/sparc')
-rw-r--r-- | src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp b/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp index 239d867a0..a6e6c60e2 100644 --- a/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp +++ b/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp @@ -371,7 +371,7 @@ void LIRGenerator::do_StoreIndexed(StoreIndexed* x) { } __ move(value.result(), array_addr, null_check_info); if (obj_store) { - // Is this precise? + // Precise card mark post_barrier(LIR_OprFact::address(array_addr), value.result()); } } @@ -685,11 +685,8 @@ void LIRGenerator::do_CompareAndSwap(Intrinsic* x, ValueType* type) { LIR_Opr result = rlock_result(x); __ cmove(lir_cond_equal, LIR_OprFact::intConst(1), LIR_OprFact::intConst(0), result); if (type == objectType) { // Write-barrier needed for Object fields. -#ifdef PRECISE_CARDMARK + // Precise card mark since could either be object or array post_barrier(addr, val.result()); -#else - post_barrier(obj.result(), val.result()); -#endif // PRECISE_CARDMARK } } |