- 15 Feb, 2016 1 commit
-
-
oth authored
Adds support for ES6 super keyword and performing loads, stores, and calls to super class members. Implements SetHomeObject and enables ThisFunctionVariable. BUG=v8:4280,v8:4682 LOG=N Review URL: https://codereview.chromium.org/1689573004 Cr-Commit-Position: refs/heads/master@{#33977}
-
- 11 Feb, 2016 2 commits
-
-
adamk authored
BUG=v8:3699 LOG=y Review URL: https://codereview.chromium.org/1674443004 Cr-Commit-Position: refs/heads/master@{#33919}
-
mvstanton authored
BUG= Committed: https://crrev.com/5833e8e8a437cd66405784263ccc45e73470fd42 Cr-Commit-Position: refs/heads/master@{#33870} Review URL: https://codereview.chromium.org/1683043003 Cr-Commit-Position: refs/heads/master@{#33890}
-
- 10 Feb, 2016 2 commits
-
-
machenbach authored
Revert of Implement symbol @@hasInstance for ES6 instanceof support. (patchset #2 id:20001 of https://codereview.chromium.org/1683043003/ ) Reason for revert: [Sheriff] Breaks: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/1382/ Original issue's description: > Implement symbol @@hasInstance for ES6 instanceof support. > > BUG= > > Committed: https://crrev.com/5833e8e8a437cd66405784263ccc45e73470fd42 > Cr-Commit-Position: refs/heads/master@{#33870} TBR=bmeurer@chromium.org,mvstanton@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1686123002 Cr-Commit-Position: refs/heads/master@{#33871}
-
mvstanton authored
BUG= Review URL: https://codereview.chromium.org/1683043003 Cr-Commit-Position: refs/heads/master@{#33870}
-
- 08 Feb, 2016 2 commits
-
-
littledan authored
This patch moves Symbol.species support to the "experimental JavaScript features" flag. While @@species is still a performance hit, it doesn't seem like it would make the web unusably slow; shipping would still have to wait on fixing the performance regression, but staging this version should yield valuable web compatibility information. R=cbruni BUG=v8:4093 LOG=Y Review URL: https://codereview.chromium.org/1678143002 Cr-Commit-Position: refs/heads/master@{#33827}
-
mythria authored
Adds implementation and tests to support const/let variables in the interpreter. BUG=v8:4280,v8:4679 LOG=N Review URL: https://codereview.chromium.org/1634153002 Cr-Commit-Position: refs/heads/master@{#33819}
-
- 04 Feb, 2016 3 commits
-
-
neis authored
Note: This is currently only used by yield*, we still need to support it in other places (such as for-of loops). It can be used manually of course. (This CL does not touch the full-codegen implementation of yield* because that code is already dead. The yield* desugaring already supports return and doesn't need to be touched.) BUG=v8:3566 LOG=y Review URL: https://codereview.chromium.org/1639343005 Cr-Commit-Position: refs/heads/master@{#33744}
-
littledan authored
R=neis Review URL: https://codereview.chromium.org/1667103002 Cr-Commit-Position: refs/heads/master@{#33740}
-
mythria authored
Adds implementation and tests for rest parameters to interpreter. BUG=v8:4280,v8:4683 LOG=N Review URL: https://codereview.chromium.org/1664593003 Cr-Commit-Position: refs/heads/master@{#33722}
-
- 03 Feb, 2016 1 commit
-
-
mythria authored
Adds implementation and tests for with statement to interprter. BUG=v8:4280,v8:4684 LOG=N Review URL: https://codereview.chromium.org/1656863002 Cr-Commit-Position: refs/heads/master@{#33705}
-
- 01 Feb, 2016 3 commits
-
-
Adam Klein authored
TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/1654973002 . Cr-Commit-Position: refs/heads/master@{#33647}
-
Adam Klein authored
BUG=v8:4639 LOG=n TBR=littledan@chromium.org Review URL: https://codereview.chromium.org/1653103002 . Cr-Commit-Position: refs/heads/master@{#33646}
-
littledan authored
R=adamk Review URL: https://codereview.chromium.org/1637103002 Cr-Commit-Position: refs/heads/master@{#33645}
-
- 29 Jan, 2016 2 commits
-
-
yangguo authored
TBR=machenbach@chromium.org NOTRY=true NOTREECHECKS=true Review URL: https://codereview.chromium.org/1648243003 Cr-Commit-Position: refs/heads/master@{#33608}
-
yangguo authored
R=littledan@chromium.org, rossberg@chromium.org BUG=v8:2952 LOG=Y Review URL: https://codereview.chromium.org/1647773003 Cr-Commit-Position: refs/heads/master@{#33604}
-
- 27 Jan, 2016 1 commit
-
-
littledan authored
This patch stages the first part of RegExp subclassing--defining Symbol.{match,replace,search,split}, but keeping their original definitions which are restricted to a RegExp receiver and do not call out to the core 'exec' method. This is being staged separately because the two sets of extension points are separate features with separate functionality. The amount of behavior which is held behind the flag is very small, just exposing the symbols as properties of Symbol--the behavior that the String methods call out to these Symbol properties has already been shipping unflagged. R=yangguo@chromium.org BUG=v8:4305,v8:4343,v8:4344,v8:4345 LOG=Y Review URL: https://codereview.chromium.org/1637703003 Cr-Commit-Position: refs/heads/master@{#33534}
-
- 26 Jan, 2016 1 commit
-
-
adamk authored
This makes it easier to see what behavior each test is verifying. BUG=v8:3699 LOG=n Review URL: https://codereview.chromium.org/1638853003 Cr-Commit-Position: refs/heads/master@{#33529}
-
- 25 Jan, 2016 3 commits
-
-
mstarzinger authored
This fixes corner cases where the start offsets of exception handler regions within the handler table fall together. This assumption was based on full-codegen code and no longer holds with the interpreter. The tables however are still well nested and code has been added to verify that in debug mode. R=rmcilroy@chromium.org BUG=v8:4674 LOG=n Review URL: https://codereview.chromium.org/1633573002 Cr-Commit-Position: refs/heads/master@{#33495}
-
mstarzinger authored
The current support for try-catch in the interpreter can handle most of the cases appearing in our test suite. Also the flag in question did not detect try-finally constructs. This removes the flag and instead extends the test expectations. R=rmcilroy@chromium.org BUG=v8:4674 LOG=n Review URL: https://codereview.chromium.org/1631593003 Cr-Commit-Position: refs/heads/master@{#33494}
-
rmcilroy authored
BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1627943003 Cr-Commit-Position: refs/heads/master@{#33489}
-
- 23 Jan, 2016 1 commit
-
-
adamk authored
The web appears to depend on being able to redeclare functions-in-blocks in sloppy mode (examples seen so far tend to redeclare identical functions, most likely accidentally). This patch opens a minimal hole: two same-named function declarations in the same scope are allowed, only in sloppy mode. BUG=v8:4693, chromium:579395 LOG=y Review URL: https://codereview.chromium.org/1622723003 Cr-Commit-Position: refs/heads/master@{#33478}
-
- 22 Jan, 2016 1 commit
-
-
mstarzinger authored
These tests have been disabled while support for try-finally was work in progress. By now control flow is connected properly and the tests pass. R=oth@chromium.org BUG=v8:4674 LOG=n Review URL: https://codereview.chromium.org/1626503002 Cr-Commit-Position: refs/heads/master@{#33474}
-
- 20 Jan, 2016 2 commits
-
-
mstarzinger authored
This implements a first prototype of stack unwinding for interpreted frames. The unwinding machinery performs a range-based lookup in the given handler table and potentially continues dispatching at the handler offset. Note that this does not yet correctly restore the context to the correct value when the handler is being entered. R=rmcilroy@chromium.org,oth@chromium.org BUG=v8:4674 LOG=n Review URL: https://codereview.chromium.org/1605633003 Cr-Commit-Position: refs/heads/master@{#33414}
-
mythria authored
This is to fix some of the failing test262 tests with ignition flag. In few test262 tests, there is a throw from the script scope. Rewriter::Rewrite pass converts expression statements into assignment statements in script scope. This causes interpreter to fail because assignment expression expects a result in accumulator but throw statement does not return a value. To fix this, we now mark that accumulator contains a value when visiting throw statement. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1523423003 Cr-Commit-Position: refs/heads/master@{#33408}
-
- 19 Jan, 2016 1 commit
-
-
rmcilroy authored
Now that we support eval in Ignition, remove the fallback for eval checks and make the flag only fallback on catch blocks. BUG=v8:4280,v8:4676 LOG=N Review URL: https://codereview.chromium.org/1595223004 Cr-Commit-Position: refs/heads/master@{#33384}
-
- 18 Jan, 2016 1 commit
-
-
neis authored
BUG=v8:4163,v8:4630 LOG=y R=rossberg Review URL: https://codereview.chromium.org/1590873002 Cr-Commit-Position: refs/heads/master@{#33360}
-
- 15 Jan, 2016 1 commit
-
-
rmcilroy authored
Remove ignition skips which are fixed by https://chromium.googlesource.com/v8/v8/+/48a3227b7dd2f285aa599eb1cdf5f8bc94acdec7. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1590513003 Cr-Commit-Position: refs/heads/master@{#33322}
-
- 14 Jan, 2016 1 commit
-
-
adamk authored
The bulk of these were marked simply '[PASS]', while one was marked '[PASS, FAIL]' but seems to always pass. BUG=v8:3305, v8:4405 LOG=n Review URL: https://codereview.chromium.org/1584863003 Cr-Commit-Position: refs/heads/master@{#33277}
-
- 11 Jan, 2016 3 commits
-
-
littledan authored
This patch moves the semantics of 'const' in sloppy mode to match those in strict mode, that is, const makes lexical (let-like) bindings, must have an initializer, and does not create properties of the global object. R=adamk LOG=Y BUG=v8:3305 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1571873004 Cr-Commit-Position: refs/heads/master@{#33218}
-
littledan authored
As V8 becomes more and more spec-compliant, Promise polyfill libraries like core.js expect fully correct. However, our Promises do not yet support Symbol.species. Therefore, a case like ``` var test = new Promise(function(){}); test.constructor = function(){}; Promise.resolve(test) ``` would lead to an unhandled Promise rejection, whereas it should not because test.constructor[Symbol.species] is undefined, so test.then should end up constructing %Promise% as a fallback, rather than calling test.constructor as if it were a constructor, which leads this error checking code to throw. For now, this patch removes the error checking code (which was not present until recently). In an interactive test using core.js, the error message on the console goes away with this patch. When @@species support is in place, this patch can be reverted. A regression test is added which checks for the same thing. Partially reverted patch was originally out for review at https://codereview.chromium.org/1531073004 BUG=v8:4633 LOG=Y R=adamk,caitp88@gmail.com Review URL: https://codereview.chromium.org/1578893002 Cr-Commit-Position: refs/heads/master@{#33217}
-
caitpotter88 authored
Does not remove the extra private state added, as doing so seems to break the debugger. Fixes new Test262 tests: - built-ins/Promise/race/same-resolve-function - built-ins/Promise/race/same-reject-function BUG=v8:4632 LOG=N R=littledan@chromium.org, cbruni@chromium.org Review URL: https://codereview.chromium.org/1538853002 Cr-Commit-Position: refs/heads/master@{#33214}
-
- 08 Jan, 2016 2 commits
-
-
caitpotter88 authored
Originally, only BindingIdentifiers were a legal operand for the `...` ellipsis in a function rest parameter. This has since changed, allowing the rest array to be destructured. The grammar is now the following: ``` FunctionRestParameter[Yield]: BindingRestElement[?Yield] BindingRestElement[Yield]: ... BindingIdentifier[?Yield] ... BindingPattern[?Yield] ``` *Spec change: https://github.com/tc39/ecma262/commit/d322357e6be95bc4bd3e03f5944a736aac55fa50 *TC39 Discussion: https://github.com/tc39/tc39-notes/blob/master/es7/2015-07/july-28.md#66-bindingrestelement-should-allow-a-bindingpattern-ala-assignmentrestelement BUG=v8:4627, v8:2159 LOG=N R=littledan@chromium.org, adamk@chromium.org, wingo@igalia.com, rossberg@chromium.org Review URL: https://codereview.chromium.org/1532873004 Cr-Commit-Position: refs/heads/master@{#33192}
-
caitpotter88 authored
Fixes a number of test262 tests, including: - built-ins/Promise/reject-function-nonconstructor.js - built-ins/Promise/resolve-function-nonconstructor.js - built-ins/Promise/all/resolve-element-function-nonconstructor.js - built-ins/Promise/executor-function-nonconstructor.js BUG=v8:4633 LOG=N R=adamk@chromium.org, cbruni@chromium.org, littledan@chromium.org Review URL: https://codereview.chromium.org/1565303004 Cr-Commit-Position: refs/heads/master@{#33164}
-
- 07 Jan, 2016 3 commits
-
-
caitpotter88 authored
Testing the promise status is not enough to ensure that resolve functions are called only once. This change adds a similar version of the [[AlreadyResolved]] slot to the Promise.all resolve element function, and also ensures that [[AlreadyResolved]] is respected in the Promise executor, and when resolving thenables. This means replacing PromiseReject() shortcuts with promiseCapability.reject(), which has an [[AlreadyResolved]] record in a context slot. Also ensures that changes to the list accumulator in Promise.all() is not observable via accessors installed in the Array prototype chain, using the same mechanism used in several Array methods. Fixes the following Test262 tests: - built-ins/Promise/all/call-resolve-element-items.js - built-ins/Promise/all/call-resolve-element.js - built-ins/Promise/all/call-resolve-element-after-return.js - built-ins/Promise/all/same-reject-function.js - built-ins/Promise/all/resolve-from-same-thenable.js - built-ins/Promise/all/resolve-before-loop-exit.js - built-ins/Promise/all/resolve-before-loop-exit-from-same.js - built-ins/Promise/exception-after-resolve-in-executor.js - built-ins/Promise/exception-after-resolve-in-thenable-job.js - built-ins/Promise/all/does-not-invoke-array-setters.js BUG=v8:4633 LOG=N R=littledan@chromium.org, cbruni@chromium.org Review URL: https://codereview.chromium.org/1534813005 Cr-Commit-Position: refs/heads/master@{#33163}
-
caitpotter88 authored
BUG=v8:4633 LOG=N R=adamk@chromium.org, littledan@chromium.org, cbruni@chromium.org Review URL: https://codereview.chromium.org/1568433004 Cr-Commit-Position: refs/heads/master@{#33160}
-
rmcilroy authored
BUG=v8:4280 LOG=N NOTRY=true TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/1563163003 Cr-Commit-Position: refs/heads/master@{#33151}
-
- 06 Jan, 2016 1 commit
-
-
caitpotter88 authored
Addresses TODO by Dan --- simply by moving the check and exception earlier in the function, before calling NewPromiseCapability() or loading the constructor. BUG=v8:4633 LOG=N R=adamk@chromium.org, littledan@chromium.org, cbruni@chromium.org Fixes 'test262/built-ins/Promise/prototype/then/context-check-on-entry' Review URL: https://codereview.chromium.org/1561193002 Cr-Commit-Position: refs/heads/master@{#33137}
-
- 05 Jan, 2016 2 commits
-
-
caitpotter88 authored
Correctly validate promise capabilities in NewPromiseCapabilities() and in GetCapabilitiesExtractor(). Also explicitly follows Promise.race step 2 and similar cases in the spec, rather than passing tests asserting these steps are taken in NewPromiseCapability Also changes Promise.reject to match specification. Fixes the following test262 tests: - built-ins/Promise/all/capability-executor-called-twice.js - built-ins/Promise/all/capability-executor-not-callable.js - built-ins/Promise/prototype/then/capability-executor-called-twice.js - built-ins/Promise/prototype/then/capability-executor-not-callable.js - built-ins/Promise/reject/capability-executor-called-twice.js - built-ins/Promise/reject/capability-executor-not-callable.js - built-ins/Promise/resolve/capability-executor-called-twice.js - built-ins/Promise/resolve/capability-executor-not-callable.js - built-ins/Promise/race/capability-executor-called-twice.js - built-ins/Promise/race/capability-executor-not-callable.js - built-ins/Promise/reject/S25.4.4.4_A3.1_T1.js - built-ins/Promise/race/S25.4.4.3_A3.1_T2.js Per v8:3641, mjsunit/es6/debug-promises/throw-with-undefined-reject.js becomes invalid. The exception is thrown before the chain handler is ever invoked, and is caught externally by d8's own handler --- thus evading the uncaught exception event. BUG=v8:4633, v8:4631, v8:4243, v8:3641 LOG=N R=littledan@chromium.org, cbruni@chromium.org Review URL: https://codereview.chromium.org/1531073004 Cr-Commit-Position: refs/heads/master@{#33128}
-
machenbach authored
NOTRY=true TBR=rmcilroy@chromium.org, mythria@chromium.org BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1562463002 Cr-Commit-Position: refs/heads/master@{#33121}
-