- 06 May, 2020 1 commit
-
-
Jakob Gruber authored
The serializer currently cannot handle a heap state containing arbitrary compiled Code objects. As a quick fix for the --stress-snapshot d8 flag, we clear compiled data from the isolate prior to the serialize-deserialize-verify pass. With this change, mjsunit tests pass on x64. The %SerializeDeserializeNow() runtime function would require more work, since it is not possible to mutate the heap to this extent while still preserving a runnable host context and isolate. We will need another solution there. Drive-by: Skip the stress_snapshot variant except for the mjsunit suite. Tbr: machenbach@chromium.org Bug: v8:10493,v8:10416 Change-Id: Ie110da8b51613fcd69c7f391d3cf8589d6b04dd8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2182429Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67585}
-
- 28 Apr, 2020 1 commit
-
-
Clemens Backes authored
The interpreter will be moved to be test-only, hence --wasm-interpret-all also needs to be removed. Since we don't have any non-compiling tier any more, we also remove the implication from --jitless to --wasm-lazy-compilation. Instead, we add another CHECK that we can't be in jitless mode if we trigger any wasm compilation. All tests that just ran other tests and additionally passed --wasm-interpret-all become redundant and are deleted. Also all regression tests that explicitly specify --wasm-interpret-all are not needed any more. R=thibaudm@chromium.org Bug: v8:10389 Change-Id: I5ddf20a842117a6c05e277a5308f5cfe42e6bfa5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2164792 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#67419}
-
- 27 Apr, 2020 1 commit
-
-
Camillo Bruni authored
Bug: v8:10378 Change-Id: Ida53679c819e0a1427f31a31526142348510ca78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2166906Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#67386}
-
- 16 Apr, 2020 1 commit
-
-
Shu-yu Guo authored
To avoid shrinking the unregister token map on each pop of the cleared cell list, the Torque implementation of the cleanup loop avoids shrinking the map until the end of the loop. To support that, PopClearedCellHoldings is refactored to the Torque PopClearedCell which calls the JSFinalization::RemoveCellFromUnregisterTokenMap and the runtime ShrinkFinalizationRegistryUnregisterTokenMap. The former cannot GC is and is implemented in CSA as a fast C call. The latter can GC and is a runtime call. This also incidentally makes uses of FinalizationRegistry without unregister token a fast path that doesn't have to leave Torque. Bug: v8:8179 Change-Id: Ia0c3c5800d26e31319a818f164f6bd3267355aa6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2137950 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67161}
-
- 15 Apr, 2020 1 commit
-
-
Yang Guo authored
R=jgruber@chromium.org Bug: v8:6071 Change-Id: I346775e827fe9b2f24409dbba642c97622e9ea7e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2149423Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#67143}
-
- 08 Apr, 2020 1 commit
-
-
Shu-yu Guo authored
Bug: v8:8179 Change-Id: I0cd43db6558db616690de2dd012bf7518c49345d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2138563 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67069}
-
- 31 Mar, 2020 1 commit
-
-
Joyee Cheung authored
Previously we use the error message for normal invalid private member access, so for a failed brand check for class C, the error is TypeError: Cannot read private member C from an object whose class did not declare it This updates the message to TypeError: Object must be an instance of class C Bug: v8:8330 Change-Id: Ida98f46b8387631194a9b7a48bd1f419045ac6e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2100688 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#66923}
-
- 26 Mar, 2020 2 commits
-
-
Ng Zhi An authored
We were missing test cases for i16, i64, and f64. It's not super critical, but it's also an easy addition, and helps bring coverage of memory-tracing.cc up (close to 100% now). Change-Id: Ib8433f8615c900d8665ccbc33e12d6fd05d51336 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2121168Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66878}
-
Z Nguyen-Huu authored
For exported functions that do not have a name yet, we use the field name (see <name> of WasmExport) of the first export entry. Doc: https://docs.google.com/document/d/1XoXWONLBgZWQ9dhtoMpQPvD0fnnWA50OorsuSXfME3g/edit#heading=h.6yuhg1v2w3q4 Bug: v8:10242 Change-Id: Icfa55fd50e5d1c4cf10581b7d322112e9f113388 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2112684 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#66877}
-
- 25 Feb, 2020 1 commit
-
-
Shu-yu Guo authored
The deprecated legacy FinalizationGroup APIs are left unchanged for compat. Bug: v8:8179 Change-Id: I9bdcaa92360db318c96fc8524c04163ece25118e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2071236 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#66437}
-
- 18 Feb, 2020 1 commit
-
-
Kim-Anh Tran authored
Wasm stack traces now show the url to the wasm script. Bug: v8:9762 Change-Id: Ie7feda499ec76bf001dea093efb720ffd691edad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2051946 Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#66302}
-
- 10 Feb, 2020 1 commit
-
-
Shu-yu Guo authored
Deprecate the following explicit FinalizationGroup APIs in favor of automatic handling of FinalizationGroup cleanup callbacks: - v8::Isolate::SetHostCleanupFinalizationGroupCallback - v8::FinaliationGroup::Cleanup If no HostCleanupFinalizationGroupCallback is set, then FinalizationGroup cleanup callbacks are automatically scheduled by V8 itself as non-nestable foreground tasks. When a Context being disposed, all FinalizationGroups that are associated with it are removed from the dirty list, cancelling scheduled cleanup. This is a reland of 31d8ff7a Bug: v8:8179, v8:10190 Change-Id: I704ecf48aeebac1dc2c05ea1c052f6a2560ae332 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2045723 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#66208}
-
- 09 Feb, 2020 1 commit
-
-
Michael Achenbach authored
This reverts commit 31d8ff7a. Reason for revert: https://crbug.com/v8/10190 Original change's description: > [weakrefs] Schedule FinalizationGroup cleanup tasks from within V8 > > Deprecate the following explicit FinalizationGroup APIs in favor of > automatic handling of FinalizationGroup cleanup callbacks: > - v8::Isolate::SetHostCleanupFinalizationGroupCallback > - v8::FinaliationGroup::Cleanup > > If no HostCleanupFinalizationGroupCallback is set, then > FinalizationGroup cleanup callbacks are automatically scheduled by V8 > itself as non-nestable foreground tasks. > > When a Context being disposed, all FinalizationGroups that are > associated with it are removed from the dirty list, cancelling > scheduled cleanup. > > Bug: v8:8179 > Change-Id: Ic09313a11dd00af36d1f698250b3d735155f45e8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1986392 > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66184} TBR=ulan@chromium.org,rmcilroy@chromium.org,syg@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:8179 Change-Id: If7869e9a5841803c10e748691f019a7d28f3b62e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2043807Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66190}
-
- 08 Feb, 2020 1 commit
-
-
Shu-yu Guo authored
Deprecate the following explicit FinalizationGroup APIs in favor of automatic handling of FinalizationGroup cleanup callbacks: - v8::Isolate::SetHostCleanupFinalizationGroupCallback - v8::FinaliationGroup::Cleanup If no HostCleanupFinalizationGroupCallback is set, then FinalizationGroup cleanup callbacks are automatically scheduled by V8 itself as non-nestable foreground tasks. When a Context being disposed, all FinalizationGroups that are associated with it are removed from the dirty list, cancelling scheduled cleanup. Bug: v8:8179 Change-Id: Ic09313a11dd00af36d1f698250b3d735155f45e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1986392 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66184}
-
- 05 Feb, 2020 1 commit
-
-
Sathya Gunasekaran authored
The source position is set to the function call (console.log) not the spread (..x), in the bytecode generator, as the spread operation is done as part of the CallWithSpread bytecode. The CallPrinter stops at the function call and doesn't look at the arguments as well (in CallPrinter::VisitCall) to see if the error is from an incorrect spread operation. With this patch, we pass some state to the CallPrinter in the CallWithSpread error case and check that in CallPrinter::VisitCall before returning. For the given source string: ``` x = undefined; console.log(1, ...x); ``` Previously, the error was - ``` test.js:2: TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) console.log(1, ...x); ^ TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) at test.js:2:9 ``` Now, the error is - ``` _test.js:2: TypeError: x is not iterable (cannot read property undefined) console.log(1, ...x); ^ TypeError: x is not iterable (cannot read property undefined) at _test.js:2:9 ``` Bug: v8:10038 Change-Id: I199de9997f1d949c6f9b7b4f41d51f422b8b5131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037431Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66131}
-
- 03 Feb, 2020 1 commit
-
-
Ng Zhi An authored
This relands commit 7c32fa05. Some test cases need to be updated, since we will bail out to TurboFan where previously Liftoff was happy to run, when SIMD is not supported. Original change's description: > [wasm-simd][liftoff] Check CpuFeatures for SIMD support > > If Wasm simd128 is not supported on this particular hardware, we bail > out to TurboFan. > > Bug: v8:9909 > Change-Id: Ie46e154426783ba099b7c0facc906670cda1bdd0 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2029427 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66055} Bug: v8:9909 Bug: v8:10169 Change-Id: I850e1fe6bfbd12fb2eec052aa8367624c09f7a08 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030354 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66090}
-
- 30 Jan, 2020 1 commit
-
-
Jan Krems authored
When the file begins with a hashbang, the scanner is in a failed state when SkipHashbang() is called. This is usually not an issue but when the parser encounters an ILLEGAL token, it will reset the SyntaxError location because of it. Bug: v8:10110 Change-Id: I1c7344bf5ad20079cff80130c991f3bff4d7e9a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1995312Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#66038}
-
- 29 Jan, 2020 1 commit
-
-
Ng Zhi An authored
Bug: v8:9909 Change-Id: I53d3b95e1f22e0194ac1a2ed7b556189acb8f9ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2023399Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66036}
-
- 21 Jan, 2020 1 commit
-
-
Ng Zhi An authored
Add a case for kWasmS128 in Spill. We encounter this in the wasm-trace-memory-liftoff test, but that test was skipped on ARM and ARM64 due to insufficient implementation of Liftoff on those archs. But with recent changes, they are now capable of running this particular test, so we enable it. Drive-by fix for incorrect size used in vld1 for filling S128 values. Bug: v8:9909 Change-Id: I8addd06ba3c9a40364e432180cd5dbc48debca23 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2007901 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65904}
-
- 14 Jan, 2020 1 commit
-
-
Ng Zhi An authored
Add kWasmS128 to the list of supported types, and implement Fill for all the architectures so that LocalGet works. Add a new test file to contain tests that run only on Liftoff, and assert that the code is indeed compiled by Liftoff. We cannot rely on the nooptimization variant for testing because by default, if Liftoff compilation fails, it will fall back to Turbofan, and we accidentally get a test passing. We skip these tests on mips architecture that don't support SIMD, since there is no way to implement these, and we don't have a "lowering" phase for Liftoff. As we implement more of SIMD in Liftoff, we can add more tests to this file and ensure correctness. Future patches will introduce support for globals and params. Bug: v8:9909 Change-Id: I7fc911f2d588d60c709ddb258b2efc1f22805fab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1999470 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65768}
-
- 09 Jan, 2020 1 commit
-
-
Clemens Backes authored
This is a cleanup to remove unneeded flags after these changes (in https://crrev.com/c/1988548): * --future does not imply --wasm-tier-up any more, and * --wasm-tier-up does not imply --liftoff any more. Instead, now * --wasm-tier-up is enabled by default, * --wasm-tier-up has no effect if --liftoff is not set, and * --future implies --liftoff. R=ahaas@chromium.org Bug: chromium:1040061 Change-Id: I5d04ee1f1d84ddcd0654df0e0a4c6298f80aee9e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1993280Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65666}
-
- 05 Nov, 2019 1 commit
-
-
Eric Leese authored
Currently there are two ways wasm locations are represented in the inspector. This remains unchanged for now. Also, currently there are multiple ways location is represented within V8, with the line number sometimes being a function index and sometimes being 0, and the column number being a byte offset which is sometimes function relative and sometimes module relative. With this change, the line number is never used within V8 (it is always 0), and the column number is always a byte offset from the beginning of the module. This simplifies translation logic and keeps it in one place, and will simplify future changes to wasm location representation in the inspector API. Bug: chromium:1013527 Change-Id: I8813d47c881988f9ab49d7529fb81fe10dbbccff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1886915 Commit-Queue: Eric Leese <leese@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64774}
-
- 24 Oct, 2019 1 commit
-
-
Shu-yu Guo authored
Currently if the argument to matchAll has a null or undefined .flags property, the error message will read "String.prototype.matchAll called on null or undefined", which is very confusing. Drive-by fix: Remove the related and unused MethodInvokedOnNullOrUndefined error. Bug: v8:9895 Change-Id: I3644545282ac8d2156c7a51086e37a0ab7f97a78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1874619 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64530}
-
- 22 Oct, 2019 1 commit
-
-
Simon Zünd authored
Embedded builtins are now unconditionally enabled, which removes the need to differentiate between enabled/disabled embedded builtins. This Cl removes the 'embedded_builtins' variant and related *.status entries. R=machenbach@chromium.org Bug: v8:8519 Change-Id: I55d0dd54735b7cc437832af6fa2836fd6c14a317 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864936 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64464}
-
- 11 Oct, 2019 1 commit
-
-
Ng Zhi An authored
Increase the embedded vector size to 91 as that is the max size needed to print a s128 as a 32x4. - max value of uint32_t has 10 digits in decimal, 1 for a potential sign, 3 spaces in between 4 of them -> 3 + 4 * 11 = 47 - max value of uint32_t has 8 digits in hex, 3 spaces in between -> 3 + 4 * 8 = 35 - the prefix "v128:" -> 5 - " / " to separate the decimal and hex representation -> 3 - null byte 47 + 35 + 5 + 3 + 1 = 91 Bug: v8:9754 Change-Id: I153c30738fa8862b44fb5103cbe62ea0bcea9718 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1814885 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64256}
-
- 08 Oct, 2019 1 commit
-
-
Clemens Backes authored
This brings our constants back in line with the changed spec text. We already use kExprTableGet and kExprTableSet, but for locals and globals we still use the old wording. This renaming is mostly mechanical. PS1 was created using: ag -l 'kExpr(Get|Set|Tee)Local' src test | \ xargs -L1 sed -E 's/kExpr(Get|Set|Tee)Local\b/kExprLocal\1/g' -i PS2 contains manual fixes. R=mstarzinger@chromium.org Bug: v8:9810 Change-Id: I1617f1b2a100685a3bf56218e76845a9481959c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847354Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64161}
-
- 26 Sep, 2019 1 commit
-
-
Clemens Backes authored
R=adamk@chromium.org No-Try: true Change-Id: I71824f52802c125dbee51216054575f44d08d534 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825243 Commit-Queue: Clemens Backes [né Hammacher] <clemensb@chromium.org> Auto-Submit: Clemens Backes [né Hammacher] <clemensb@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#63983}
-
- 24 Sep, 2019 1 commit
-
-
Joshua Litt authored
Adds support for parsing top level await to V8, as well as many tests. This is the final cl in the series to add support for top level await to v8. Spec is here: https://tc39.es/proposal-top-level-await/#sec-execute-async-module Bug: v8:9344 Change-Id: Ie8f17ad8c7c60d1f6996d134ae154416cc1f31e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1703878Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#63946}
-
- 30 Aug, 2019 2 commits
-
-
Leszek Swirski authored
This is a reland of 1fba0441 Chromium expectation tests have been disabled, and will be enabled 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=verwaest@chromium.org Bug: chromium:999473 Change-Id: Ib0b2e4be433c50521ba1722e1c06b672bfefa405 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1777702Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#63477}
-
Joyee Cheung authored
This patch implements the access of private accessors by loading the referenced component from the AccessorPair associated with private name variables. It also makes the error messages for invalid kind of private accessor access more specific. Bug: v8:8330 Design doc: https://docs.google.com/document/d/10W4begYfs7lmldSqBoQBBt_BKamgT8igqxF9u50RGrI/edit Change-Id: I6d441cffb85f8d9cd0417ec9b6ae20f3e34ef418 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695205Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/master@{#63474}
-
- 29 Aug, 2019 2 commits
-
-
Adam Klein authored
This reverts commit 1fba0441. 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/+/1776994Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#63465}
-
Leszek Swirski authored
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/+/1773254Reviewed-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}
-
- 08 Aug, 2019 1 commit
-
-
Joshua Litt authored
Bug: v8:9603 Change-Id: I7a36c97feedaccf81509aae579f1594a0e7b1019 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1743527Reviewed-by:
Mathias Bynens <mathias@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#63129}
-
- 08 Jul, 2019 1 commit
-
-
Ross Kirsling authored
This is a reland of 89d93e38 Original change's description: > Reland "Let all early errors be SyntaxErrors." > > This is a reland of 99fd5b9b which includes a missed update to > test/test262/test262.status. > > Implement the spec change from the following TC39 PR: > https://github.com/tc39/ecma262/pull/1527 > > Bug: v8:9326 > Change-Id: Ie3aac60db550e90fb648fc30886a05419fa41afe > TBR: adamk@chromium.org > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1682989 > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62500} Bug: v8:9326 Change-Id: Ic30280400dfa5b83a4a397888e563eee479446c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1688271Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Tamer Tas <tmrts@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62553}
-
- 03 Jul, 2019 3 commits
-
-
Michael Starzinger authored
This assertion was borked, as it accepted obviously "same" values like the same object. This fixes the predicate by switching both assertSame and assertNotSame to use {Object.is} underneath. It also adds a new respective regression test (gotta test the tester). R=ahaas@chromium.org TEST=message/mjsunit/fail/assert_not_same Change-Id: I6ba20c4b8b96a736ab924715b1cad78f2f43a120 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1687541Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#62512}
-
Clemens Hammacher authored
This reverts commit 89d93e38. Reason for revert: Breaks layout tests: https://ci.chromium.org/p/v8/builders/ci/V8-Blink%20Linux%2064/32929 Original change's description: > Reland "Let all early errors be SyntaxErrors." > > This is a reland of 99fd5b9b which includes a missed update to > test/test262/test262.status. > > Implement the spec change from the following TC39 PR: > https://github.com/tc39/ecma262/pull/1527 > > Bug: v8:9326 > Change-Id: Ie3aac60db550e90fb648fc30886a05419fa41afe > TBR: adamk@chromium.org > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1682989 > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62500} TBR=adamk@chromium.org,gsathya@chromium.org,verwaest@chromium.org,rkirsling@gmail.com Change-Id: Ia56dcda6780a2b1249749e1e7978b35b5e33fbcf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9326 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1687678Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62509}
-
Ross Kirsling authored
This is a reland of 99fd5b9b which includes a missed update to test/test262/test262.status. Implement the spec change from the following TC39 PR: https://github.com/tc39/ecma262/pull/1527 Bug: v8:9326 Change-Id: Ie3aac60db550e90fb648fc30886a05419fa41afe TBR: adamk@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1682989Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62500}
-
- 28 Jun, 2019 2 commits
-
-
Francis McCabe authored
This reverts commit 99fd5b9b. Reason for revert: fails presubmit test: https://ci.chromium.org/p/v8/builders/ci/V8%20Presubmit/5238 and a nosnap test https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20nosnap%20-%20shared/34143 Original change's description: > Let all early errors be SyntaxErrors. > > Implement the spec change from the following TC39 PR: > https://github.com/tc39/ecma262/pull/1527 > > Bug: v8:9326 > Change-Id: I9639903b12e7621e323990e2335f00e0313a59c3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1643171 > Reviewed-by: Adam Klein <adamk@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Adam Klein <adamk@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62451} TBR=adamk@chromium.org,verwaest@chromium.org,rkirsling@gmail.com Change-Id: If63b97725e9737ad5a98800e1194caf8e9c1c43d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9326 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1682393Reviewed-by:
Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#62452}
-
Ross Kirsling authored
Implement the spec change from the following TC39 PR: https://github.com/tc39/ecma262/pull/1527 Bug: v8:9326 Change-Id: I9639903b12e7621e323990e2335f00e0313a59c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1643171Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#62451}
-
- 27 Jun, 2019 1 commit
-
-
Mathias Bynens authored
d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the `// MODULE` pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by:
Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421}
-