< prev index next >

src/cpu/sparc/vm/c1_Runtime1_sparc.cpp

Print this page

        

*** 879,902 **** // Use return-from-leaf __ retl(); __ delayed()->st_ptr(tmp, G2_thread, satb_q_index_byte_offset); __ bind(refill); - __ save_frame(0); ! __ mov(pre_val, L0); ! __ mov(tmp, L1); ! __ mov(tmp2, L2); __ call_VM_leaf(L7_thread_cache, CAST_FROM_FN_PTR(address, SATBMarkQueueSet::handle_zero_index_for_thread), G2_thread); ! __ mov(L0, pre_val); ! __ mov(L1, tmp); ! __ mov(L2, tmp2); __ br(Assembler::always, /*annul*/false, Assembler::pt, restart); __ delayed()->restore(); } break; --- 879,897 ---- // Use return-from-leaf __ retl(); __ delayed()->st_ptr(tmp, G2_thread, satb_q_index_byte_offset); __ bind(refill); ! save_live_registers(sasm); __ call_VM_leaf(L7_thread_cache, CAST_FROM_FN_PTR(address, SATBMarkQueueSet::handle_zero_index_for_thread), G2_thread); ! restore_live_registers(sasm); __ br(Assembler::always, /*annul*/false, Assembler::pt, restart); __ delayed()->restore(); } break;
*** 984,1007 **** // Use return-from-leaf __ retl(); __ delayed()->st_ptr(tmp3, G2_thread, dirty_card_q_index_byte_offset); __ bind(refill); - __ save_frame(0); ! __ mov(tmp2, L0); ! __ mov(tmp3, L1); ! __ mov(tmp4, L2); __ call_VM_leaf(L7_thread_cache, CAST_FROM_FN_PTR(address, DirtyCardQueueSet::handle_zero_index_for_thread), G2_thread); ! __ mov(L0, tmp2); ! __ mov(L1, tmp3); ! __ mov(L2, tmp4); __ br(Assembler::always, /*annul*/false, Assembler::pt, restart); __ delayed()->restore(); } break; --- 979,997 ---- // Use return-from-leaf __ retl(); __ delayed()->st_ptr(tmp3, G2_thread, dirty_card_q_index_byte_offset); __ bind(refill); ! save_live_registers(sasm); __ call_VM_leaf(L7_thread_cache, CAST_FROM_FN_PTR(address, DirtyCardQueueSet::handle_zero_index_for_thread), G2_thread); ! restore_live_registers(sasm); __ br(Assembler::always, /*annul*/false, Assembler::pt, restart); __ delayed()->restore(); } break;
< prev index next >