Closed Bug 1358600 Opened 9 years ago Closed 9 years ago

Move value pop() inside preBarrier trampoline code

Categories

(Core :: JavaScript Engine: JIT, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED WONTFIX
Performance Impact none

People

(Reporter: djvj, Unassigned)

References

(Blocks 1 open bug)

Details

In MacroAssembler::callPreBarrier(), we currently call into a pre-barrier trampoline as follows: PUSH pointerVal CALL barrierTrampoline POP pointerVal we can move the value-pop into the barrierTrampoline and omit it from the inline jitcode, saving an instruction in the istream, slightly improving code density.
How can you move the value-pop into the barrierTrampoline? The stack when you enter barrierTrampoline is: > pointerVal > return address << $rsp The ancients have said that there is apparently some penalty for not having matched 'rets'.
Ah, yeah. Good point. For some reason I completely did not consider the retaddr on the stack. I'll mark this WONTFIX.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WONTFIX
Whiteboard: [qf] → [qf-]
Performance Impact: --- → -
Whiteboard: [qf-]
You need to log in before you can comment on or make changes to this bug.