Closed Bug 994937 Opened 6 years ago Closed 6 years ago

remove JSOP_CALL* opcodes

Categories

(Core :: JavaScript Engine, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla31

People

(Reporter: luke, Assigned: luke)

Details

Attachments

(1 file)

These used to matter for decompilation and have difference semantics than their JSOP_* versions, but that all is long gone, so I think we can just remove them all.
Attached patch rm-call-opsSplinter Review
The only thing non-trivial is the removal of the JSOP_CALLGNAME branch in BaselineIC.cpp.  Looking at the interpreter path for JSOP_CALLGNAME, we don't do __noSuchMethod__ junk for CALLGNAME, so I'm pretty sure this is safe, but double check me Kannan; I think you added this recently.
Assignee: nobody → luke
Status: NEW → ASSIGNED
Attachment #8404989 - Flags: review?(kvijayan)
Comment on attachment 8404989 [details] [diff] [review]
rm-call-ops

Review of attachment 8404989 [details] [diff] [review]:
-----------------------------------------------------------------

Nothing wrong I can spot.  Nice with the code elimination.
Attachment #8404989 - Flags: review?(kvijayan) → review+
Can they not still end up with different semantics depending on what happens with the invoke trap in ES6?
The invoke trap is not in ES6. I'm pretty sure it's never coming back.
https://hg.mozilla.org/mozilla-central/rev/7da4589ad249
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla31
You need to log in before you can comment on or make changes to this bug.