src/cpu/x86/vm/c1_CodeStubs_x86.cpp

changeset 2228
07a218de38cb
parent 2174
f02a8bbe6ed4
child 2314
f95d63e2154a
equal deleted inserted replaced
2208:b98784e85f71 2228:07a218de38cb
497 assert(addr()->is_register(), "Precondition."); 497 assert(addr()->is_register(), "Precondition.");
498 assert(new_val()->is_register(), "Precondition."); 498 assert(new_val()->is_register(), "Precondition.");
499 Register new_val_reg = new_val()->as_register(); 499 Register new_val_reg = new_val()->as_register();
500 __ cmpptr(new_val_reg, (int32_t) NULL_WORD); 500 __ cmpptr(new_val_reg, (int32_t) NULL_WORD);
501 __ jcc(Assembler::equal, _continuation); 501 __ jcc(Assembler::equal, _continuation);
502 ce->store_parameter(addr()->as_register(), 0); 502 ce->store_parameter(addr()->as_pointer_register(), 0);
503 __ call(RuntimeAddress(Runtime1::entry_for(Runtime1::g1_post_barrier_slow_id))); 503 __ call(RuntimeAddress(Runtime1::entry_for(Runtime1::g1_post_barrier_slow_id)));
504 __ jmp(_continuation); 504 __ jmp(_continuation);
505 } 505 }
506 506
507 #endif // SERIALGC 507 #endif // SERIALGC

mercurial