- 01 Apr, 2019 3 commits
-
-
Clemens Hammacher authored
This reverts commit 5fbc5015. Reason for revert: Fails on noi18n: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20noi18n%20-%20debug/26006 Original change's description: > [mjsunit] Add test that calls functions on prototypes with no arguments > > Change-Id: I0ede9f309b89cfa878a325e3f68327b1682d4ced > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538123 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60541} TBR=jarin@chromium.org,sigurds@chromium.org Change-Id: I4b9c747e6d73dd3ff01af81c3d1e6143dcab6ecd No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547652Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60544}
-
Benedikt Meurer authored
The CheckNonEmptyString lowering was the wrong way around and would deoptimize if it doesn't see the empty string. This leads to the creation of invalid ConsStrings and also to unnecessary deopt loops with proper code. Bug: chromium:947949, v8:8834, v8:8931, v8:8939, v8:8951 Change-Id: Ib2cc4e92cc9ec7e0284d94f74d14f67f8c878dec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545908Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60542}
-
Sigurd Schneider authored
Change-Id: I0ede9f309b89cfa878a325e3f68327b1682d4ced Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538123 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#60541}
-
- 29 Mar, 2019 7 commits
-
-
Alexei Filippov authored
That saves some bytes on the frontend side and some cycles when generating and parsing protocol JSON for stacks. BUG=chromium:946411 Change-Id: I36b3a48b5d8246a05b877bc21f36c08803a1c304 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1542800 Commit-Queue: Alexei Filippov <alph@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#60532}
-
Deepti Gandluri authored
Change-Id: Iad000c91323b9eef799b1e17f25bd3e9d345ab2d Bug: v8:8635 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1543850Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#60530}
-
Michael Achenbach authored
TBR=sigurds@chromium.org NOTRY=true Change-Id: I367705e892aea333cee4f8410b866972b7885dfc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545907Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#60529}
-
Michael Starzinger authored
This fixes initialization of reference type global variables (i.e. anyref and except_ref) based on an index of another global. It extends the existing support to exception types, fixes the logic, and also fixes a missing write barrier. R=ahaas@chromium.org TEST=mjsunit/wasm/exceptions-global BUG=v8:8091 Change-Id: Ia91f1ea03be24fadf3023a5acdd073badb8dcd93 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539581 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#60525}
-
Clemens Hammacher authored
Even though both are allowed in the style guide, it recommends to use 'using', as its syntax is more consistent with the rest of C++. This CL turns all typedefs in heap code to 'using' declarations. R=mstarzinger@chromium.org Bug: v8:8834 Change-Id: I8a9f6e1eebdd0adca4373c866e95ebab0a1e992d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545892Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60523}
-
Clemens Hammacher authored
Even though both are allowed in the style guide, it recommends to use 'using', as its syntax is more consistent with the rest of C++. This CL turns all typedefs in wasm code to 'using' declarations. R=ahaas@chromium.org Bug: v8:8834 Change-Id: Ibdce88a5cc31e0785cbc1b34088bd39aa3ec84b3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545890Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60519}
-
Jaroslav Sevcik authored
In reducers, we should avoid reductions of the form ReduceWithValue(node, replacement) return Replace(node) because such reduction does not kill the original node, so it may become subject to resurrection from some side table (in the bug referenced below it was load elimination's side table). Instead, we should use ReduceWithValue(node, replacement) return Replace(replacement) Bug: chromium:945644 Change-Id: Id210efe0d214a53241392d30b7f0eee8e7515e2a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545229Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#60517}
-
- 28 Mar, 2019 10 commits
-
-
Simon Zünd authored
This reverts commit 3bd49f9b. Reason for revert: Build failure on Win Bot Original change's description: > [torque] Throw exception instead of aborting if something goes wrong > > This CL enables exceptions for the Torque compiler and Torque language > server. Instead of aborting when something goes wrong during > compilation, a TorqueError is thrown, containing the error message > and a source position. The compiler executable still prints the error > and aborts, while the language server will pass this information > along to the client (not included in this CL). > > R=danno@chromium.org > > Bug: v8:8880 > Change-Id: Iad83c46fb6a91c1babbc0ae7dbd94fbe4e7f1663 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526003 > Reviewed-by: Daniel Clifford <danno@chromium.org> > Commit-Queue: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60512} TBR=danno@chromium.org,mvstanton@chromium.org,szuend@chromium.org Change-Id: Iac253da404eaf6e534267f59a42ca93667c205e4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8880 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1543849Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#60513}
-
Simon Zünd authored
This CL enables exceptions for the Torque compiler and Torque language server. Instead of aborting when something goes wrong during compilation, a TorqueError is thrown, containing the error message and a source position. The compiler executable still prints the error and aborts, while the language server will pass this information along to the client (not included in this CL). R=danno@chromium.org Bug: v8:8880 Change-Id: Iad83c46fb6a91c1babbc0ae7dbd94fbe4e7f1663 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526003Reviewed-by:
Daniel Clifford <danno@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#60512}
-
Andreas Haas authored
R=clemensh@chromium.org Change-Id: I3bcac024578eeb556a5422d10c86843be17f5782 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1543355Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#60511}
-
Sven Sauleau authored
This CL splits a specific test out the bigint.js test suite in order to be, eventually, ignored by the wasm-bigint proposal 32-bit support CL. Change-Id: I8ab673abfb53bac95952b11716fe4f29a4a7feaa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1543352 Commit-Queue: Sven Sauleau <ssauleau@igalia.com> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#60510}
-
Pierre Langlois authored
This is a reland of 93716b9e Original change's description: > [snapshot] Add support for native counters. > > Counters in generated code, as enabled with --native-code-counters, do not work > in the snapshot. This adds a `v8_enable_snapshot_code_counters` build option > enabled by defaut in debug mode that allows code from the snapshot to increment > the current isolate's set of counters. > > For this to work, we need to add native code counters in the external reference > table. > > To keep the no snapshot configuration similar, we've also enabled the > --native-code-counters flag by default for debug builds. > > Change-Id: I4478b79858c9b04f57e06e7ec67449e9e3a76f53 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1528998 > Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60495} Change-Id: Ib6427caf068ca196a032e3f3b97d9f9219e0fe60 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1543349Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#60507}
-
Clemens Hammacher authored
When switching from atomicops to std::atomic, I introduced a bug that makes us miss the actual peak memory consumption, and only report the second-highest memory usage in each zone. This CL fixes that. R=petermarshall@chromium.org Bug: chromium:939724 Change-Id: I3db8eeb9719eb026cf6b4a9690c702cbc4c11bd9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1541227Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60505}
-
Dan Elphick authored
Previously when lazy source positions were enabled, source positions were immediately collected whenever an exception was thrown for every frame in the stack trace. This change makes source position collection trigger only when the source positions of a stack frame are actually accessed with the exception of the top frame which is still eagerly collected for now. Additionally when stack overflows occur during source position collection, the bytecode is marked with exception in the source_position_table field so it can be distinguished from the case where source position collection has never been attempted (undefined) or is not desired because the bytecode is for natives (empty_byte_array). Bug: v8:8510 Change-Id: If7ee68edbacc9e2adadf00fe5ec822a8dbe1c79a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520721Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#60504}
-
Mythri A authored
test/mjsunit/elements-kind.js calls %NeverOptimizeFunction followed by %OptimizeFunctionOnNextCall later. If NeverOptimize marker is set, the funciton would not be optimized even when requested through %OptimizeFunctionOnNextCall Change-Id: I37307fee7afd083953699026a82bbf12c85581ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1533865 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#60503}
-
Michael Achenbach authored
This reverts commit 93716b9e. Reason for revert: Breaks asan debug: https://ci.chromium.org/p/v8/builders/ci/V8%20Clusterfuzz%20Mac64%20ASAN%20-%20debug%20builder/7872 https://ci.chromium.org/p/v8/builders/ci/V8%20Clusterfuzz%20Linux64%20ASAN%20-%20debug%20builder/7874 Original change's description: > [snapshot] Add support for native counters. > > Counters in generated code, as enabled with --native-code-counters, do not work > in the snapshot. This adds a `v8_enable_snapshot_code_counters` build option > enabled by defaut in debug mode that allows code from the snapshot to increment > the current isolate's set of counters. > > For this to work, we need to add native code counters in the external reference > table. > > To keep the no snapshot configuration similar, we've also enabled the > --native-code-counters flag by default for debug builds. > > Change-Id: I4478b79858c9b04f57e06e7ec67449e9e3a76f53 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1528998 > Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60495} TBR=sigurds@chromium.org,jgruber@chromium.org,petermarshall@chromium.org,pierre.langlois@arm.com Change-Id: I93f1ed714e3dcd309f3100685e4bd282db471d46 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1543209Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#60500}
-
tzik authored
A microtask requires a non-detached Context to trigger, and the Context is usually pulled from the primary handler. On an example below, |on_rejected| is primary, as the attached promise is rejected and |on_rejected| will be called as the reaction. Promise.reject().then(on_fulfilled, on_rejected); If the primary handler is undefined or invalid, we used to use the promise's context as the fallback. E.g. the primary handler is undefined on the examlpe below, and the context of |promise| was used. let promise = Promise.reject(); promise.then(on_fulfilled); However, that causes a non-intuitive behavior around a detached context: let DeadPromise = iframe.contentWindow.Promise; iframe.src = "http://example.com"; // navigate away. // DeadPromise's Context is detached state now. let p = DeadPromise.reject(); // |on_rejected| is called, as the context is pulled from |on_rejected|. p.then(on_fulfilled, on_rejected); // |on_rejected| was NOT called, as a microtask to settle |q| does not // run due to the detached context. let q = p.then(on_fulfilled); q.catch(on_rejected); After this CL, we use non-primary handler as a source of fallback context. On the last example above, the Context is pulled from |on_fullfilled|, so that |q| is settled using that context. Bug: chromium:941271 Change-Id: Iff71acf7c3617f3493d100abcd2c5c36bd1bbfd1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535916Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#60499}
-
- 27 Mar, 2019 8 commits
-
-
Pierre Langlois authored
Counters in generated code, as enabled with --native-code-counters, do not work in the snapshot. This adds a `v8_enable_snapshot_code_counters` build option enabled by defaut in debug mode that allows code from the snapshot to increment the current isolate's set of counters. For this to work, we need to add native code counters in the external reference table. To keep the no snapshot configuration similar, we've also enabled the --native-code-counters flag by default for debug builds. Change-Id: I4478b79858c9b04f57e06e7ec67449e9e3a76f53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1528998 Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60495}
-
Ben L. Titzer authored
R=mstarzinger@chromium.org BUG=chromium:944945 Change-Id: I9cd83118fd27556197bfd5c4597b4678fc97ee32 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1541479Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60494}
-
Sigurd Schneider authored
Bug: v8:9020 Change-Id: I3a939d65ec8468f034d4670d9b14a911e5ef5a61 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1541044Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60492}
-
Igor Sheludko authored
Tbr: jgruber@chromium.org Bug: chromium:944971 Change-Id: I2dcbfae638848c11eac4e262c3d636f33c3f24a4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1541477 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#60490}
-
Clemens Hammacher authored
The elements of a {WasmInstanceObject} were not visited during GC, leading to crashes when using them later. This CL fixes this by visiting the whole {JSObject} header, consisting of properties and elements. R=titzer@chromium.org Bug: chromium:839919, chromium:946350 Change-Id: I070fb3e6a7fd87a7288fc68b284100a2f9c72e9a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1541237 Auto-Submit: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#60488}
-
Junliang Yan authored
regress-crbug-178790 test can cause overflow on debug mode Drive-by: clean up simulator skiped tests Change-Id: Iec6151518fe1814e8eefcaaf09439782a2d29426 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539791 Auto-Submit: Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60485}
-
Z Duong Nguyen-Huu authored
This cover all test files under mjsunit/compiler/array-* Bug: v8:6831 Change-Id: I7a5632ccb3895a6e23ebfb92598dd1939de133b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1531030 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60484}
-
Bill Budge authored
- Fixes a bug where signaling NaNs are converted to Infinities rather than quiet NaNs. Bug: v8:6020,v8:8639 Change-Id: I2601378f06f1987983f2b93e8970f401333073be Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1536911 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#60480}
-
- 26 Mar, 2019 9 commits
-
-
Frank Tang authored
Bug: v8:7834 Change-Id: I513f13033dd9aab72a78feb45ec5181183f9cc51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538833Reviewed-by:
Mathias Bynens <mathias@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#60477}
-
Georg Neis authored
If the LHS has a proxy in its prototype chain (or is itself one), then the LHS's [prototype_or_initial_map] being the hole does not necessarily imply that the result is false. This CL also adds support for --force-slow-path, which would have been useful in finding this bug earlier. Bug: v8:9036 Change-Id: I6f5134d6ce18f9f14549ced3d33527f54ce9bcb2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539497 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#60476}
-
Michael Achenbach authored
This reverts commit 63608968. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20debug/19535 Original change's description: > [wasm] Implement table.init for interpreter > > This also fixes CheckCallViaJS when a trap occurs. In that case, the > trap callback is called instead of an exception being thrown, so if it > isn't handled, a bogus result will be returned instead. > > Bug: v8:8965 > Change-Id: I560e89f353756df23c062fb8c9484d9971c19253 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539078 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Ben Smith <binji@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60473} TBR=binji@chromium.org,mstarzinger@chromium.org Change-Id: Iee528ac2f16988b25579af3555e6f17974cb0b05 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8965 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539498Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#60474}
-
Ben Smith authored
This also fixes CheckCallViaJS when a trap occurs. In that case, the trap callback is called instead of an exception being thrown, so if it isn't handled, a bogus result will be returned instead. Bug: v8:8965 Change-Id: I560e89f353756df23c062fb8c9484d9971c19253 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539078Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#60473}
-
Deepti Gandluri authored
- Swap BitSelect operand order - Simplify, fix bugs for reductions Bug: v8:8636, v8:8665 Change-Id: I9f43ac8007f9ecb317b1ffa4f99e9c249c58a2dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1534972 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60472}
-
Sigurd Schneider authored
..ordered-hash-table.h. Bug: v8:8834 Change-Id: Ibb79006beb020d06bc516d9a2dac81015a403728 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538518Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60461}
-
Georg Neis authored
Drive-by: also add support for trivial bytecodes such as LdaFalse. Bug: v8:7790 Change-Id: I72626500096310899d37d57e3d0dd3bd54fddff4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532066 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#60460}
-
Mike Stanton authored
The bottlenecks to prevent storing signalling NaNs in backing stores were not perfect. This change makes it harder by ensuring that all the Torque-side "[]=" operator overloads for FixedDoubleArray stores have signalling NaNs silenced. Bug: chromium:944435 Change-Id: I295d9b34f4c896db30989bb9db1a2b452daa03ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538517Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#60459}
-
Frank Tang authored
Force to use locale with extension if the created NumberFormat is not a DecimalFormat. Check the dynamic class id. Guard DecimalFormat casting code Bug: v8:9035 Change-Id: Id32a3f652b93ddfca82f95f30ad2107b364ee7fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1536571Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#60452}
-
- 25 Mar, 2019 3 commits
-
-
Mythri authored
Allocate feedback vectors lazily when the function's interrupt budget has reached a specified threshold. This cl introduces a new field in the ClosureFeedbackCellArray to track the interrupt budget for allocating feedback vectors. Using the interrupt budget on the bytecode array could cause problems when there are closures across native contexts and we may delay allocating feedback vectors in one of them causing unexpected performance cliffs. In the long term we may want to remove interrupt budget from bytecode array and use context specific budget for tiering up decisions as well. Bug: v8:8394 Change-Id: Ia8fbb71f5e8543a92f14c44aa762973da82d445c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520719 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#60450}
-
Igor Sheludko authored
Bug: chromium:913943 Change-Id: I2f7774ca1ea0a7855620a99d7e26cd764260129b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538124 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#60449}
-
Benedikt Meurer authored
This adds OBJECT/SNAPSHOT trace events for Script and SharedFunctionInfo objects, logging their creation with appropriate information to make sense of them. Based on that we introduces five flow events to model the optimized compilation via tracing in the "disabled-by-default-v8.compile" category: - "v8.optimizingCompile.start" logs the creation of the PipelineCompilationJob (for TurboFan JavaScript optimization) with the "function" argument referring to the trace event object created for the SharedFunctionInfo. - "v8.optimzingCompile.prepare" logs the preparation of the PipelineCompilationJob on the main thread, also carrying the "function" argument. This connects the flow event to the actual tracing duration event associated with the preparation phases. - "v8.optimizingCompile.execute" logs the (usually concurrent) optimization of the TurboFan graph (again with "function"). - "v8.optimizingCompile.finalize" logs the main thread phase which finalizes the optimized code and eventually installs it (in case of success). - "v8.optimizingCompile.end" signals the end of the PipelineCompilationJob, which carries the "compilationInfo", that contains the interesting bits of the OptimizedCompilationInfo, specifically whether the compile was successfull and which functions were inlined for example. This also adds two instant events "V8.AbortOptimization" and "V8.RetryOptimization" in "disabled-by-default-v8.compile" category that are emitted when TurboFan cannot optimize a certain function. In case of "V8.RetryOptimization", TurboFan might be able to optimize it later, whereas "V8.AbortOptimization" permanently disables the optimization of a given function. The JSON representation of this is ```js { "pid": 256639, "tid": 256639, "ts": 6935411377801, "tts": 159116, "ph": "I", "cat": "disabled-by-default-v8.compile", "name": "V8.AbortOptimization", "dur": 0, "tdur": 0, "args": { "reason": "Function is too big to be optimized", "function": { "id_ref": "0x600000001", "scope": "v8::internal::SharedFunctionInfo" } } }, ``` where the "function" refers to a previously emitted SNAPSHOT for the function in question. In the trace viewer it will show up as instant event under "v8.optimizingCompile.prepare" in case of the relevant example where optimization is disabled due to reaching the bytecode limit (as in the JSON above), i.e. it'll look something like this https://i.paste.pics/aafc2de9df10ea8f5acc1a761d80f07b.png for the example highlighted in the recent blog post https://ponyfoo.com/articles/javascript-performance-pitfalls-v8 that describes the optimization limit. The "v8.optimizingCompile.end" duration event will also carry this information as part of the "compilationInfo" object, but specifically for CI tools, etc. it might be a whole lot easier to just look for the "V8.AbortOptimization" instant event. Bug: v8:8598, v8:9039 Tbr: ulan@chromium.org Doc: bit.ly/v8-tracing-signals Change-Id: Ic87ac336004690c65b6b15ad73bc6fbd4b5f12c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1511483 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60448}
-