comparison src/share/vm/opto/library_call.cpp @ 827:bf3489cc0aa0

6856025: assert(_base >= OopPtr && _base <= KlassPtr,"Not a Java pointer") Reviewed-by: kvn
author never
date Wed, 01 Jul 2009 12:22:23 -0700
parents 8f5825e0aeaa
children acba6af809c8
comparison
equal deleted inserted replaced
826:3f06f139ef53 827:bf3489cc0aa0
2391 cas = _gvn.transform(new (C, 5) CompareAndSwapLNode(control(), mem, adr, newval, oldval)); 2391 cas = _gvn.transform(new (C, 5) CompareAndSwapLNode(control(), mem, adr, newval, oldval));
2392 break; 2392 break;
2393 case T_OBJECT: 2393 case T_OBJECT:
2394 // reference stores need a store barrier. 2394 // reference stores need a store barrier.
2395 // (They don't if CAS fails, but it isn't worth checking.) 2395 // (They don't if CAS fails, but it isn't worth checking.)
2396 pre_barrier(control(), base, adr, alias_idx, newval, value_type->is_oopptr(), T_OBJECT); 2396 pre_barrier(control(), base, adr, alias_idx, newval, value_type->make_oopptr(), T_OBJECT);
2397 #ifdef _LP64 2397 #ifdef _LP64
2398 if (adr->bottom_type()->is_ptr_to_narrowoop()) { 2398 if (adr->bottom_type()->is_ptr_to_narrowoop()) {
2399 Node *newval_enc = _gvn.transform(new (C, 2) EncodePNode(newval, newval->bottom_type()->make_narrowoop())); 2399 Node *newval_enc = _gvn.transform(new (C, 2) EncodePNode(newval, newval->bottom_type()->make_narrowoop()));
2400 Node *oldval_enc = _gvn.transform(new (C, 2) EncodePNode(oldval, oldval->bottom_type()->make_narrowoop())); 2400 Node *oldval_enc = _gvn.transform(new (C, 2) EncodePNode(oldval, oldval->bottom_type()->make_narrowoop()));
2401 cas = _gvn.transform(new (C, 5) CompareAndSwapNNode(control(), mem, adr, 2401 cas = _gvn.transform(new (C, 5) CompareAndSwapNNode(control(), mem, adr,