RESOLVED FIXED 163925
We should be able to eliminate rest parameter allocations
https://bugs.webkit.org/show_bug.cgi?id=163925
Summary We should be able to eliminate rest parameter allocations
Saam Barati
Reported 2016-10-24 17:02:52 PDT
...
Attachments
WIP (21.15 KB, patch)
2016-10-24 19:59 PDT, Saam Barati
no flags
WIP (31.15 KB, patch)
2016-10-26 16:43 PDT, Saam Barati
no flags
WIP (56.75 KB, patch)
2016-10-28 00:34 PDT, Saam Barati
no flags
WIP (70.03 KB, patch)
2016-10-31 12:53 PDT, Saam Barati
no flags
patch (77.42 KB, patch)
2016-10-31 14:58 PDT, Saam Barati
no flags
patch (77.49 KB, patch)
2016-10-31 15:00 PDT, Saam Barati
fpizlo: review+
patch for landing (77.89 KB, patch)
2016-10-31 16:55 PDT, Saam Barati
no flags
Saam Barati
Comment 1 2016-10-24 19:59:04 PDT
Created attachment 292704 [details] WIP it begins
Saam Barati
Comment 2 2016-10-26 16:43:32 PDT
Created attachment 292974 [details] WIP This might mostly work, I just need to prove it to myself and write some interesting tests.
Saam Barati
Comment 3 2016-10-28 00:34:57 PDT
Created attachment 293123 [details] WIP I think this works now. I'm still in the process of writing many tests.
Saam Barati
Comment 4 2016-10-31 12:53:19 PDT
Created attachment 293454 [details] WIP I think this might be done, just want to read over the entire patch and write a change log.
WebKit Commit Bot
Comment 5 2016-10-31 12:54:57 PDT
Attachment 293454 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp:650: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Total errors found: 1 in 27 files If any of these errors are false positives, please file a bug against check-webkit-style.
Saam Barati
Comment 6 2016-10-31 14:58:04 PDT
Saam Barati
Comment 7 2016-10-31 15:00:09 PDT
WebKit Commit Bot
Comment 8 2016-10-31 15:02:18 PDT
Attachment 293470 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/ChangeLog:21: Line contains tab character. [whitespace/tab] [5] ERROR: Source/JavaScriptCore/ChangeLog:22: Line contains tab character. [whitespace/tab] [5] ERROR: Source/JavaScriptCore/ChangeLog:23: Line contains tab character. [whitespace/tab] [5] ERROR: Source/JavaScriptCore/ChangeLog:24: Line contains tab character. [whitespace/tab] [5] ERROR: Source/JavaScriptCore/ChangeLog:55: Line contains tab character. [whitespace/tab] [5] ERROR: Source/JavaScriptCore/ChangeLog:56: Line contains tab character. [whitespace/tab] [5] ERROR: Source/JavaScriptCore/ChangeLog:57: Line contains tab character. [whitespace/tab] [5] ERROR: Source/JavaScriptCore/ChangeLog:58: Line contains tab character. [whitespace/tab] [5] ERROR: Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp:650: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Total errors found: 9 in 29 files If any of these errors are false positives, please file a bug against check-webkit-style.
Saam Barati
Comment 9 2016-10-31 15:21:58 PDT
Will fix tabs in ChangeLog. Not sure why vim added those.
Filip Pizlo
Comment 10 2016-10-31 15:57:35 PDT
Comment on attachment 293470 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=293470&action=review Gnarly! r=me. > Source/JavaScriptCore/bytecode/CodeBlock.cpp:2346 > +#if !ASSERT_DISABLED Is it necessary to have this guard? > Source/JavaScriptCore/bytecode/CodeBlock.cpp:2349 > + ASSERT(numberOfArgumentsToSkip >= 0); Maybe this should just be ASSERT_UNUSED(numberOfArgumentsToSkip, numberOfArgumentsToSkip >= 0);
Saam Barati
Comment 11 2016-10-31 16:42:39 PDT
Comment on attachment 293470 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=293470&action=review >> Source/JavaScriptCore/bytecode/CodeBlock.cpp:2346 >> +#if !ASSERT_DISABLED > > Is it necessary to have this guard? Probably not. I'll go with your suggestion below.
Saam Barati
Comment 12 2016-10-31 16:55:40 PDT
Created attachment 293496 [details] patch for landing
WebKit Commit Bot
Comment 13 2016-10-31 19:59:26 PDT
Comment on attachment 293496 [details] patch for landing Clearing flags on attachment: 293496 Committed r208208: <http://trac.webkit.org/changeset/208208>
WebKit Commit Bot
Comment 14 2016-10-31 19:59:30 PDT
All reviewed patches have been landed. Closing bug.
Simon Fraser (smfr)
Comment 15 2016-10-31 20:27:37 PDT
Build fix in https://trac.webkit.org/r208210. I don't get the if (!ASSERT_DISABLED) {...} Why not #ifdef the whole loop?
Saam Barati
Comment 16 2016-10-31 23:23:48 PDT
(In reply to comment #15) > Build fix in https://trac.webkit.org/r208210. > > I don't get the if (!ASSERT_DISABLED) {...} > > Why not #ifdef the whole loop? I'm following what we do in other places (I'm not sure what the motivation is to use if instead of #if inside JSC for some situations). Maybe this is a place where it should be #if.
WebKit Commit Bot
Comment 17 2016-11-01 10:20:34 PDT
Re-opened since this is blocked by bug 164276
Ryan Haddad
Comment 18 2016-11-01 10:35:10 PDT
(In reply to comment #17) > Re-opened since this is blocked by bug 164276 Details in: https://bugs.webkit.org/show_bug.cgi?id=164274
Saam Barati
Comment 19 2016-11-01 12:42:17 PDT
Oops, I forgot to update that a particular assert to work with PhantomCreateRest. Working on an updated patch now.
Saam Barati
Comment 20 2016-11-01 13:06:46 PDT
Note You need to log in before you can comment on or make changes to this bug.