Closed Bug 1585568 Opened 4 months ago Closed 4 months ago

[BinAST] Optimize away {AutoBase,AutoList,AutoTaggedTuple} allocation and method invocation

Categories

(Core :: JavaScript Engine, task, P3)

task

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox71 --- fixed

People

(Reporter: arai, Assigned: arai)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

AutoBase, AutoList, and AutoTaggedTuple for Context are no-op in opt-build,
but given they're not inlined, they're not optimizable.

AutoBase::init is almost no-op in opt-build, but given
enterTaggedTuple/enterList isn't inlinable, the parameter cannot be optimized
out, thus the constructor call is also not optimizable.

Moved out the call, in order to make them optimizable in the next patch.

Depends on D48018

{AutoBase,AutoTaggedTuple,AutoList} in BinASTTokenReaderContext is almost no-op
in opt-build.
Made them completely no-op, so that the allocation/call can be optimized out.

Depends on D48019

Pushed by arai_a@mac.com:
https://hg.mozilla.org/integration/autoland/rev/eb0ba91fc18a
Part 1: Move guard.init out of enterTaggedTuple/enterList in order to make it possible to optimize the call away. r=Yoric
https://hg.mozilla.org/integration/autoland/rev/84a9abe7de80
Part 2: Inline {AutoBase,AutoTaggedTuple,AutoList} methods and remove debug-only fields. r=Yoric
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
You need to log in before you can comment on or make changes to this bug.