< prev index next >

src/share/vm/opto/escape.cpp

Print this page

        

*** 2014,2025 **** bt = field->layout_type(); } else { // Check for unsafe oop field access for (DUIterator_Fast imax, i = n->fast_outs(imax); i < imax; i++) { int opcode = n->fast_out(i)->Opcode(); ! if (opcode == Op_StoreP || opcode == Op_LoadP || ! opcode == Op_StoreN || opcode == Op_LoadN) { bt = T_OBJECT; (*unsafe) = true; break; } } --- 2014,2027 ---- bt = field->layout_type(); } else { // Check for unsafe oop field access for (DUIterator_Fast imax, i = n->fast_outs(imax); i < imax; i++) { int opcode = n->fast_out(i)->Opcode(); ! if (opcode == Op_StoreP || opcode == Op_StoreN || ! opcode == Op_LoadP || opcode == Op_LoadN || ! opcode == Op_GetAndSetP || opcode == Op_GetAndSetN || ! opcode == Op_CompareAndSwapP || opcode == Op_CompareAndSwapN) { bt = T_OBJECT; (*unsafe) = true; break; } }
*** 2035,2046 **** } } else if (adr_type->isa_rawptr() || adr_type->isa_klassptr()) { // Allocation initialization, ThreadLocal field access, unsafe access for (DUIterator_Fast imax, i = n->fast_outs(imax); i < imax; i++) { int opcode = n->fast_out(i)->Opcode(); ! if (opcode == Op_StoreP || opcode == Op_LoadP || ! opcode == Op_StoreN || opcode == Op_LoadN) { bt = T_OBJECT; break; } } } --- 2037,2050 ---- } } else if (adr_type->isa_rawptr() || adr_type->isa_klassptr()) { // Allocation initialization, ThreadLocal field access, unsafe access for (DUIterator_Fast imax, i = n->fast_outs(imax); i < imax; i++) { int opcode = n->fast_out(i)->Opcode(); ! if (opcode == Op_StoreP || opcode == Op_StoreN || ! opcode == Op_LoadP || opcode == Op_LoadN || ! opcode == Op_GetAndSetP || opcode == Op_GetAndSetN || ! opcode == Op_CompareAndSwapP || opcode == Op_CompareAndSwapN) { bt = T_OBJECT; break; } } }
< prev index next >