v8/test
Adam Klein 28fa4cb432 Revert "[destructuring] Elide coercible check for simple keys"
This reverts commit 1fba044154.

Reason for revert: blocks V8 roll due to layout test failures caused by error message changes:
https://ci.chromium.org/p/v8/builders/ci/V8%20Blink%20Linux/347

Original change's description:
> [destructuring] Elide coercible check for simple keys
> 
> Simple object destructuring, such as `let {a,b} = o`, is less efficient
> than the equivalent assignments `let a = o.a; let b = o.b`. This is
> because it does a nil check of `o` before the assignments. However, this
> nil check is not strictly necessary for simple (i.e. non-computed) names,
> as there will be an equivalent nil check on the first access to o in
> `o.a`. For computed names the computation is unfortunately obervable.
> 
> So, we can elide the nil check when the first property (if any) of the
> destructuring target is a non-computed name. This messes a bit with our
> error messages, so we re-use the CallPrinter to also find destructuring
> assignment based errors, and fiddle with the error message there. As
> a side-effect, we also get out the object name in the AST, so we can
> output a slightly nicer error message.
> 
> Change-Id: Iafa858e27ed771a146cd3ba57903cc73bb46951d
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1773254
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#63453}

TBR=leszeks@chromium.org,verwaest@chromium.org

Change-Id: I74cf06ebd987e5b8bbe1831b0042c085edf37f5b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1776994
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63465}
2019-08-29 23:44:09 +00:00
..
benchmarks
cctest Revert "[destructuring] Elide coercible check for simple keys" 2019-08-29 23:44:09 +00:00
common Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00
debugger Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00
fuzzer [wasm] Enable --wasm-staging in libfuzzer fuzzers 2019-08-26 09:32:24 +00:00
inspector Do not run microtasks when there are scheduled exceptions 2019-08-23 16:17:58 +00:00
intl Fix crash under lb_LU locale 2019-08-26 17:07:12 +00:00
js-perf-test [jsperf] Add benchmark for LoadConstantFromPrototype 2019-08-16 09:33:06 +00:00
memory
message Revert "[destructuring] Elide coercible check for simple keys" 2019-08-29 23:44:09 +00:00
mjsunit Reland x5 [arraybuffer] Rearchitect backing store ownership 2019-08-29 16:40:18 +00:00
mkgrokdump Reland "Add postmortem debugging helper library" 2019-07-31 14:30:19 +00:00
mozilla
preparser
test262 [names] Fix some test262 name tests to conform with spec changes 2019-08-23 15:04:31 +00:00
torque Reland "[torque] introduce JSAny type for user-accessible JavaScript values" 2019-08-26 13:25:12 +00:00
unittests Reland x5 [arraybuffer] Rearchitect backing store ownership 2019-08-29 16:40:18 +00:00
wasm-api-tests [wasm-c-api] Roll bf31edf: Fix life times of host info 2019-08-26 14:28:51 +00:00
wasm-js [wasm] Stage type reflection support. 2019-08-28 14:45:52 +00:00
wasm-spec-tests PPC/s390: [wasm] Stage type reflection support. 2019-08-29 12:58:28 +00:00
webkit
BUILD.gn
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00