- 08 Jul, 2021 2 commits
-
-
Patrick Thier authored
This is a reland of 819c3ae2 Original change's description: > Reland "Reland "Improve error messages for property access on null/undefined"" > > This is a reland of 8b18c5e6 > > Original change's description: > > Reland "Improve error messages for property access on null/undefined" > > > > This is a reland of 24c626c1 > > > > Original change's description: > > > Improve error messages for property access on null/undefined > > > > > > Only print the property name when accessing null/undefined if we can > > > convert it to a string without causing side effects. > > > If we can't, omit the property name in the error message. > > > This should avoid confusion when the key is an object with toString(). > > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > > Object]' anymore, which was misleading since the property accessed would > > > be 'a', but we can't evaluate the key without side effects. > > > > > > Bug: v8:11365 > > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#75250} > > > > Bug: v8:11365 > > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75571} > > Bug: v8:11365 > Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 > Auto-Submit: Patrick Thier <pthier@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75604} Bug: v8:11365 Change-Id: I002b537144f328ccbbdcd655e26e5dc87c49c6f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013935Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75645}
-
Leszek Swirski authored
This reverts commit 819c3ae2. Reason for revert: Sorry Patrick, still failing on some layout tests :( https://test-results.appspot.com/data/layout_results/mac-rel/726365/blink_web_tests%20%28retry%20shards%20with%20patch%29/layout-test-results/results.html Original change's description: > Reland "Reland "Improve error messages for property access on null/undefined"" > > This is a reland of 8b18c5e6 > > Original change's description: > > Reland "Improve error messages for property access on null/undefined" > > > > This is a reland of 24c626c1 > > > > Original change's description: > > > Improve error messages for property access on null/undefined > > > > > > Only print the property name when accessing null/undefined if we can > > > convert it to a string without causing side effects. > > > If we can't, omit the property name in the error message. > > > This should avoid confusion when the key is an object with toString(). > > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > > Object]' anymore, which was misleading since the property accessed would > > > be 'a', but we can't evaluate the key without side effects. > > > > > > Bug: v8:11365 > > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#75250} > > > > Bug: v8:11365 > > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75571} > > Bug: v8:11365 > Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 > Auto-Submit: Patrick Thier <pthier@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75604} Bug: v8:11365 Change-Id: I7d7c0f201288384c2aa38a51418b582a64213ae0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013352 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#75626}
-
- 07 Jul, 2021 1 commit
-
-
Patrick Thier authored
This is a reland of 8b18c5e6 Original change's description: > Reland "Improve error messages for property access on null/undefined" > > This is a reland of 24c626c1 > > Original change's description: > > Improve error messages for property access on null/undefined > > > > Only print the property name when accessing null/undefined if we can > > convert it to a string without causing side effects. > > If we can't, omit the property name in the error message. > > This should avoid confusion when the key is an object with toString(). > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > Object]' anymore, which was misleading since the property accessed would > > be 'a', but we can't evaluate the key without side effects. > > > > Bug: v8:11365 > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75250} > > Bug: v8:11365 > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Patrick Thier <pthier@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75571} Bug: v8:11365 Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 Auto-Submit: Patrick Thier <pthier@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#75604}
-
- 06 Jul, 2021 2 commits
-
-
Leszek Swirski authored
This reverts commit 8b18c5e6. Reason for revert: Still failing: https://test-results.appspot.com/data/layout_results/V8_Blink_Linux/12469/blink_web_tests%20%28retry%20shards%20with%20patch%29/layout-test-results/results.html Original change's description: > Reland "Improve error messages for property access on null/undefined" > > This is a reland of 24c626c1 > > Original change's description: > > Improve error messages for property access on null/undefined > > > > Only print the property name when accessing null/undefined if we can > > convert it to a string without causing side effects. > > If we can't, omit the property name in the error message. > > This should avoid confusion when the key is an object with toString(). > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > Object]' anymore, which was misleading since the property accessed would > > be 'a', but we can't evaluate the key without side effects. > > > > Bug: v8:11365 > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75250} > > Bug: v8:11365 > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Patrick Thier <pthier@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75571} Bug: v8:11365 Change-Id: Ic4137f0d70fa9b10ca70fa921b98ea7e1499f11b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008217 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#75577}
-
Patrick Thier authored
This is a reland of 24c626c1 Original change's description: > Improve error messages for property access on null/undefined > > Only print the property name when accessing null/undefined if we can > convert it to a string without causing side effects. > If we can't, omit the property name in the error message. > This should avoid confusion when the key is an object with toString(). > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > Object]' anymore, which was misleading since the property accessed would > be 'a', but we can't evaluate the key without side effects. > > Bug: v8:11365 > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Patrick Thier <pthier@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75250} Bug: v8:11365 Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75571}
-
- 21 Jun, 2021 1 commit
-
-
Bill Budge authored
This reverts commit 24c626c1. Reason for revert: Blocks V8 roll into Chromium (changed error messages cause tests to fail): https://ci.chromium.org/p/chromium/builders/try/linux-rel/724109? Original change's description: > Improve error messages for property access on null/undefined > > Only print the property name when accessing null/undefined if we can > convert it to a string without causing side effects. > If we can't, omit the property name in the error message. > This should avoid confusion when the key is an object with toString(). > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > Object]' anymore, which was misleading since the property accessed would > be 'a', but we can't evaluate the key without side effects. > > Bug: v8:11365 > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Patrick Thier <pthier@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75250} Bug: v8:11365 Change-Id: Ic63f34033254f55b3871041633d84ea48586a75d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2977374 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#75282}
-
- 18 Jun, 2021 1 commit
-
-
Patrick Thier authored
Only print the property name when accessing null/undefined if we can convert it to a string without causing side effects. If we can't, omit the property name in the error message. This should avoid confusion when the key is an object with toString(). E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object Object]' anymore, which was misleading since the property accessed would be 'a', but we can't evaluate the key without side effects. Bug: v8:11365 Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75250}
-
- 01 Jun, 2021 1 commit
-
-
Benedikt Meurer authored
In the Chrome DevTools Protocol, the step actions are named StepOut, StepOver, and StepInto, but internally we used StepOut, StepNext, and StepIn instead. This change adjusts the naming to be consistent. Bug: chromium:901814, chromium:1162229 Change-Id: Id3502a1b0a4aadd94734ec3d1fef73c1782fa220 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928510Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74877}
-
- 28 Apr, 2021 1 commit
-
-
Benedikt Meurer authored
Previously we'd allow to replace the source of functions that are on the current execution stack under certain conditions, but this has resulted in an endless stream of bugs due to weird edge cases, and so we're now limiting LiveEdit to functions that don't have any activation (including not a suspended generator / async function activation). We might eventually add the ability to LiveEdit functions with activations and have them "upgrade upon next invocation", but that doesn't seem to be an extremely important use case right now. Fixed: chromium:1195927 Change-Id: I87a45ba4d0ddcfbf867bd4e73738d76b2d789e04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2846892 Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#74249}
-
- 15 Mar, 2021 1 commit
-
-
Kim-Anh Tran authored
This changes the behavior of SetBreakpointForScript to find more accurate break positions. Previously, setting a breakpoint would only consider the shared function info that contained the requested position for setting a breakpoint. More intuitively, a breakpoint should not necessarily be set in a function that contains the position, but in the closest breakable location that comes after the position we requested. To achieve this we: 1. find the shared function info of the inner most function that contains the requested_position. This function's end position is used to find other shared function infos in step 2. 2. search for all shared function infos that intersect with the range [requested_position, inner_most_function.break_position[. 3. From the shared function infos extracted in 2, find the one that has the closest breakable location to requested_position. Also-By: bmeurer@chromium.org Fixed: chromium:1137141 Change-Id: I4f4c6c3aac1ebea50cbcad9543b539ab1ded2b05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742198 Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#73392}
-
- 12 Nov, 2020 1 commit
-
-
Shu-yu Guo authored
It's shipped since M85. Bug: v8:9808 Change-Id: I0c2dcda601aad33d4acb379b242799f9b09e8930 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2510869 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71137}
-
- 24 Jun, 2020 1 commit
-
-
Camillo Bruni authored
With this CL d8 exits with an error code if there is an unhandled promise rejection, e.g. due tue a failed assertion in a promise. Up until now these assertions were just ignored. Bug: v8:10556 Change-Id: I25f20e4be45a2de130562deb15f6a144f0ac976f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2238569Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#68503}
-
- 30 Apr, 2020 1 commit
-
-
Marja Hölttä authored
CL adopted from joshualitt@: https://chromium-review.googlesource.com/c/v8/v8/+/2002932 Link to explainer is here: https://github.com/tc39/proposal-promise-anyCo-authored-by:
Joshua Litt <joshualitt@chromium.org> Bug: v8:9808 Change-Id: I6872020e857d4b131d5663f95fd58e6271ccb067 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124834 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#67502}
-
- 16 Sep, 2019 1 commit
-
-
Victor Gomes authored
Disable a flaky test. This is a reland of cbf028e8 Bug: v8:9714 Change-Id: Ifc136ad80bd7f2a0ae67a15e688a3d08ceed3c44 Cq-Include-Trybots: luci.v8.try:v8_linux_gc_stress_dbg Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1806915 Auto-Submit: Victor Gomes <victorgomes@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Victor Gomes <victorgomes@google.com> Cr-Commit-Position: refs/heads/master@{#63793}
-
- 13 Sep, 2019 2 commits
-
-
Clemens Hammacher authored
This reverts commit 7b7df7db. Reason for revert: Still breaks gc-stress bots: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/24466 Original change's description: > Reland "[Heap] Create a fast path for young allocations." > > Disable a flaky test. > > This is a reland of cbf028e8 > > Original change's description: > > [Heap] Create a fast path for young allocations. > > > > Bug: v8:9714 > > Change-Id: I3be6ea615142c8282bb67370626c7596cedf826c > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1800304 > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Commit-Queue: Victor Gomes <victorgomes@google.com> > > Auto-Submit: Victor Gomes <victorgomes@google.com> > > Cr-Commit-Position: refs/heads/master@{#63729} > > Bug: v8:9714 > Change-Id: Ifbd8617be1b8c58cb1552fe88c52eafd9d6e9c7d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801840 > Commit-Queue: Victor Gomes <victorgomes@google.com> > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Auto-Submit: Victor Gomes <victorgomes@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63744} TBR=ulan@chromium.org,verwaest@chromium.org,victorgomes@google.com Change-Id: Ie041a7ff25adb9edc7c44ebb259912e66dfb9da1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9714 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801852Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#63747}
-
Victor Gomes authored
Disable a flaky test. This is a reland of cbf028e8 Original change's description: > [Heap] Create a fast path for young allocations. > > Bug: v8:9714 > Change-Id: I3be6ea615142c8282bb67370626c7596cedf826c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1800304 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Victor Gomes <victorgomes@google.com> > Auto-Submit: Victor Gomes <victorgomes@google.com> > Cr-Commit-Position: refs/heads/master@{#63729} Bug: v8:9714 Change-Id: Ifbd8617be1b8c58cb1552fe88c52eafd9d6e9c7d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801840 Commit-Queue: Victor Gomes <victorgomes@google.com> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Victor Gomes <victorgomes@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#63744}
-
- 29 Apr, 2019 1 commit
-
-
Ross McIlroy authored
BUG=v8:8801 Change-Id: Id5ef6219ba2dca2be0603dd0d45e7b27136836e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587391Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61085}
-
- 23 Jan, 2019 1 commit
-
-
Toon Verwaest authored
This allows us to remove the PatternRewriter. Change-Id: I54ec74ed3bd31e76e38c69f9b0b2a78f8620cd89 Reviewed-on: https://chromium-review.googlesource.com/c/1429863 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#59028}
-
- 09 Jan, 2019 1 commit
-
-
Leszek Swirski authored
Emit a single destructuring assignment for destructuring declarations, which can be desugared by the bytecode generator. This allows us to remove destructuring desugaring from the parser (specifically, the pattern rewriter) entirely. The pattern "rewriter" is now only responsible for walking the destructuring pattern to declare variables, mark them assigned, and potentially rewrite scopes for the edge case of parameters with a sloppy eval. Note that since the rewriter is no longer rewriting, we have to flip the VariableProxy copying logic for var re-lookup, so that we now pass the new VariableProxy to the variable declaration and leave the original unresolved (rather than passing the original through and rewriting to a new unresolved VariableProxy). This change does have some effect on breakpoint locations, due to some of the available information changing between the parser and bytecode generator, however the new locations appear to be more consistent between assignments and declarations. Change-Id: I3a58dd0a387d2bfb8e5e9e22dde0acc5f440cb82 Reviewed-on: https://chromium-review.googlesource.com/c/1382462 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58670}
-
- 06 Dec, 2018 1 commit
-
-
tzik authored
This replaces Runtime_RunMicrotasks with Runtime_PerformMicrotaskCheckpoint. RunMicrotasks forcibly runs Microtasks even when the microtasks are suppressed, and may causes nested Microtasks in a problematic way. E.g. that confuses v8::MicrotasksScope::IsRunningMicrotasks() and GetEnteredOrMicrotaskContext(). OTOH, PerformMicrotaskCheckpoint() doesn't run cause the failure as it respects the microtask suppressions. As all existing tests don't call RunMicrotasks() in the suppressed situation (like Promise.resolve().then(()=>{%RunMicrotasks();})), this change should not affect to these tests. Change-Id: Ib043a0cc8e482e022d375084d65ea98a6f54ef3d Reviewed-on: https://chromium-review.googlesource.com/c/1360095Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#58068}
-
- 04 Sep, 2018 1 commit
-
-
Bill Budge authored
Bug: v8:8015 Change-Id: Ic6d3b4f927095ba2e78509c1ba07e5b9258426e2 Reviewed-on: https://chromium-review.googlesource.com/1198182Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#55617}
-
- 05 Jul, 2018 1 commit
-
-
Alexey Kozyatinskiy authored
- rewritten couple tests, - migrated JSMessageObject to real Script instead of wrapper, - removed wrapper. R=yangguo@chromium.org TBR=ulan@chromium.org Bug: v8:5530 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ia95492344c7b5978a940e2ab007b389384537148 Reviewed-on: https://chromium-review.googlesource.com/1112851Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#54274}
-
- 03 Jul, 2018 3 commits
-
-
Alexey Kozyatinskiy authored
This is a reland of 3dfaf826 Original change's description: > [debug] liveedit in native > > Liveedit step-by-step: > 1. calculate diff between old source and new source, > 2. map function literals from old source to new source, > 3. create new script for new_source, > 4. mark literals with changed code as changed, all others as unchanged, > 5. check that for changed literals there are no: > - running generators in the heap, > - non droppable frames (e.g. running generator) above them on stack. > 6. mark the bottom most frame with changed function as scheduled for > restart if any. > 7. for unchanged functions: > - deoptimize, > - remove from cache, > - update source positions, > - move to new script, > - reset feedback information and preparsed scope information if any, > - replace any sfi in constant pool with changed one if any. > 8. for changed functions: > - deoptimize > - remove from cache, > - reset feedback information, > - update all links from js functions to old shared with new one. > 9. swap scripts. > > TBR=ulan@chromium.org > > Bug: v8:7862,v8:5713 > Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel > Change-Id: I8f6f6156318cc82d6f36d7ebc1c9f7d5f3aa1461 > Reviewed-on: https://chromium-review.googlesource.com/1105493 > Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54146} TBR=dgozman@chromium.org Bug: v8:7862, v8:5713 Change-Id: I163ed2fd2ca3115ba0de74cb35a6fac9e40fdd94 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Reviewed-on: https://chromium-review.googlesource.com/1124879 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#54187}
-
Yang Guo authored
This reverts commit 3dfaf826. Reason for revert: Failures - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20gcc%204.8/20394 Original change's description: > [debug] liveedit in native > > Liveedit step-by-step: > 1. calculate diff between old source and new source, > 2. map function literals from old source to new source, > 3. create new script for new_source, > 4. mark literals with changed code as changed, all others as unchanged, > 5. check that for changed literals there are no: > - running generators in the heap, > - non droppable frames (e.g. running generator) above them on stack. > 6. mark the bottom most frame with changed function as scheduled for > restart if any. > 7. for unchanged functions: > - deoptimize, > - remove from cache, > - update source positions, > - move to new script, > - reset feedback information and preparsed scope information if any, > - replace any sfi in constant pool with changed one if any. > 8. for changed functions: > - deoptimize > - remove from cache, > - reset feedback information, > - update all links from js functions to old shared with new one. > 9. swap scripts. > > TBR=ulan@chromium.org > > Bug: v8:7862,v8:5713 > Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel > Change-Id: I8f6f6156318cc82d6f36d7ebc1c9f7d5f3aa1461 > Reviewed-on: https://chromium-review.googlesource.com/1105493 > Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54146} TBR=dgozman@chromium.org,ulan@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org Change-Id: I45df5b6f3abaf29e593c6ac11edefbd0177d0109 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7862, v8:5713 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Reviewed-on: https://chromium-review.googlesource.com/1124159Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54151}
-
Alexey Kozyatinskiy authored
Liveedit step-by-step: 1. calculate diff between old source and new source, 2. map function literals from old source to new source, 3. create new script for new_source, 4. mark literals with changed code as changed, all others as unchanged, 5. check that for changed literals there are no: - running generators in the heap, - non droppable frames (e.g. running generator) above them on stack. 6. mark the bottom most frame with changed function as scheduled for restart if any. 7. for unchanged functions: - deoptimize, - remove from cache, - update source positions, - move to new script, - reset feedback information and preparsed scope information if any, - replace any sfi in constant pool with changed one if any. 8. for changed functions: - deoptimize - remove from cache, - reset feedback information, - update all links from js functions to old shared with new one. 9. swap scripts. TBR=ulan@chromium.org Bug: v8:7862,v8:5713 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I8f6f6156318cc82d6f36d7ebc1c9f7d5f3aa1461 Reviewed-on: https://chromium-review.googlesource.com/1105493Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#54146}
-
- 21 Jun, 2018 1 commit
-
-
Alexey Kozyatinskiy authored
After this CL all liveedit tests call the same LiveEdit::PatchScript method. This method will be updated later. As well some new liveedit cctests added, unfortunately part of them do not work with current implementation. R=dgozman@chromium.org,yangguo@chromium.org Bug: v8:7862 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I3521af12b0f95b39d13aaafb1d1cf60f3f642a97 Reviewed-on: https://chromium-review.googlesource.com/1108382 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#53936}
-
- 04 Apr, 2018 2 commits
-
-
Sigurd Schneider authored
Bug: v8:7584 Change-Id: I03ee3332960bf733a79f95a6cbe8563212cbaa1d Reviewed-on: https://chromium-review.googlesource.com/995453Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52350}
-
Sigurd Schneider authored
This CL allows builtin continuations to handle pending exceptions. This implements exception handling for the promise constructor in case of deoptimization. Bug: v8:7584 Change-Id: Ib5df5eb6606abb3f9690f294397981858dbdbf25 Reviewed-on: https://chromium-review.googlesource.com/983912 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#52340}
-
- 08 Feb, 2018 1 commit
-
-
Sathya Gunasekaran authored
PromiseHooks can be called with a proxy which fails the cast and crashes. This patch changes the runtime functions to explicitly check for a JSPromise. This has the side effect of removing the existing broken support for catch prediction for non native promises. Bug: v8:7398, v8:7190 Change-Id: I66dbe5f9935943a91afb7ee14919bd9248f9f7e4 Reviewed-on: https://chromium-review.googlesource.com/907677Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#51182}
-
- 18 Jul, 2017 1 commit
-
-
Alexey Kozyatinskiy authored
Nop bytecodes are required only for break locations in debugger. Since nop bytecode doesn't change program state we can remove all of them. There are at least two changes which this CL produce: - we don't provide break position when we load local variable (still provide when load variable from global), - we don't provide break position for statements without actual break positions (e.g. "a;") - these expressions should be super rare and user always can set breakpoint before or after this statement. More details in one pager: https://docs.google.com/a/google.com/document/d/1JXlQpfMa9vRojbE272b6GMBbrfh6m_00135iAUOJEz8/edit?usp=sharing Bug: v8:6425 Change-Id: I4aee73d497a84f7b5d89caa6dda6d3060567dfda Reviewed-on: https://chromium-review.googlesource.com/543161Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46742}
-
- 14 Jul, 2017 1 commit
-
-
Alexey Kozyatinskiy authored
Goal of this CL: explicit return from non-async function has position after return expression as return position (will unblock [1]). BytecodeArrayBuilder has SetStatementPosition and SetExpressionPosition methods. If one of these methods is called then next generated bytecode will get passed position. It's general treatment for most cases. Unfortunately it doesn't work for Returns: - debugger requires source positions exactly on kReturn bytecode in stepping implementation, - BytecodeGenerator::BuildReturn and BytecodeGenerator::BuildAsyncReturn generates more then one bytecode and general solution will put return position on first generated bytecode, - it's not easy to split BuildReturn function into two parts to allow something like following in BytecodeGenerator::VisitReturnStatement since generated bytecodes are actually controlled by execution_control(). ..->BuildReturnPrologue(); ..->SetReturnPosition(stmt); ..->Return(); In this CL we pass ReturnStatement through ExecutionControl and use it for position when we emit return bytecode right here. So this CL only will improve return position for returns inside of non-async functions, I'll address async functions later. [1] https://chromium-review.googlesource.com/c/543161/ Change-Id: Iede512c120b00c209990bf50c20e7d23dc0d65db Reviewed-on: https://chromium-review.googlesource.com/560738 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46687}
-
- 13 Jul, 2017 1 commit
-
-
Adam Klein authored
The tail call implementation is hidden behind the --harmony-tailcalls flag, which is off-by-default (and has been unstaged since February). It is known to be broken in a variety of cases, including clusterfuzz security issues (see sample Chromium issues below). To avoid letting the implementation bitrot further on trunk, this patch removes it. Bug: v8:4698, chromium:636914, chromium:724746 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I9cb547101456a582374fdf7b1a3f044a9ef33e5c Reviewed-on: https://chromium-review.googlesource.com/569069 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46651}
-
- 10 Jul, 2017 1 commit
-
-
Alexey Kozyatinskiy authored
This is a reland of 5b44ba0e Original change's description: > (Reland) [parser] moved load property position after dot > > Currently LdaNamedProperty bytecode for expressions like a.b has position before dot. This CL moves this location after dot. > It's important for later removing of Nop bytecodes in expressions like a.b() where a is local variable, property call and property load should have the same position. > > R=jgruber@chromium.org > TBR=marja@chromium.org > > Bug: v8:6425 > Change-Id: I05c21ca5e018da9c432c6bc963c7a96799336d1c > Reviewed-on: https://chromium-review.googlesource.com/562879 > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46484} TBR=marja@chromium.org,jgruber@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Bug: v8:6425 Change-Id: I5eba5fe43ad31c5c781ffcc8c604cd9c98baa57e Reviewed-on: https://chromium-review.googlesource.com/565907Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46542}
-
- 08 Jul, 2017 1 commit
-
-
Michael Achenbach authored
This reverts commit 5b44ba0e. Reason for revert: Layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/16841 Original change's description: > (Reland) [parser] moved load property position after dot > > Currently LdaNamedProperty bytecode for expressions like a.b has position before dot. This CL moves this location after dot. > It's important for later removing of Nop bytecodes in expressions like a.b() where a is local variable, property call and property load should have the same position. > > R=jgruber@chromium.org > TBR=marja@chromium.org > > Bug: v8:6425 > Change-Id: I05c21ca5e018da9c432c6bc963c7a96799336d1c > Reviewed-on: https://chromium-review.googlesource.com/562879 > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46484} TBR=kozyatinskiy@chromium.org,jgruber@chromium.org Change-Id: If9d5fa5f46ed10a407559e9cf10d2a6a54dbe163 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6425 Reviewed-on: https://chromium-review.googlesource.com/564418Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46491}
-
- 07 Jul, 2017 1 commit
-
-
Alexey Kozyatinskiy authored
Currently LdaNamedProperty bytecode for expressions like a.b has position before dot. This CL moves this location after dot. It's important for later removing of Nop bytecodes in expressions like a.b() where a is local variable, property call and property load should have the same position. R=jgruber@chromium.org TBR=marja@chromium.org Bug: v8:6425 Change-Id: I05c21ca5e018da9c432c6bc963c7a96799336d1c Reviewed-on: https://chromium-review.googlesource.com/562879 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46484}
-
- 30 Jun, 2017 1 commit
-
-
Leszek Swirski authored
Change-Id: I2ee0ff9db1bbc8c17a1ad3dea1de1ad996895852 Reviewed-on: https://chromium-review.googlesource.com/474807Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#46338}
-
- 23 Jun, 2017 2 commits
-
-
Michael Achenbach authored
This reverts commit 217d654c. Reason for revert: Changes layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/16520 Original change's description: > [parser] moved load property position after dot > > Currently LdaNamedProperty bytecode for expressions like a.b has position before dot. This CL moves this location after dot. > It's important for later removing of Nop bytecodes in expressions like a.b() where a is local variable, property call and property load should have the same position. > > R=jgruber@chromium.org > > Bug: v8:6425 > Change-Id: I528c5007de52215beba80851ab04693ecec038e2 > Reviewed-on: https://chromium-review.googlesource.com/543047 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46163} TBR=marja@chromium.org,kozyatinskiy@chromium.org,jgruber@chromium.org Change-Id: I94543526f39f0a20452fbce1a7bc6744cac66621 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6425 Reviewed-on: https://chromium-review.googlesource.com/544993Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46171}
-
Alexey Kozyatinskiy authored
Currently LdaNamedProperty bytecode for expressions like a.b has position before dot. This CL moves this location after dot. It's important for later removing of Nop bytecodes in expressions like a.b() where a is local variable, property call and property load should have the same position. R=jgruber@chromium.org Bug: v8:6425 Change-Id: I528c5007de52215beba80851ab04693ecec038e2 Reviewed-on: https://chromium-review.googlesource.com/543047Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46163}
-
- 30 May, 2017 1 commit
-
-
Aleksey Kozyatinskiy authored
This CL improves break locations for expressions like 'var a = <expr>'. Without CL we use <expr> position as break location for initialization statement, with this CL we use position of first character after '=' as position. Benefits (see test for details): - only one break in expressions which includes mix of property lookup and calls, e.g. var p = Promise.resolve().then(x => x * 2), - removed redundant break location for expressions like: let { x, y } = { x: 1, y: 2}. TBR=dgozman@chromium.org,rmcilroy@chromium.org,machenbach@chromium.org,marja@chromium.org,kozyatinskiy@chromium.org,devtools-reviews@chromium.org,v8-reviews@googlegroups.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:5909 Change-Id: Ie84fa79afeed09e28cf8478ba610a0cfbfdfc294 Reviewed-on: https://chromium-review.googlesource.com/518116 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#45598}
-
- 29 May, 2017 1 commit
-
-
Michael Achenbach authored
This reverts commit 7a9cc704. Reason for revert: Changes layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/15882 This is about: inspector/sources/debugger/source-frame-inline-breakpoint-decorations.html Original change's description: > [inspector] moved var initialization break location before init expression > > This CL improves break locations for expressions like 'var a = <expr>'. Without CL we use <expr> position as break location for initialization statement, with this CL we use position of first character after '=' as position. > Benefits (see test for details): > - only one break in expressions which includes mix of property lookup and calls, e.g. var p = Promise.resolve().then(x => x * 2), > - removed redundant break location for expressions like: let { x, y } = { x: 1, y: 2}. > > Bug: v8:5909 > Change-Id: I039d911903a2826c9859710a63ab0462c992e11b > Reviewed-on: https://chromium-review.googlesource.com/513926 > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#45530} TBR=dgozman@chromium.org,marja@chromium.org,kozyatinskiy@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:5909 Change-Id: Ibf84401e8050d3c84db219d983de2c6bba0f697f Reviewed-on: https://chromium-review.googlesource.com/518102Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#45547}
-