comparison src/cpu/x86/vm/macroAssembler_x86.hpp @ 17714:4d4ea046d32a

8033805: Move Fast_Lock/Fast_Unlock code from .ad files to macroassembler Summary: Consolidated C2 x86 locking code in one place in macroAssembler_x86.cpp. Reviewed-by: roland
author kvn
date Mon, 24 Feb 2014 15:12:26 -0800
parents d13d7aba8c12
children 4ca6dc0799b6 606acabe7b5c
comparison
equal deleted inserted replaced
17713:e7cf34c87433 17714:4d4ea046d32a
649 Register swap_reg, Register tmp_reg, 649 Register swap_reg, Register tmp_reg,
650 bool swap_reg_contains_mark, 650 bool swap_reg_contains_mark,
651 Label& done, Label* slow_case = NULL, 651 Label& done, Label* slow_case = NULL,
652 BiasedLockingCounters* counters = NULL); 652 BiasedLockingCounters* counters = NULL);
653 void biased_locking_exit (Register obj_reg, Register temp_reg, Label& done); 653 void biased_locking_exit (Register obj_reg, Register temp_reg, Label& done);
654 654 #ifdef COMPILER2
655 // Code used by cmpFastLock and cmpFastUnlock mach instructions in .ad file.
656 // See full desription in macroAssembler_x86.cpp.
657 void fast_lock(Register obj, Register box, Register tmp, Register scr, BiasedLockingCounters* counters);
658 void fast_unlock(Register obj, Register box, Register tmp);
659 #endif
655 660
656 Condition negate_condition(Condition cond); 661 Condition negate_condition(Condition cond);
657 662
658 // Instructions that use AddressLiteral operands. These instruction can handle 32bit/64bit 663 // Instructions that use AddressLiteral operands. These instruction can handle 32bit/64bit
659 // operands. In general the names are modified to avoid hiding the instruction in Assembler 664 // operands. In general the names are modified to avoid hiding the instruction in Assembler