Closed Bug 973091 Opened 10 years ago Closed 10 years ago

Don't abort on arguments & setarg if arguments doesn't escape and has no setelems

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: shu, Unassigned)

References

Details

(Whiteboard: [performance][shumway])

Currently if a script both has the |arguments| object and a SETARG, Ion barfs. This is a huge perf hit for functions that implement default arguments more correctly than checking for undefined, e.g.:

function foo(a) {
  a = arguments.length < 1 ? defaultArg : a;
  ...
}
Whiteboard: [performance][shumway]
Kannan, what's needed to reland bug 921120? Maybe this is just a matter of that.
Flags: needinfo?(kvijayan)
Heh, mid-air collided while trying to CC Kannan.
Blocks: 885526
(In reply to Shu-yu Guo [:shu] from comment #1)
> Kannan, what's needed to reland bug 921120? Maybe this is just a matter of
> that.

Proper fix for bug 957475.
Flags: needinfo?(kvijayan)
Shu, I don't know what your test case was. Can you (I'm being optimistic) confirm that this is fixed?
Flags: needinfo?(shu)
(In reply to Till Schneidereit [:till] from comment #4)
> Shu, I don't know what your test case was. Can you (I'm being optimistic)
> confirm that this is fixed?

Ion is now able to compile SETARG even in the presence of an arguments binding.
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(shu)
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.