- 28 Feb, 2019 4 commits
-
-
Leszek Swirski authored
This is a reland of 35269f77 Switches on an expression that unconditionally throws would have all their case statements dead, causing a DCHECK error in the SwitchBuilder. This fixes up the DCHECK to allow dead labels. Original change's description: > [ignition] Skip binding dead labels > > BytecodeLabels for forward jumps may create a dead basic block if their > corresponding jump was elided (due to it dead code elimination). We can > avoid generating such dead basic blocks by skipping the label bind when > no corresponding jump has been observed. This works because all jumps > except JumpLoop are forward jumps, so we only have to special case one > Bind for loop headers to bind unconditionally. > > Since Binds are now conditional on a jump existing, we can no longer rely > on using Bind to get the current offset (e.g. at the beginning of a try > block). Instead, we now expose the current offset in the bytecode array > writer. Conveniently, this means that we can be a bit smarter about basic > blocks around these statements. > > As a drive-by, remove the unused Bind(target,label) function. > > Bug: chromium:934166 > Change-Id: I532aa452fb083560d07b90da99caca0b1d082aa3 > Reviewed-on: https://chromium-review.googlesource.com/c/1488763 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59942} TBR=rmcilroy@chromium.org Bug: chromium:934166 Change-Id: If6eab4162106717ce64a2dc477000c6a76354cb4 Reviewed-on: https://chromium-review.googlesource.com/c/1494535Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#59948}
-
Sigurd Schneider authored
This reverts commit 35269f77. Reason for revert: Fuzzer unhappy: https://ci.chromium.org/p/v8/builders/ci/V8%20Fuzzer/29792 Original change's description: > [ignition] Skip binding dead labels > > BytecodeLabels for forward jumps may create a dead basic block if their > corresponding jump was elided (due to it dead code elimination). We can > avoid generating such dead basic blocks by skipping the label bind when > no corresponding jump has been observed. This works because all jumps > except JumpLoop are forward jumps, so we only have to special case one > Bind for loop headers to bind unconditionally. > > Since Binds are now conditional on a jump existing, we can no longer rely > on using Bind to get the current offset (e.g. at the beginning of a try > block). Instead, we now expose the current offset in the bytecode array > writer. Conveniently, this means that we can be a bit smarter about basic > blocks around these statements. > > As a drive-by, remove the unused Bind(target,label) function. > > Bug: chromium:934166 > Change-Id: I532aa452fb083560d07b90da99caca0b1d082aa3 > Reviewed-on: https://chromium-review.googlesource.com/c/1488763 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59942} TBR=rmcilroy@chromium.org,leszeks@chromium.org Change-Id: I8118e54e0afa5e08b0a0a874c952f8a01f1c3242 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:934166 Reviewed-on: https://chromium-review.googlesource.com/c/1494534Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59947}
-
Clemens Hammacher authored
We sometimes store function indexes and number of functions as {size_t} and sometimes as {int}. Unify a few places to be {int}. R=ahaas@chromium.org Change-Id: I1d204cbd9388245f97f291a469b32743457ab2c0 Reviewed-on: https://chromium-review.googlesource.com/c/1491607Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59946}
-
Leszek Swirski authored
BytecodeLabels for forward jumps may create a dead basic block if their corresponding jump was elided (due to it dead code elimination). We can avoid generating such dead basic blocks by skipping the label bind when no corresponding jump has been observed. This works because all jumps except JumpLoop are forward jumps, so we only have to special case one Bind for loop headers to bind unconditionally. Since Binds are now conditional on a jump existing, we can no longer rely on using Bind to get the current offset (e.g. at the beginning of a try block). Instead, we now expose the current offset in the bytecode array writer. Conveniently, this means that we can be a bit smarter about basic blocks around these statements. As a drive-by, remove the unused Bind(target,label) function. Bug: chromium:934166 Change-Id: I532aa452fb083560d07b90da99caca0b1d082aa3 Reviewed-on: https://chromium-review.googlesource.com/c/1488763 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#59942}
-
- 27 Feb, 2019 3 commits
-
-
Georg Neis authored
This merges the check if a protector is intact with the recording of the dependency on it, at least in many cases. Also introduce convenience functions to avoid the heap broker clutter. Change-Id: I35508c4685a2f0df77819bf81075dd14a30e7e4f Reviewed-on: https://chromium-review.googlesource.com/c/1487491 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#59924}
-
Igor Sheludko authored
Includes various fixes and cleanups here and there. Bug: v8:7703, v8:8852 Change-Id: I603eb0212cab3fecabfa15dceb70ee23b81cdb5a Reviewed-on: https://chromium-review.googlesource.com/c/1491595Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59909}
-
tzik authored
This is a reland of 734a6575 Original change's description: > Do not enqueue or run a microtask on detached contexts > > This CL disables EnqueueMicrotask and RunMicrotasks on detached > contexts. That is, if an embedder call DetachGlobal() on a v8::Context, > EnqueueMicrotask on that context will not take effect, and all Microtask > that is enqueued before DetachGlobal will be cancelled. > > On Blink, this implies that a frame will no longer run a microtask after > it's navigated away. OTOH, detached frames in Blink are not affected. > > Bug: v8:8124 > Change-Id: I5b00ceef5ea2afb87cf067a65eb95c29bf91176d > Reviewed-on: https://chromium-review.googlesource.com/c/1416071 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Commit-Queue: Taiju Tsuiki <tzik@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59445} Tbr: adamk@chromium.org, yangguo@chromium.org, verwaest@chromium.org Bug: v8:8124 Change-Id: I959a18ae214f1385d5f453b3ed94772e60f71e0f Reviewed-on: https://chromium-review.googlesource.com/c/1469544 Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#59884}
-
- 26 Feb, 2019 5 commits
-
-
Michael Achenbach authored
NOTRY=true Bug: v8:8889 Change-Id: I1faf4bcb8f573485915a8b79d551fbb4985a02a0 Reviewed-on: https://chromium-review.googlesource.com/c/1489075Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#59872}
-
tzik authored
V8 used to use the microtask context when it runs EnqueueJob step 2. > Let job settings be some appropriate environment settings object. https://html.spec.whatwg.org/multipage/webappapis.html#enqueuejob(queuename,-job,-arguments) However, it's being updated to use the handler's context. https://github.com/whatwg/html/issues/1426#issuecomment-340071080 Change-Id: I24840a28ef2c903539fe4ace74ae59da290f5109 Reviewed-on: https://chromium-review.googlesource.com/c/1465902Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#59870}
-
Sigurd Schneider authored
This reverts commit 32fc0acf. Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064/30270 layout test breakage: https://test-results.appspot.com/data/layout_results/V8-Blink_Linux_64/30270/webkit_layout_tests%20%28with%20patch%29/layout-test-results/results.html There is a dead node arriving in representation selection, which might indicate that the problem is not in this CL, but that this CL stirs up the node soup in such a way that dead code elimination gets confused. Original change's description: > Optimize `in` operator > > This change implements optimizations for the `in` operator for packed array > elements and object properties. It adds a new feedback slot kind and an IC > path similar to KeyedLoadIC for handling the lookups. TurboFan uses the > feedback to optimize based on the maps and keys. > > For more details see: > https://docs.google.com/document/d/1tIfzywY8AeNVcy_sen-5Xev21MeZwjcU8QhSdzHvXig > > This can provide 10x performance improvements of on loops of the form: > > for (let i = 0; i < ary.length; ++i) { > if (i in ary) { > ... > } > } > > > Bug: v8:8733 > Change-Id: I766bf865a547a059e5bce5399bb6112e5d9a85c8 > Reviewed-on: https://chromium-review.googlesource.com/c/1432598 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Matt Gardner <magardn@microsoft.com> > Cr-Commit-Position: refs/heads/master@{#59843} TBR=ulan@chromium.org,rmcilroy@chromium.org,jkummerow@chromium.org,jarin@chromium.org,ishell@chromium.org,bmeurer@chromium.org,verwaest@chromium.org,magardn@microsoft.com Change-Id: Ib2db974e5bed4c4a2b6b450f796bdc4b0b8fd562 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8733 Reviewed-on: https://chromium-review.googlesource.com/c/1488761Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59857}
-
Michael Starzinger authored
R=ahaas@chromium.org TEST=mjsunit/regress/wasm/regress-935138 BUG=chromium:935138 Change-Id: I73465e0edcdfcd33b96764ffaf5f33519e424bb8 Reviewed-on: https://chromium-review.googlesource.com/c/1486471 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#59852}
-
Matt Gardner authored
MSVC 14.x and 15.x handle -0 correctly unless /fp:fast is used. /fp:precise is the default. bug: v8:3477, v8:8912 Change-Id: I242a1dfd845f750cab7c56f13107612259d44d23 Reviewed-on: https://chromium-review.googlesource.com/c/1487414Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#59849}
-
- 25 Feb, 2019 2 commits
-
-
Matt Gardner authored
This change implements optimizations for the `in` operator for packed array elements and object properties. It adds a new feedback slot kind and an IC path similar to KeyedLoadIC for handling the lookups. TurboFan uses the feedback to optimize based on the maps and keys. For more details see: https://docs.google.com/document/d/1tIfzywY8AeNVcy_sen-5Xev21MeZwjcU8QhSdzHvXig This can provide 10x performance improvements of on loops of the form: for (let i = 0; i < ary.length; ++i) { if (i in ary) { ... } } Bug: v8:8733 Change-Id: I766bf865a547a059e5bce5399bb6112e5d9a85c8 Reviewed-on: https://chromium-review.googlesource.com/c/1432598Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Matt Gardner <magardn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#59843}
-
Pierre Langlois authored
When calling the `bitmap(chunk)` method of the various *MarkingState accessors we would receive a raw `Bitmap` pointer which does not tell you if accesses to markbits should be made atomically or not. As a result, we would default to doing atomic operation when in fact it may not be necessary. Here we're introducing a templated `ConcurrentBitmap` class that wraps operations done on the markbits and allows them to be made non-atomic. Additionaly, some of the `Bitmap` methods were only used to verify the heap and in the tests so they do not need atomic implementations. Using them in a concurrent context should now fail to link to make sure they're not mis-used in the future. Change-Id: Ifb55f8522c8bf0c87d65da9227864ee428d21bbd Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Reviewed-on: https://chromium-review.googlesource.com/c/1482916Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#59836}
-
- 21 Feb, 2019 1 commit
-
-
Ulan Degenbaev authored
This merges the "do-nothing" case with the "done" case as the former is no longer useful. This also fixes a bug where the idle time handler would not make progress by always returning "do-nothing". Change-Id: Ibdd3189e4fd35acc5405aa82a13ea8ee2fd74cc6 Reviewed-on: https://chromium-review.googlesource.com/c/1478695 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59758}
-
- 20 Feb, 2019 1 commit
-
-
Sergiy Belozorov authored
This reverts commit f8962ae1. Reason for revert: breaks Arm bots, e.g. https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Arm/9655, task: https://chromium-swarm.appspot.com/task?d=true&id=431dfa503db16d10 Original change's description: > Preparing v8 to use with python3 /test > > There are now less that 400 days until the end of life > of Python 2(aka _legacy_ Python) https://pythonclock.org/ . > The code compatibility check for python2 and python3 > used the following tools: futurize, flake8 > You can see the reports here: https://travis-ci.com/bmsdave/v8/builds > > This CL was uploaded by git cl split. > > Bug: v8:8594 > Change-Id: Idbf467daf629a4e808345a6a88036c2a3f259138 > Reviewed-on: https://chromium-review.googlesource.com/c/1470121 > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59679} TBR=machenbach@chromium.org,sergiyb@chromium.org,herhut@chromium.org,bmsdave@gmail.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:8594 Change-Id: I17a0a7b203fa2c0ab0f965240ee1415b7513e1cf Reviewed-on: https://chromium-review.googlesource.com/c/1478692Reviewed-by:
Sergiy Belozorov <sergiyb@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#59725}
-
- 19 Feb, 2019 3 commits
-
-
Michael Starzinger authored
This removes an outdated section order check from {CreateNewBuffer} and relies solely on the checks done in {ProcessSection}. Those checks are more comprehensive and will remain coherent with synchronous decoding. R=ahaas@chromium.org TEST=mjsunit/regress/wasm/regress-8846 BUG=v8:8846 Change-Id: Id0cdc3bf3ad78f7970c9fceff66a17ab20f4666b Reviewed-on: https://chromium-review.googlesource.com/c/1477211Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59702}
-
Michael Lippautz authored
The histogram is not used anymore. Remove to safe resources. Bug: chromium:926072 Change-Id: I929f34f7ab0613431eaf9740f3342b6b2cec6cbd Reviewed-on: https://chromium-review.googlesource.com/c/1477672Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59684}
-
Vadim Gorbachev (bmsdave) authored
There are now less that 400 days until the end of life of Python 2(aka _legacy_ Python) https://pythonclock.org/ . The code compatibility check for python2 and python3 used the following tools: futurize, flake8 You can see the reports here: https://travis-ci.com/bmsdave/v8/builds This CL was uploaded by git cl split. Bug: v8:8594 Change-Id: Idbf467daf629a4e808345a6a88036c2a3f259138 Reviewed-on: https://chromium-review.googlesource.com/c/1470121 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#59679}
-
- 18 Feb, 2019 1 commit
-
-
Victor Costan authored
Googletest is (at last) converging with industry-standard terminology [1]. We previously called test suites "test cases", which was rather confusing for folks coming from any other testing framework. Chrome now has a googletest version that supports _TEST_SUITE_ macros instead of _TEST_CASE_, so this CL cleans up some of the outdated usage. [1] https://github.com/google/googletest/blob/master/googletest/docs/primer.md#beware-of-the-nomenclature Bug: chromium:925652 Change-Id: I3cd02b9fa6dbece1594bbfd50a21ad7503c2aab9 Reviewed-on: https://chromium-review.googlesource.com/c/1475654Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Victor Costan <pwnall@chromium.org> Cr-Commit-Position: refs/heads/master@{#59666}
-
- 15 Feb, 2019 1 commit
-
-
Jakob Kummerow authored
This takes heap-inl.h out of the "Giant Include Cluster". Naturally, that means adding a bunch of explicit includes in a bunch of places that relied on transitively including them before. As of this patch, no header file outside src/heap/ includes heap-inl.h. Bug: v8:8562,v8:8499 Change-Id: I65fa763f90e66afc30d105b9277792721f05a6d4 Reviewed-on: https://chromium-review.googlesource.com/c/1459659 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59617}
-
- 14 Feb, 2019 4 commits
-
-
Clemens Hammacher authored
This removes another two macros and introduces a templatized function instead. Note that there is only one instantiation per input length, not per input. R=titzer@chromium.org Bug: v8:8562 Change-Id: I47ad274e68d26b962cbd582e90995d30b1d09d39 Reviewed-on: https://chromium-review.googlesource.com/c/1460938 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59605}
-
Clemens Hammacher authored
In the wasm streaming decoder error position test, do also check the error messages generated. This revealed messages that were not quite fitting and some that were formatted differently than the majority. R=ahaas@chromium.org Bug: v8:8814 Change-Id: If157f1083a104413bf14797ac56e756baac98c17 Reviewed-on: https://chromium-review.googlesource.com/c/1463780 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#59604}
-
Igor Sheludko authored
Bug: v8:8477, v8:8834 Change-Id: I9213cca077a2758b87a6cb95bcb01d0186c32098 Reviewed-on: https://chromium-review.googlesource.com/c/1472633Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59602}
-
Francis McCabe authored
Focuses on decoder implementation and unittests of decoding return call instructions Bug: v8:7431 Change-Id: Ib1351bb26f8bac0a766d633486492fcd8ead627b Reviewed-on: https://chromium-review.googlesource.com/c/1455476 Commit-Queue: Francis McCabe <fgm@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#59582}
-
- 13 Feb, 2019 4 commits
-
-
Jakob Gruber authored
This is a reland of c79a63e6 Original change's description: > [nojit] Don't expose wasm in jitless mode > > Wasm currently still creates executable memory even in > interpreter-only mode, and is thus unsupported in jitless mode. This > hides wasm completely, which will help e.g. fuzzers that attempt to > run wasm code (and currently crash on the CHECK in AddOwnedCode). > > Bug: v8:7777,chromium:931068 > Change-Id: Iee692cb947d482ba16fb0f4da32490d42d5daef8 > Reviewed-on: https://chromium-review.googlesource.com/c/1470124 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59561} Tbr: mstarzinger@chromium.org Bug: v8:7777, chromium:931068 Change-Id: I535c3f598c90cd5c4072a73544cc33c5bf5460c1 Reviewed-on: https://chromium-review.googlesource.com/c/1470132Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59571}
-
Clemens Hammacher authored
This cleans up a few things after https://crrev.com/c/1458956. R=titzer@chromium.org Bug: v8:8562 Change-Id: I7904c195ee385f0aa8815447f440d8119601af3e Reviewed-on: https://chromium-review.googlesource.com/c/1460467 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59567}
-
Nico Weber authored
For macros expanding to function definitions, I removed the spurious ; after macro invocations. For macros expandign to function declarations, I made the ; required and consistently inserted it. No behavior change. Bug: chromium:926235 Change-Id: Ib8085d85d913d74307e3481f7fee4b7dc78c7549 Reviewed-on: https://chromium-review.googlesource.com/c/1467545Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59558}
-
Clemens Hammacher authored
This removes most macros from the function body decoder unittest. It makes the {Validate} method (and the new {ExpectValidates} and {ExpectFailure}) templates, to receive the code in different formats. Drive-by: Rename "verify" to "validate". R=titzer@chromium.org Bug: v8:8562 Change-Id: I89e6125b52cf40a9539317bf16189208cd0592ab Reviewed-on: https://chromium-review.googlesource.com/c/1458956Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59557}
-
- 12 Feb, 2019 1 commit
-
-
Sigurd Schneider authored
Change-Id: I2bd8027801e978a4469aa18daedf2d7b3a6a0322 Reviewed-on: https://chromium-review.googlesource.com/c/1463524Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59520}
-
- 08 Feb, 2019 5 commits
-
-
Igor Sheludko authored
... and also loads of off-heap tagged values. Bug: v8:7703 Change-Id: I0dd15ecda76cc35fe5f2f51a7103937a7ac238dc Reviewed-on: https://chromium-review.googlesource.com/c/1459639 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#59468}
-
Jaroslav Sevcik authored
Instead of eliminating bounds checks based on types, we introduce an aborting bounds check that crashes rather than deopts. Bug: v8:8806 Change-Id: Icbd9c4554b6ad20fe4135b8622590093679dac3f Reviewed-on: https://chromium-review.googlesource.com/c/1460461 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59467}
-
Gus Caplan authored
This is a reland of d7def900 Original change's description: > Reland "[builtins] [turbofan] Refactor Float64Pow to use single implementation" > > This is a reland of I968a08cef6a6d49350aa79185b2c6fb856d15f23 > > Original change's description: > > [builtins] [turbofan] Refactor Float64Pow to use single implementation > > > > Remove platform-specific Float64Pow implementations and utils Pow in > > favor of a base::ieee754::pow implementation. > > > > This unifies the implementation of pow for the compiler, wasm, and > > runtime. > > > > Bug: v8:5848, v8:5086 > > Change-Id: I968a08cef6a6d49350aa79185b2c6fb856d15f23 > > Reviewed-on: https://chromium-review.googlesource.com/c/1403018 > > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#59229} > > Bug: v8:5848, v8:5086 > Change-Id: I92f22ae03adafd9ad042e8d4bb406cbd5b5fb51e > Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng > Reviewed-on: https://chromium-review.googlesource.com/c/1447854 > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59411} Tbr: neis@chromium.org, bmeurer@chromium.org, jkummerow@chromium.org Bug: v8:5848, v8:5086 Change-Id: I42972b29b8830ed47a00b2b1d408d3005a810c0e Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/1456302Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59454}
-
Yang Guo authored
This reverts commit 734a6575. Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064/29872 Original change's description: > Do not enqueue or run a microtask on detached contexts > > This CL disables EnqueueMicrotask and RunMicrotasks on detached > contexts. That is, if an embedder call DetachGlobal() on a v8::Context, > EnqueueMicrotask on that context will not take effect, and all Microtask > that is enqueued before DetachGlobal will be cancelled. > > On Blink, this implies that a frame will no longer run a microtask after > it's navigated away. OTOH, detached frames in Blink are not affected. > > Bug: v8:8124 > Change-Id: I5b00ceef5ea2afb87cf067a65eb95c29bf91176d > Reviewed-on: https://chromium-review.googlesource.com/c/1416071 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Commit-Queue: Taiju Tsuiki <tzik@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59445} TBR=yukishiino@chromium.org,adamk@chromium.org,yangguo@chromium.org,bmeurer@chromium.org,verwaest@chromium.org,tzik@chromium.org Change-Id: I9f5b703e7101aa3c251fe03ed4b52e9d71ae605a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8124 Reviewed-on: https://chromium-review.googlesource.com/c/1460466Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#59448}
-
tzik authored
This CL disables EnqueueMicrotask and RunMicrotasks on detached contexts. That is, if an embedder call DetachGlobal() on a v8::Context, EnqueueMicrotask on that context will not take effect, and all Microtask that is enqueued before DetachGlobal will be cancelled. On Blink, this implies that a frame will no longer run a microtask after it's navigated away. OTOH, detached frames in Blink are not affected. Bug: v8:8124 Change-Id: I5b00ceef5ea2afb87cf067a65eb95c29bf91176d Reviewed-on: https://chromium-review.googlesource.com/c/1416071Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#59445}
-
- 07 Feb, 2019 1 commit
-
-
Andreas Haas authored
R=titzer@chromium.org Bug: v8:7581 Change-Id: I857a40a0f955b3506d7958d2128a1b4560cff0bc Reviewed-on: https://chromium-review.googlesource.com/c/1458236 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#59439}
-
- 06 Feb, 2019 4 commits
-
-
Sigurd Schneider authored
This reverts commit d7def900. Reason for revert: Breaks UBSan: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20UBSan/4542 Besides undefined behavior, things were looking good! Original change's description: > Reland "[builtins] [turbofan] Refactor Float64Pow to use single implementation" > > This is a reland of I968a08cef6a6d49350aa79185b2c6fb856d15f23 > > Original change's description: > > [builtins] [turbofan] Refactor Float64Pow to use single implementation > > > > Remove platform-specific Float64Pow implementations and utils Pow in > > favor of a base::ieee754::pow implementation. > > > > This unifies the implementation of pow for the compiler, wasm, and > > runtime. > > > > Bug: v8:5848, v8:5086 > > Change-Id: I968a08cef6a6d49350aa79185b2c6fb856d15f23 > > Reviewed-on: https://chromium-review.googlesource.com/c/1403018 > > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#59229} > > Bug: v8:5848, v8:5086 > Change-Id: I92f22ae03adafd9ad042e8d4bb406cbd5b5fb51e > Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng > Reviewed-on: https://chromium-review.googlesource.com/c/1447854 > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59411} TBR=jkummerow@chromium.org,jarin@chromium.org,neis@chromium.org,jgruber@chromium.org,clemensh@chromium.org,bmeurer@chromium.org,me@gus.host Change-Id: I65c4bbd3ab7aaa1c396d182467c5a1fe6a639df5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5848, v8:5086 Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/1456107Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59419}
-
Gus Caplan authored
This is a reland of I968a08cef6a6d49350aa79185b2c6fb856d15f23 Original change's description: > [builtins] [turbofan] Refactor Float64Pow to use single implementation > > Remove platform-specific Float64Pow implementations and utils Pow in > favor of a base::ieee754::pow implementation. > > This unifies the implementation of pow for the compiler, wasm, and > runtime. > > Bug: v8:5848, v8:5086 > Change-Id: I968a08cef6a6d49350aa79185b2c6fb856d15f23 > Reviewed-on: https://chromium-review.googlesource.com/c/1403018 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59229} Bug: v8:5848, v8:5086 Change-Id: I92f22ae03adafd9ad042e8d4bb406cbd5b5fb51e Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/1447854 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59411}
-
Tamer Tas authored
V8 test suites return tests by loading them into memory up-front. Up-front loading has memory and loading-time overhead for the testrunner. This CL converts the test-suites to load tests during the test run in parallel. After CL, most test suites start running immediately and all test suites start running after 3 seconds on a modern SSD. This CL eliminates the 200 MiB memory spikes that causes memory problems in mac minis. Overhead of running test262 before CL: Line # Mem usage Increment Line Contents ================================================= 264 225.760 MiB 195.8.000 MiB tests = self._load_testsuite_generators(args, options) ------------------------------------------------- Overhead of running test262 after CL: Line # Mem usage Increment Line Contents ================================================ 264 28.840 MiB 0.000 MiB tests = self._load_testsuite_generators(args, options) ------------------------------------------------- R=machenbach@chromium.org CC=yangguo@chromium.org,sergiyb@chromium.org Bug: v8:8174, v8:8552, v8:8728 Change-Id: Iab540b9410239b05dc80b4a5228db25d8b8fb3b9 Reviewed-on: https://chromium-review.googlesource.com/c/1454478 Commit-Queue: Tamer Tas <tmrts@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#59408}
-
Toon Verwaest authored
Change-Id: I2c8bd545dc606d76603bdf73f1ea54d4c04842c1 Reviewed-on: https://chromium-review.googlesource.com/c/1456101Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#59399}
-