-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ES6] remove AST_ArrowParametersOrSeq
#1997
Conversation
AST_ArrowParametersOrSeq
AST_ArrowParametersOrSeq
Can you copy the implementation of the Patch to apply to this PR: --- lib/parse.js-1997 2017-05-23 21:46:39.000000000 -0400
+++ lib/parse.js 2017-05-23 21:46:55.000000000 -0400
@@ -2751,8 +2751,7 @@
next();
commas = true;
}
- if (exprs.length == 1) return exprs[0];
- return new AST_Sequence({
+ return exprs.length == 1 ? exprs[0] : new AST_Sequence({
start : start,
expressions : exprs,
end : peek() Or, if you prefer, make master match harmony's implementation of this function. |
Thanks for catching this - version on |
The good thing about having extensive unit tests is that you can completely change the implementation with reasonable confidence. |
... only to get tripped and fall flat on the face by that false sense of security 😏 |
Memory footprint along these updated paths for ES5 should now almost identical to |
There's around 13K LOC in the in uglify library/CLI compared to 29K LOC of tests (in harmony). Is the coverage perfect? No, but it's not too shabby either. At least it prevents people from making obvious mistakes when (re)implementing or fixing something. |
We still have to find and address that 25% performance deficit that harmony has compared to master. |
It certainly caught the |
My guy feeling is we are still at the "make it work" stage for the |
|
So you believe the 25% performance loss is (mostly) due to the I guess one way to narrow this down is by I believe this is a reasonable strategy because ES6 code should mostly be ES5 with a sprinkle of magic dust. |
Perhaps there's some minor performance loss in parse, but I think it's mainly due to the compress phase. But I haven't broken down the timings. |
#968 (comment)