| Summary: | Arity check slow path should ensure that when we return, we restore SP back to what the caller expects | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||||||||||
| Component: | JavaScriptCore | Assignee: | Filip Pizlo <fpizlo> | ||||||||||||
| Status: | RESOLVED FIXED | ||||||||||||||
| Severity: | Normal | CC: | barraclough, ggaren, mark.lam, mhahnenberg, msaboff, oliver, sam | ||||||||||||
| Priority: | P2 | ||||||||||||||
| Version: | 528+ (Nightly build) | ||||||||||||||
| Hardware: | All | ||||||||||||||
| OS: | All | ||||||||||||||
| Bug Depends on: | |||||||||||||||
| Bug Blocks: | 113621 | ||||||||||||||
| Attachments: |
|
||||||||||||||
Created attachment 219723 [details]
it begins
Created attachment 219729 [details]
it takes shape
(In reply to comment #2) > Created an attachment (id=219729) [details] > it takes shape What remains: - Do the same thing in FTL & DFG that I'm doing in the baseline JIT. - Port to 32-bit. - Make it work in LLInt's copy loop. Created attachment 219739 [details]
it runs things
Still need to do:
- LLInt
- 32-bit
Created attachment 219742 [details]
LLInt starting to work
Created attachment 219803 [details]
the patch
Still need to do 32-bit. But, I don't think I can even test 32-bit right now. Porting it would be easy if I could test.
64-bit parts landed in http://trac.webkit.org/changeset/160936 Comment on attachment 219803 [details]
the patch
r=me
|
Patch forthcoming. Test case: function bar(a,b,c,d,e,f,g,h,i,j,k) { } noInline(bar); for (var i = 0; i < 10000000; ++i) bar();