8326385: [aarch64] C2: lightweight locking nodes kill the box register without specifying this effect
Reviewed-by: aboldtch, dlong
This commit is contained in:
parent
cc9a8aba67
commit
07acc0bbad
@ -16019,33 +16019,33 @@ instruct cmpFastUnlock(rFlagsReg cr, iRegP object, iRegP box, iRegPNoSp tmp, iRe
|
|||||||
ins_pipe(pipe_serial);
|
ins_pipe(pipe_serial);
|
||||||
%}
|
%}
|
||||||
|
|
||||||
instruct cmpFastLockLightweight(rFlagsReg cr, iRegP object, iRegP box, iRegPNoSp tmp, iRegPNoSp tmp2)
|
instruct cmpFastLockLightweight(rFlagsReg cr, iRegP object, iRegP box, iRegPNoSp tmp, iRegPNoSp tmp2, iRegPNoSp tmp3)
|
||||||
%{
|
%{
|
||||||
predicate(LockingMode == LM_LIGHTWEIGHT);
|
predicate(LockingMode == LM_LIGHTWEIGHT);
|
||||||
match(Set cr (FastLock object box));
|
match(Set cr (FastLock object box));
|
||||||
effect(TEMP tmp, TEMP tmp2);
|
effect(TEMP tmp, TEMP tmp2, TEMP tmp3);
|
||||||
|
|
||||||
ins_cost(5 * INSN_COST);
|
ins_cost(5 * INSN_COST);
|
||||||
format %{ "fastlock $object,$box\t! kills $tmp,$tmp2" %}
|
format %{ "fastlock $object,$box\t! kills $tmp,$tmp2,$tmp3" %}
|
||||||
|
|
||||||
ins_encode %{
|
ins_encode %{
|
||||||
__ fast_lock_lightweight($object$$Register, $box$$Register, $tmp$$Register, $tmp2$$Register);
|
__ fast_lock_lightweight($object$$Register, $tmp$$Register, $tmp2$$Register, $tmp3$$Register);
|
||||||
%}
|
%}
|
||||||
|
|
||||||
ins_pipe(pipe_serial);
|
ins_pipe(pipe_serial);
|
||||||
%}
|
%}
|
||||||
|
|
||||||
instruct cmpFastUnlockLightweight(rFlagsReg cr, iRegP object, iRegP box, iRegPNoSp tmp, iRegPNoSp tmp2)
|
instruct cmpFastUnlockLightweight(rFlagsReg cr, iRegP object, iRegP box, iRegPNoSp tmp, iRegPNoSp tmp2, iRegPNoSp tmp3)
|
||||||
%{
|
%{
|
||||||
predicate(LockingMode == LM_LIGHTWEIGHT);
|
predicate(LockingMode == LM_LIGHTWEIGHT);
|
||||||
match(Set cr (FastUnlock object box));
|
match(Set cr (FastUnlock object box));
|
||||||
effect(TEMP tmp, TEMP tmp2);
|
effect(TEMP tmp, TEMP tmp2, TEMP tmp3);
|
||||||
|
|
||||||
ins_cost(5 * INSN_COST);
|
ins_cost(5 * INSN_COST);
|
||||||
format %{ "fastunlock $object,$box\t! kills $tmp, $tmp2" %}
|
format %{ "fastunlock $object,$box\t! kills $tmp, $tmp2, $tmp3" %}
|
||||||
|
|
||||||
ins_encode %{
|
ins_encode %{
|
||||||
__ fast_unlock_lightweight($object$$Register, $box$$Register, $tmp$$Register, $tmp2$$Register);
|
__ fast_unlock_lightweight($object$$Register, $tmp$$Register, $tmp2$$Register, $tmp3$$Register);
|
||||||
%}
|
%}
|
||||||
|
|
||||||
ins_pipe(pipe_serial);
|
ins_pipe(pipe_serial);
|
||||||
|
Loading…
Reference in New Issue
Block a user