- 27 Apr, 2016 3 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1926493003 Cr-Commit-Position: refs/heads/master@{#35823}
-
ishell authored
BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1914393002 Cr-Commit-Position: refs/heads/master@{#35813}
-
yangguo authored
R=bmeurer@chromium.org, kozyatinskiy@chromium.org BUG=chromium:582048 LOG=N Review URL: https://codereview.chromium.org/1916343002 Cr-Commit-Position: refs/heads/master@{#35805}
-
- 26 Apr, 2016 1 commit
-
-
ishell authored
BUG=v8:4698 LOG=Y Review URL: https://codereview.chromium.org/1921083002 Cr-Commit-Position: refs/heads/master@{#35786}
-
- 25 Apr, 2016 1 commit
-
-
yangguo authored
R=mstarzinger@chromium.org, rossberg@chromium.org BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1906653004 Cr-Commit-Position: refs/heads/master@{#35750}
-
- 22 Apr, 2016 3 commits
-
-
yangguo authored
R=mstarzinger@chromium.org BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1903223003 Cr-Commit-Position: refs/heads/master@{#35729}
-
yangguo authored
Some scopes are introduced by the parser for desugaring and do not have any positions associated. The debugger should not make them visible. Also add some missing source positions. R=kozyatinskiy@chromium.org, rossberg@chromium.org BUG=chromium:604458 LOG=Y Review URL: https://codereview.chromium.org/1901413002 Cr-Commit-Position: refs/heads/master@{#35721}
-
adamk authored
The feature was deprecated in M49 and flagged off in M50. This patch removes it entirely from the codebase. Review URL: https://codereview.chromium.org/1909433003 Cr-Commit-Position: refs/heads/master@{#35714}
-
- 21 Apr, 2016 1 commit
-
-
yangguo authored
BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1907973002 Cr-Commit-Position: refs/heads/master@{#35704}
-
- 08 Apr, 2016 1 commit
-
-
adamk authored
These were all on by default in M49 without complaint. R=littledan@chromium.org Review URL: https://codereview.chromium.org/1858943002 Cr-Commit-Position: refs/heads/master@{#35342}
-
- 07 Apr, 2016 1 commit
-
-
mike authored
As originally implemented, a SingleNameBinding within a BindingPattern was incorrectly interpreted as an assignment if an initializer was present and that initializer was itself an AssignmentExpresion. For example: let x; { let [x = y = 1] = []; } print(x); // expected: undefined, actual: 1 Extend the heuristic that detects the "context" of a destructuring pattern to account for AssignmentExpressions within SingleNameBindings. BUG=v8:4891 LOG=N R=adamk@chromium.org Review URL: https://codereview.chromium.org/1859423002 Cr-Commit-Position: refs/heads/master@{#35334}
-
- 05 Apr, 2016 5 commits
-
-
adamk authored
The Chrome Extensions code that was broken by this change the first time it landed has been amended to deal appropriately with the ES2015 semantics in https://codereview.chromium.org/1864733002/. BUG=v8:4602 LOG=y Review URL: https://codereview.chromium.org/1857313003 Cr-Commit-Position: refs/heads/master@{#35279}
-
caitpotter88 authored
The parser eagerly rewrites destructuring assignments occuring in formal parameter initializers, because not doing so would cause the BindingPattern rewriting to be confused and do the wrong thing. This change prevents this rewriting from descending into the bodies of lazily parsed functions. In general, it's a mistake to descend into the bodies of function literals anyways, since they are rewritten separately on their own time, so there is no distinction made between lazily "throw away" eagerly parsed functions in the temporary parser arena, or "real" eagerly parsed functions that will be compiled. BUG=chromium:594084, v8:811 LOG=N R=adamk@chromium.org, littledan@chromium.org Review URL: https://codereview.chromium.org/1864553002 Cr-Commit-Position: refs/heads/master@{#35277}
-
kozyatinskiy authored
We decided to remove related devtools experiment. BUG=chromium:526811 LOG=Y R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1833563002 Cr-Commit-Position: refs/heads/master@{#35275}
-
cbruni authored
BUG=v8:4882 LOG=n Review URL: https://codereview.chromium.org/1863543002 Cr-Commit-Position: refs/heads/master@{#35255}
-
neis authored
When seeing a rest pattern, we used to get the remaining elements from the iterator by calling %concat_iterable_to_array on it. This was wrong because it caused an observable [[Get]] for @@iterator (which the iterator may not even provide). This CL gets rid of the call to %concat_iterable_to_array and does the iteration manually in a simple while-loop. It also gets rid of %concat_iterable_to_array itself because there aren't any other uses of it. BUG=v8:4759 LOG=n R=adamk@chromium.org Review URL: https://codereview.chromium.org/1852703002 Cr-Commit-Position: refs/heads/master@{#35251}
-
- 04 Apr, 2016 1 commit
-
-
littledan authored
- RegExp.prototype.toString() doesn't have any special handling of RegExp instances and simply calls the source and flags getters - Use the original values of global and sticky, rather than based on the current flag getters, as specified in https://github.com/tc39/ecma262/pull/494 R=yangguo@chromium.org,adamk LOG=Y BUG=v8:4602 Review URL: https://codereview.chromium.org/1846303002 Cr-Commit-Position: refs/heads/master@{#35225}
-
- 01 Apr, 2016 4 commits
-
-
hablich authored
Revert of Ship --harmony-regexp-exec (patchset #3 id:40001 of https://codereview.chromium.org/1847103002/ ) Reason for revert: breaks some chromium browser_tests: https://codereview.chromium.org/1848233002/ Original issue's description: > Ship --harmony-regexp-exec > > There are still spec compliance fixes to be made, but this patch > turns the flag to shipping to make sure we get more canary coverage > and performance data from the bots. > > BUG=v8:4602 > LOG=y > > Committed: https://crrev.com/84492bb66b340f4e0df36758e98fddbb10b5d1dc > Cr-Commit-Position: refs/heads/master@{#35181} TBR=littledan@chromium.org,adamk@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4602 Review URL: https://codereview.chromium.org/1852673003 Cr-Commit-Position: refs/heads/master@{#35198}
-
yangguo authored
R=ishell@chromium.org Review URL: https://codereview.chromium.org/1839043002 Cr-Commit-Position: refs/heads/master@{#35193}
-
adamk authored
There are still spec compliance fixes to be made, but this patch turns the flag to shipping to make sure we get more canary coverage and performance data from the bots. BUG=v8:4602 LOG=y Review URL: https://codereview.chromium.org/1847103002 Cr-Commit-Position: refs/heads/master@{#35181}
-
littledan authored
Revert of Remove RegExp.prototype.source getter compat workaround (patchset #2 id:20001 of https://codereview.chromium.org/1837843002/ ) Reason for revert: TC39 decided that this compatibility fix should be standardized. Original issue's description: > Remove RegExp.prototype.source getter compat workaround > > The getter RegExp.prototype.source is specified in ES2015 to throw when > called on a non-RegExp instance, such as RegExp.prototype. We had previously > put in a compatibility workaround for all RegExp getters to make them > throw on access specifically with RegExp.prototype as the receiver; however, > we only have evidence that this is needed for properties other than source. > This patch removes the compatibility workaround for get RegExp.prototype.source > and gives it semantics precisely as per the ES2015 specification. > > R=adamk > BUG=chromium:581577,v8:4827 > LOG=Y > > Committed: https://crrev.com/80803aa89e31839b8f73959776fa7e1923c6b461 > Cr-Commit-Position: refs/heads/master@{#35086} R=adamk@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:581577,v8:4827 LOG=Y Review URL: https://codereview.chromium.org/1847783003 Cr-Commit-Position: refs/heads/master@{#35180}
-
- 31 Mar, 2016 1 commit
-
-
yangguo authored
R=bmeurer@chromium.org, cbruni@chromium.org, ulan@chromium.org BUG=chromium:124206,chromium:569811 LOG=N Review URL: https://codereview.chromium.org/1834633003 Cr-Commit-Position: refs/heads/master@{#35145}
-
- 30 Mar, 2016 2 commits
-
-
bmeurer authored
Migrate Math.ceil, Math.round and Math.trunc to TurboFan code stubs, similar to what we did with Math.floor, and make these builtins properly optimizable in TurboFan via appropriate simplified operators NumberCeil, NumberRound and NumberTrunc, which are intended to be reusable for ToInteger and ToLength optimizations that will be done in a followup CL. Also allows us to kill the funky %RoundNumber runtime function, which was quite heavy. Improve test coverage for Math.ceil and Math.trunc a lot, especially making sure that we also properly trigger the TurboFan builtin reducer case. R=jarin@chromium.org BUG=v8:4059 LOG=n Review URL: https://codereview.chromium.org/1841993002 Cr-Commit-Position: refs/heads/master@{#35135}
-
yangguo authored
R=ishell@chromium.org Review URL: https://codereview.chromium.org/1837173002 Cr-Commit-Position: refs/heads/master@{#35124}
-
- 28 Mar, 2016 2 commits
-
-
littledan authored
The getter RegExp.prototype.source is specified in ES2015 to throw when called on a non-RegExp instance, such as RegExp.prototype. We had previously put in a compatibility workaround for all RegExp getters to make them throw on access specifically with RegExp.prototype as the receiver; however, we only have evidence that this is needed for properties other than source. This patch removes the compatibility workaround for get RegExp.prototype.source and gives it semantics precisely as per the ES2015 specification. R=adamk BUG=chromium:581577,v8:4827 LOG=Y Review URL: https://codereview.chromium.org/1837843002 Cr-Commit-Position: refs/heads/master@{#35086}
-
adamk authored
Previously, they would check for Symbol.match/Symbol.search, and then do another check for Symbol.match in the RegExp constructor. This patch avoids the second one by skipping the RegExp constructor, as the spec does. Review URL: https://codereview.chromium.org/1840723002 Cr-Commit-Position: refs/heads/master@{#35085}
-
- 25 Mar, 2016 1 commit
-
-
adamk authored
It's been on since M49. Also moved tests from harmony -> es6, one of which was merged with another test of the same name. While moving stuff over to regexp.js, I also noticed that there were unused calls to %FunctionSetName and %SetNativeFlag (those calls are already handled by InstallGetter()). Review URL: https://codereview.chromium.org/1838563003 Cr-Commit-Position: refs/heads/master@{#35076}
-
- 23 Mar, 2016 2 commits
-
-
neis authored
R=rossberg BUG= Review URL: https://codereview.chromium.org/1823973002 Cr-Commit-Position: refs/heads/master@{#35020}
-
cbruni authored
With the recent spec change removing the [[Enumerate]] internal method, we now have to walk the complete prototype chain. This implies that we call the [[GetPrototypeOf]] trap on proxies. As a secondary change we now trigger the [[GetOwnProperty]] trap for the for-in filter step to see whether the properties are still enumerable. Before we did this in the key-accumulation phase. This way we slightly reduce the number of traps invoked. Whilst this is not ideal, it comes closer to the Spec's example implementation. BUG=v8:1543, v8:4768 LOG=n Review URL: https://codereview.chromium.org/1748923003 Cr-Commit-Position: refs/heads/master@{#35017}
-
- 22 Mar, 2016 1 commit
-
-
adamk authored
Now that ES2015 const has shipped, in Chrome 49, legacy const declarations are no more. This lets us remove a bunch of code from many parts of the codebase. In this patch, I remove parser support for generating legacy const variables from const declarations. This also removes the special "illegal declaration" bit from Scope, which has ripples into all compiler backends. Also gone are any tests which relied on legacy const declarations. Note that we do still generate a Variable in mode CONST_LEGACY in one case: function name bindings in sloppy mode. The likely fix there is to add a new Variable::Kind for this case and handle it appropriately for stores in each backend, but I leave that for a later patch to make this one completely subtractive. Review URL: https://codereview.chromium.org/1819123002 Cr-Commit-Position: refs/heads/master@{#35002}
-
- 21 Mar, 2016 2 commits
-
-
adamk authored
Both of them shipped in Chrome 49 without incident. Also move relevant tests from harmony/ to es6/. Review URL: https://codereview.chromium.org/1815773002 Cr-Commit-Position: refs/heads/master@{#34964}
-
ishell authored
In case when F inlined normal call to G which tail calls H we should not write translation for G for the tail call site. Otherwise we will see G in a stack trace inside H. This CL also enables all existing tests related to ES6 tail call elimination and adds more combinations. TBR=bmeurer@chromium.org BUG=v8:4698 LOG=N Committed: https://crrev.com/689980f7d4dfd4c29492f616d7b616b86ec9af91 Cr-Commit-Position: refs/heads/master@{#34830} Review URL: https://codereview.chromium.org/1780043004 Cr-Commit-Position: refs/heads/master@{#34920}
-
- 18 Mar, 2016 2 commits
-
-
adamk authored
- Move default parameters tests from harmony/ to es6/ and remove non-existent --harmony-default-parameters flag. - Remove some non-existent tests from mjsunit.status Review URL: https://codereview.chromium.org/1812313002 Cr-Commit-Position: refs/heads/master@{#34908}
-
littledan authored
Revert of Restore per-TypedArray-class length accessors as a perf workaround (patchset #2 id:20001 of https://codereview.chromium.org/1624383003/ ) Reason for revert: This patch actually seemed to cause a further GameBoy regression! Reverting it seems to address the regression. Original issue's description: > Restore per-TypedArray-class length accessors as a perf workaround > > This patch is a workaround to the performance regression caused by > implementing the ES2015 TypedArray prototype chain: Include a > per-TypedArray-subclass length getter so that the superclass getter does > not become polymorphic. The patch appears to fix a regression in the > Gameboy Octane benchmark. > > BUG=chromium:579905 > R=adamk > LOG=Y > > Committed: https://crrev.com/03ce7711e474a0ef74f723b30ae1527c89dec010 > Cr-Commit-Position: refs/heads/master@{#33501} R=adamk@chromium.org BUG=chromium:579905,chromium:593634 LOG=Y Review URL: https://codereview.chromium.org/1812143004 Cr-Commit-Position: refs/heads/master@{#34906}
-
- 16 Mar, 2016 2 commits
-
-
machenbach authored
Revert of [crankshaft] Fixing ES6 tail call elimination. (patchset #7 id:200001 of https://codereview.chromium.org/1780043004/ ) Reason for revert: [Sheriff] Leads to mac gc stress crashes: https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/4975 Original issue's description: > [crankshaft] Fixing ES6 tail call elimination. > > In case when F inlined normal call to G which tail calls H we should not write translation for G for the tail call site. > Otherwise we will see G in a stack trace inside H. > > This CL also enables all existing tests related to ES6 tail call elimination. > > TBR=bmeurer@chromium.org > BUG=v8:4698 > LOG=N > > Committed: https://crrev.com/689980f7d4dfd4c29492f616d7b616b86ec9af91 > Cr-Commit-Position: refs/heads/master@{#34830} TBR=mstarzinger@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4698 Review URL: https://codereview.chromium.org/1814433002 Cr-Commit-Position: refs/heads/master@{#34835}
-
ishell authored
In case when F inlined normal call to G which tail calls H we should not write translation for G for the tail call site. Otherwise we will see G in a stack trace inside H. This CL also enables all existing tests related to ES6 tail call elimination. TBR=bmeurer@chromium.org BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1780043004 Cr-Commit-Position: refs/heads/master@{#34830}
-
- 15 Mar, 2016 1 commit
-
-
cbruni authored
Array.prototype.concat did not work correct with complex elements on the receiver or the prototype chain. BUG=chromium:594574 LOG=y Review URL: https://codereview.chromium.org/1804963002 Cr-Commit-Position: refs/heads/master@{#34798}
-
- 11 Mar, 2016 2 commits
-
-
adamk authored
ES2015 Object.prototype.toString semantics were enabled in version 4.9, which has been in stable Chrome for nearly two weeks at this point. R=littledan@chromium.org Review URL: https://codereview.chromium.org/1784033002 Cr-Commit-Position: refs/heads/master@{#34732}
-
vogelheim authored
FullCodegen generates 2 statement positions for the loop init block, like so: for(var i = 0; i.... ^ ^ This change removes the first of those, updates unit tests, and removes text expectations for Ignition. --- An alternative would be to emulate the existing behaviour in Ignition, but: - The new behaviour seems more logical, - Ignition generates no bytecodes for the 'var', meaning there is no code position to attach the break position to. BUG=v8:4690 LOG=Y Review URL: https://codereview.chromium.org/1784883002 Cr-Commit-Position: refs/heads/master@{#34717}
-
- 10 Mar, 2016 1 commit
-
-
littledan authored
- Make separate iterator functions for TypedArrays which do a type check (and in the future should check for detached TypedArrays) - Share the toString method with Arrays BUG=v8:4785 R=adamk LOG=Y Review URL: https://codereview.chromium.org/1780113002 Cr-Commit-Position: refs/heads/master@{#34698}
-