- 29 Jul, 2020 2 commits
-
-
Georg Neis authored
This prints a message whenever we discard compiled metadata of an SFI. The message identifies the SFI. I've found this helpful when debugging. Change-Id: Ib34266199ade2ef88a6bafe32295ab505ce7c899 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2324260Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69132}
-
Mythri A authored
Bug: v8:10582, v8:9684 Change-Id: Ib29e9b56d4c722cb572e86def7eeb3f588dc9c2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2316079Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#69128}
-
- 28 Jul, 2020 2 commits
-
-
Mythri A authored
1. Adds a flag to specify if minimorphic accesses should be optimized using dynamic map checks operators. This flag is disabled by default. 2. Builds the PropertyAccessInfo from handlers instead of reading it from maps for minimorphic accesses 3. Uses DynamicMapChecks operator to lower the minimorphic accesses. Bug: v8:10582, v8:9684 Change-Id: I0b7b26b876f9ad12d6fc38788137b66ee6455aeb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2241524Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#69112}
-
evih authored
This generic wrapper builtin is currently used only when the wasm function has no parameters and no return value. Added a new V8 flag to use this generic wrapper. Also added a JS test function for this generic wrapper. Bug: v8:10701 Change-Id: Id8cd1771f26922927363b715d8a6ffd384a143ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307240Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Eva Herencsárová <evih@google.com> Cr-Commit-Position: refs/heads/master@{#69097}
-
- 27 Jul, 2020 1 commit
-
-
Sathya Gunasekaran authored
This flag's name is slightly incorrect as it is possible to have more maps than this in the feecback vector. This flag doesn't account for deprecated maps in the feedback vector. To make this explicit, we change the flag to indicate that this only counts valid maps. Bug: v8:10582 Change-Id: Ib0cc425a03d590bb21184fc6b104d0ebee1d5b03 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2319992Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69075}
-
- 24 Jul, 2020 1 commit
-
-
Tobias Tebbi authored
This flag is already baked into the snapshot by enabling more write-barrier elimination, so changing it at runtime would be a bug. Change-Id: I3bc73f3c880285ec46b69b0c44934f64b49912ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2290856 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69046}
-
- 22 Jul, 2020 5 commits
-
-
Ross McIlroy authored
Adds the first phase of the fast register allocator, which runs through the instruction stream and defines a VirtualRegisterData for each virtual register based on how that virtual register is produced. Also adds logic to pipeline.cc to allocate and use FastRegistorAllocatorData for use throughout the fast register allocation phases. BUG=v8:9684 Change-Id: I2f4533467346d5f3fdf50a0a1fedd7e4082f0187 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2295364 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69010}
-
Seth Brenith authored
Design doc: https://docs.google.com/document/d/1szInbXZfaErWW70d30hJsOLL0Es-l5_g8d2rXm1ZBqI/edit?usp=sharing V8 can already collect data about how many times each basic block in the builtins is run. This change enables using that data for profile-guided optimization. New comments in BUILD.gn describe how to use this feature. A few implementation details worth mentioning, which aren't covered in the design doc: - BasicBlockProfilerData currently contains an array of RPO numbers. However, this array is always just [0, 1, 2, 3, ...], so this change removes that array. A new DCHECK in BasicBlockInstrumentor::Instrument ensures that the removal is valid. - RPO numbers, while useful for printing data that matches with the stringified schedule, are not useful for matching profiling data with blocks that haven't been scheduled yet. This change adds a new array of block IDs in BasicBlockProfilerData, so that block counters can be used for PGO. - Basic block counters need to be written to a file so that they can be provided to a subsequent run of mksnapshot, but the design doc doesn't specify the transfer format or what file is used. In this change, I propose using the existing v8.log file for that purpose. Block count records look like this: block,TestLessThanHandler,37,29405 This line indicates that block ID 37 in TestLessThanHandler was run 29405 times. If multiple lines refer to the same block, the reader adds them all together. I like this format because it's easy to use: - V8 already has robust logic for creating the log file, naming it to avoid conflicts in multi-process situations, etc. - Line order doesn't matter, and interleaved writes from various logging sources are fine, given that V8 writes each line atomically. - Combining multiple sources of profiling data is as simple as concatenating their v8.log files together. - It is a good idea to avoid making any changes based on profiling data if the function being compiled doesn't match the one that was profiled, since it is common to use profiling data downloaded from a central lab which is updated only periodically. To check whether a function matches, I propose using a hash of the Graph state right before scheduling. This might be stricter than necessary, as some changes to the function might be small enough that the profile data is still relevant, but I'd rather err on the side of not making incorrect changes. This hash is also written to the v8.log file, in a line that looks like this: builtin_hash,LdaZeroHandler,3387822046 Bug: v8:10470 Change-Id: I429e5ce5efa94e01e7489deb3996012cf860cf13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2220765 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#69008}
-
Frank Tang authored
DateTimeFormat's fractionalSecondDigits shipped in M84, so we can drop the --harmony_intl_dateformat_fractional_second_digits flag now. Bug: v8:10485 Change-Id: If7a1a8599722073d7382635219a6fb46cdc47474 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2311410Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#69007}
-
Maya Lekova authored
This reverts commit d8f8a7e2. Reason for revert: Breaks code_serializer variant - https://cr-buildbucket.appspot.com/build/8874070652992164976 Original change's description: > Reland "[flags] warn about contradictory flags" > > This is a reland of b8f91666 > Difference to previous CL: Additional functionality to specify > incompatible flags based on GN variables and extra-flags, used > to fix the issues that came up on the waterfall. > > This also changes the rules regarding repeated flags: While > explicitly repeated flags are allowed for boolean values as long > as they are identical, repeated flags or explicit flags in the > presence of an active implication are disallowed for non-boolean > flags. The latter simplifies specifying conflict rules in > variants.py. Otherwise a rule like > > INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = { > "--gc-interval=*": ["--gc-interval=*"], > } > > wouldn't work because specifying the same GC interval twice > wouldn't actually count as a conflict. This was an issue with > test/mjsunit/wasm/gc-buffer.js, which specifies > --gc-interval=500 exactly like the extra flag by the stress bot. > > Also, this now expands contradictory flags checking to d8 flags > for consistency. > > Original change's description: > > [flags] warn about contradictory flags > > > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/ > > > > Bug: v8:10577 > > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792 > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Reviewed-by: Tamer Tas <tmrts@chromium.org> > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#68168} > > Bug: v8:10577 > Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68989} TBR=machenbach@chromium.org,neis@chromium.org,clemensb@chromium.org,tebbi@chromium.org,tmrts@chromium.org Change-Id: I7969065b0edbc463a94e530485bc2ab623d77b62 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10577 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312782Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#68992}
-
Tobias Tebbi authored
This is a reland of b8f91666 Difference to previous CL: Additional functionality to specify incompatible flags based on GN variables and extra-flags, used to fix the issues that came up on the waterfall. This also changes the rules regarding repeated flags: While explicitly repeated flags are allowed for boolean values as long as they are identical, repeated flags or explicit flags in the presence of an active implication are disallowed for non-boolean flags. The latter simplifies specifying conflict rules in variants.py. Otherwise a rule like INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = { "--gc-interval=*": ["--gc-interval=*"], } wouldn't work because specifying the same GC interval twice wouldn't actually count as a conflict. This was an issue with test/mjsunit/wasm/gc-buffer.js, which specifies --gc-interval=500 exactly like the extra flag by the stress bot. Also, this now expands contradictory flags checking to d8 flags for consistency. Original change's description: > [flags] warn about contradictory flags > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/ > > Bug: v8:10577 > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68168} Bug: v8:10577 Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Tamer Tas <tmrts@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68989}
-
- 21 Jul, 2020 4 commits
-
-
Michael Lippautz authored
Bug: chromium:1107901 Change-Id: Ieacea3dd60e80143a0cbeebf4ab5f91d3888e1a0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2310351 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#68974}
-
Igor Sheludko authored
... behind --trace-zone-type-stats flag. Per-object-type statistics requires the following GN args: v8_enable_precise_zone_stats = true use_rtti = true When precise zone stats is enabled, the used zone memory value is calculated more precisely, in particular it takes into account the state of the active segment. By default, the used memory in the active segment is not taken into account because of performance overhead. Bug: v8:10572 Change-Id: I938d9e264cfe6a8b63a89db87d187d8e2be63c8b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2281006 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#68972}
-
Arnaud Robin authored
On desktop systems, we use a very basic tiering strategy: Everything is initially compiled with Liftoff, and once that is done, the module can start being used. Concurrently to the execution, we re-compile all code with TurboFan, and hot-swap each function once TurboFan finishes. We should start using a more dynamic strategy where each function is tiered-up when judged necessary. This change will then tier-up each liftoff function once it has been called 5 times. I then added a counter in the native module, that is updated directly from Liftoff code, and a runtime call is then made when the counter reaches the goal. R=clemensb@chromium.org CC=thibaudm@chromium.org Bug: v8:10728 Change-Id: I8dc2b02fdff8d97781bb1cf496886594b3d7f644 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306803 Commit-Queue: Arnaud Robin <arobin@google.com> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68971}
-
Marja Hölttä authored
Original design doc: https://docs.google.com/document/d/1dthXsVHMc1Sd_oYf9a-KZSFOd_a8dUgnt4REAG8YIXA Design changes: https://docs.google.com/document/d/1aeEGDm1XSqoJkQQKz9F75WqnuAa2caktxGy_O_KpO9Y Reland: - rewrote timing dependent tests to be more robust - removed 1 flaky test - disabled tests for DelayedTasksPlatform Original: https://chromium-review.googlesource.com/c/v8/v8/+/2202981 TBR=ishell@chromium.org, ulan@chromium.org Bug: v8:10239 Change-Id: I2a042e419462f4c9f54ec549bfe16ec6684560b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307211 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#68954}
-
- 20 Jul, 2020 2 commits
-
-
Marja Hölttä authored
This reverts commit c5845b47. Reason for revert: Too many tests are flaky Original change's description: > Reland [Atomics.waitAsync] Implement Atomics.waitAsync > > Original design doc: > https://docs.google.com/document/d/1dthXsVHMc1Sd_oYf9a-KZSFOd_a8dUgnt4REAG8YIXA > > Design changes: > https://docs.google.com/document/d/1aeEGDm1XSqoJkQQKz9F75WqnuAa2caktxGy_O_KpO9Y > > Previous (reverted) version: https://chromium-review.googlesource.com/c/v8/v8/+/2202981 > > Relanding with fix: tests need --noincremental-marking > > TBR=ishell@chromium.org, ulan@chromium.org, syg@chromium.org, ahaas@chromium.org > > Bug: v8:10239 > Change-Id: Id122225d5d2ed67cbeb3269df115c7208a33a281 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306791 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68929} TBR=ulan@chromium.org,marja@chromium.org,ahaas@chromium.org,ishell@chromium.org,syg@chromium.org Change-Id: If06da737749806982d1fb95811f540d6667543d5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10239 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306799Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#68935}
-
Marja Hölttä authored
Original design doc: https://docs.google.com/document/d/1dthXsVHMc1Sd_oYf9a-KZSFOd_a8dUgnt4REAG8YIXA Design changes: https://docs.google.com/document/d/1aeEGDm1XSqoJkQQKz9F75WqnuAa2caktxGy_O_KpO9Y Previous (reverted) version: https://chromium-review.googlesource.com/c/v8/v8/+/2202981 Relanding with fix: tests need --noincremental-marking TBR=ishell@chromium.org, ulan@chromium.org, syg@chromium.org, ahaas@chromium.org Bug: v8:10239 Change-Id: Id122225d5d2ed67cbeb3269df115c7208a33a281 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306791Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#68929}
-
- 16 Jul, 2020 1 commit
-
-
Georg Neis authored
Bug: v8:7790, v8:10711, chromium:1105815, v8:10315 Change-Id: I94e7db3ce2247f6c59fa51a65f35591850bbd002 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2300543 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#68882}
-
- 14 Jul, 2020 4 commits
-
-
Ross McIlroy authored
Adds basic framework to pipeline.cc to enable a seperate fast register allocator for the TurboProp mid-tier. As part of this, common logic as well as a base class for RegisterAllocationData is moved to a seperate register-allocation.h header file. The current register allocator's RegisterAllocationData is renamed to TopTierRegisterAllocationData, and the former name is the new base class held in PipelineData. BUG=v8:9684 Change-Id: I28285b7d6112505bf90e88ea3cda66d03dfabc74 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2295359 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68852}
-
Maya Lekova authored
This reverts commit 2a1abac5. Reason for revert: Breaking Arm CFI bot - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20CFI/1354? Original change's description: > [Atomics.waitAsync] Implement Atomics.waitAsync > > Original design doc: > https://docs.google.com/document/d/1dthXsVHMc1Sd_oYf9a-KZSFOd_a8dUgnt4REAG8YIXA > > Design changes: > https://docs.google.com/document/d/1aeEGDm1XSqoJkQQKz9F75WqnuAa2caktxGy_O_KpO9Y > > > Bug: v8:10239 > Change-Id: Iab94ccab85d7b4ff23cff1955774b42edf5be541 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202981 > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68844} TBR=ulan@chromium.org,marja@chromium.org,ahaas@chromium.org,ishell@chromium.org,syg@chromium.org Change-Id: I1a1164ab29112bd0113b8b1823c78a3895cfd6cc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10239 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2297469Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#68846}
-
Marja Hölttä authored
Original design doc: https://docs.google.com/document/d/1dthXsVHMc1Sd_oYf9a-KZSFOd_a8dUgnt4REAG8YIXA Design changes: https://docs.google.com/document/d/1aeEGDm1XSqoJkQQKz9F75WqnuAa2caktxGy_O_KpO9Y Bug: v8:10239 Change-Id: Iab94ccab85d7b4ff23cff1955774b42edf5be541 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202981 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#68844}
-
Zhao Jiazhong authored
The Sw/Sd in FillStackSlotsWithZero should't use kSystemPointerSize as address offset, because the start address should be inclusive, and the end address should be exclusive. The skip-stack-guard-page test case failed due to this bug, and besides, it also needs larger stack size on mips simulator. Change-Id: Ieff55fe2c5a13e6dad1c5d073e1c0d22fe789d41 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2282663 Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#68834}
-
- 08 Jul, 2020 1 commit
-
-
Clemens Backes authored
--trace-wasm-decoder should not imply --single-threaded, as --single-threaded implies --no-liftoff. Hence we cannot trace the decoder in Liftoff mode. R=thibaudm@chromium.org Change-Id: I3e4f0ea119288ef88c4b00dd2f2a11244b77c204 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2287492Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68741}
-
- 07 Jul, 2020 1 commit
-
-
Jakob Gruber authored
Turbofan now has support for generating generic code in two variants, with and without feedback collection. Currently, feedback is collected only for some load and store operators (historical reasons). This CL enables feedback collection for (almost) all operators by default. The exception in the default TF configuration are call and construct variants (see also https://crrev.com/c/2276042). In NCI mode, all operators collect feedback. Regression have looked acceptable in our benchmarks so far. This is an experiment to see impact on real world. If successful, the non-collecting variants can be removed. Bug: v8:8888 Change-Id: I0dddc7113ce94071552d5c4d992471db5ac5f989 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2239571 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68710}
-
- 03 Jul, 2020 1 commit
-
-
Ulan Degenbaev authored
This adds --gc-experiment-reduce-concurrent-marking-tasks to be used in a Finch experiment. Bug: v8:10442 Change-Id: Ie2adf4faa20c99d1793907dfc6857497743f8d5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2280093Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#68673}
-
- 02 Jul, 2020 1 commit
-
-
Z Nguyen-Huu authored
The change instruments code generation for Gap Solver so that these counters are run-time and didn't impact register allocation. The implementation is put behind a flag to help better register allocation analysis. Bug: v8:10663 Change-Id: Ia342d990e2b2bfc6a7653a770f670e51eef71312 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2269362 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#68664}
-
- 30 Jun, 2020 1 commit
-
-
Jake Hughes authored
Whether or not a store requires a write barrier depends on several invariants within V8. Some flags can break these invariants. In particular, it's not possible to use enable_single_generation with incremental marking because marking barriers are omitted in places where it is assumed an object will be allocated in the young generation. This CL introduces a new flag, enable_unconditional_write_barriers, which allows us to specify that full write barriers should always happens. The main purpose of this is to support single generation GC with incremental marking, but it can also aid as a debugging tool to check for missed write barriers. Bug: v8:10614 Change-Id: I3ab640436bcefc118c9c5c34765421cb9ea4896f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2270546Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Jake Hughes <jakehughes@google.com> Cr-Commit-Position: refs/heads/master@{#68623}
-
- 25 Jun, 2020 2 commits
-
-
Clemens Backes authored
Add an experimental flag to allow modules up to a size slightly below 2GB, to make sure that we don't run into integer overflows. Modules this large are not tested at all currently, hence the explicit "experimental" in the flag name. Drive-by: Fix one comparison to use ">" instead of ">=". R=ahaas@chromium.org CC=bmeurer@chromium.org Bug: v8:10642 Change-Id: I91cfc290c262b9b81750e3c8af5358c1cd2572b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2266535Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68547}
-
Ulan Degenbaev authored
It will be used in a Finch experiment to evaluate if icache flushing helps with crashes on certain CPUs. Bug: chromium:889460 Change-Id: I1218ce93db001833e29fdeca8fde3e863e26dfdd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2267297Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#68545}
-
- 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}
-
- 23 Jun, 2020 2 commits
-
-
Hannes Payer authored
Bug: chromium:1054771 Change-Id: Id6fa131187caf67b2d7dddca548c2864ac5afaac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2260565Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#68488}
-
Deepti Gandluri authored
Currently, atomics operations are only allowed on shared memory and are enabled on regular memory behind the --wasm-atomics-on-non-shared-memory flag. Set the default value of this flag to true. This enables the following behaviors: - No validation failures when atomic opcodes are used on wasm memory backed by ArrayBuffers - memory.atomics.wait{32/64} operations will trap when wasm memory is not shared - memory.atomics.notify will always return 0 if wasm memory is not not shared. Bug: v8:9921 Change-Id: I1feb8c3db428187ee192ea72277957bfde9ac4b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2258099Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#68486}
-
- 22 Jun, 2020 3 commits
-
-
Dan Elphick authored
This changes black/white list to block/allow list. Bug: v8:10619 Change-Id: Id55d72f90891670ca57b62dfeb6b3251025927dc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2257228Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#68464}
-
Jakob Gruber authored
... when jitless is enabled to fix fuzzers that pass random flag combinations. Bug: chromium:1096168,v8:7777 Change-Id: Ia78c4d9e1256e44c10df2200ecc32067a617d777 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2257220 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#68458}
-
Nico Hartmann authored
Change-Id: I23a0a4811d8c42f09bbbc5460902ee7138f9b1ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2255469 Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#68452}
-
- 19 Jun, 2020 1 commit
-
-
Clemens Backes authored
We rely on Liftoff for debugging, hence enable it everywhere by default. This follows a chromium finch experiment and a CL to enable it everywhere in chrome: https://crrev.com/c/2252100 R=ecmziegler@chromium.org Bug: chromium:1040030 Change-Id: I3abbf915515883e6eb1f37501466290def57862d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2252196Reviewed-by:
Emanuel Ziegler <ecmziegler@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68431}
-
- 18 Jun, 2020 2 commits
-
-
Jakob Gruber authored
At this point in development, this is a reasonable config for the nci test variant. --turbo-nci currently disables some compiler phases and avoids embedded context-dependent constants. --turbo-collect-feedback-in-generic-lowering enables full feedback collection in generic lowering. I'm keeping the two as separate flags for now since it can be interesting to benchmark --turbo-nci both with- and without feedback collection. Bug: v8:8888 Change-Id: I678baeb0ed051b158ac0634f00de9b6a55f87e09 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2247770 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#68411}
-
Michael Achenbach authored
This subsumes the old behavior of --allow-natives-for-fuzzing under --fuzzing as well. Both flags are used in a redundant way in fuzz configs. Only --allow-natives-for-fuzzing wasn't specified as a required argument, leading to the bug below. We still need the flag --allow-natives-for-differential-fuzzing to allow different functions when using differential fuzzing. Bug: chromium:1094866 Change-Id: I398791779e58ed4d80e896c1cfea343848159212 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2246568 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#68401}
-
- 12 Jun, 2020 1 commit
-
-
Ulan Degenbaev authored
This also removes unused free list classes. Change-Id: I705ca3aca94e404cf388e6c9bac2ff9f3c38fe10 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2241525 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#68322}
-
- 10 Jun, 2020 1 commit
-
-
Jakob Gruber authored
This adds a dedicated --turbo-collect-feedback-in-generic-lowering flag instead of piggy-backing on top of --turbo-nci in order to free that up for upcoming work. The new flag is temporary and can be removed once we've collected enough data and made a decision on whether to enable it unconditionally. Bug: v8:8888 Change-Id: I5c0fd35e46b4c0237c266ba6253b9c5cb4cd7995 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2237137 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68287}
-