Closed Bug 1537936 Opened 6 months ago Closed 6 months ago

Remove pn_op from ParseNode

Categories

(Core :: JavaScript Engine, enhancement)

enhancement
Not set

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- fixed

People

(Reporter: khyperia, Assigned: khyperia)

References

Details

Attachments

(3 files)

We're surprisingly close to getting this to happen.

I'll split the patch into three parts:

  1. Misc. cleanup (some NameNode changes, tiny change to True/False/Undefined/NullExpr, etc.)
  2. Function call cleanup.
  3. Deleting pn_op and refactoring all the ParseNode constructors/FullParseHandler/etc. to not provide opcodes.

Point 2 is a little weird, because I'll be adding a CallNode that contains a JSOp field. This is because there are a lot of different types of calls, and those are currently encoded into JSOp (for example, CALL, SPREADCALL, NEW, SPREADNEW, SUPERCALL, SPREADSUPERCALL, the list goes on and on). I could make a new enum that corresponds basically 1-to-1 with the JSOp items, and make a mapping function, but... really, what's the point at that point.

Depends on D24410

Blocks: 1537980
Pushed by ahauck@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/647eb65d3451
part 1 - Remove miscellaneous uses of pn_op. r=jorendorff
https://hg.mozilla.org/integration/autoland/rev/37d0dcbdffd5
part 2 - Move pn_op for calls to CallNode::callOp. r=jorendorff
Pushed by ahauck@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2bf248bc4f3b
part 1 - Remove miscellaneous uses of pn_op. r=jorendorff
https://hg.mozilla.org/integration/autoland/rev/4011496a13a9
part 2 - Move pn_op for calls to CallNode::callOp. r=jorendorff
https://hg.mozilla.org/integration/autoland/rev/d9660cff2091
part 3 - Remove ParseNode::pn_op. r=jorendorff
Status: ASSIGNED → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Flags: needinfo?(khyperia)
You need to log in before you can comment on or make changes to this bug.