- 22 Jul, 2020 30 commits
-
-
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}
-
Zeynep Cankara authored
This CL redesigns the IC Panel to emit events upon time range selection. IC entry time range specified from the input fields and entries falling into the selected time range bubbled up to the App controller. The IC panel emits events upon selection of a map or a source file location. Bug: v8:10644 Change-Id: I468dc52b7a6c62dbdee096e80cc6110ceb994f69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2305893 Commit-Queue: Zeynep Cankara <zcankara@google.com> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69006}
-
Maya Lekova authored
This CL fixes passing the receiver of a fast call as an effect input only in cases where the opcode supports it. It also introduces a test for callbacks without fallback support and a test where ConvertReceiver is not introduced. Bug: chromium:1052746 Change-Id: I6f396f4c9cbaab7ae915c908a9f805d9770f8946 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312777 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69005}
-
Zeynep Cankara authored
This CL encapsulates map panel behaviour with custom web components map-details for displaying information and map-transitions to show map transition tree. The web components emit/receive events to interact with the app. Bug: v8:10644 Change-Id: Ic61c2794ed7ab854ee61fa1e7c8fe9b1c3c31b7e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2305889 Commit-Queue: Zeynep Cankara <zcankara@google.com> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69004}
-
Maya Lekova authored
This reverts commit 06bdd8d6. Reason for revert: Speculative revert for arm64 sim CFI - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20CFI/1474? Original change's description: > [liftoff][tail-call] Add indirect tail calls > > R=clemensb@chromium.org > > Bug: v8:10693 > Change-Id: Ic71d873bf7099ba671b9db1e87392d54aeebd7cf > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312096 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68996} TBR=clemensb@chromium.org,thibaudm@chromium.org Change-Id: Ibdc64e20247758fb6bc96b4e5d13406adab968a7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10693 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312786Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#69003}
-
Jakob Kummerow authored
Bug: v8:7748 Change-Id: I6e226888d84a790efc36ac6e7c2a32bc3426bd84 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2308341 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69002}
-
Richard Stotz authored
Bug: v8:10720 Change-Id: I7a05bfb3c87c4f0f5516608da5d42fdaff466536 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2304572 Commit-Queue: Richard Stotz <rstz@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69001}
-
Nico Weber authored
Bug: chromium:1107945 Change-Id: I0f721ccaf06c7ddaf0213448c29f48f5c57ccc6e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2310575 Auto-Submit: Nico Weber <thakis@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69000}
-
Georg Neis authored
It makes no sense to allow calling into V8 but at the same time insist that there must be no exception, as potentially any such call can result in a stack overflow. This CL only removes a comment from v8.h, the code changes were part of https://chromium-review.googlesource.com/c/v8/v8/+/2299375. Bug: v8:7044 Change-Id: I57769fa0f109219d07a7bdb979b46ca98cd0cec7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306792 Auto-Submit: Georg Neis <neis@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#68999}
-
Milad Farazmand authored
Port b64cede5 R=thibaudm@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I5aad17e2818d9d3ac6ab76b90c5242dd6593557c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312497Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#68998}
-
Sathya Gunasekaran authored
This is used by the DynamicCheckMaps operator to indicate that the optimized code should not be thrown away, but instead should be re-run again, after healing the feedback. Bug: v8:10582, v8:9684 Change-Id: Ib2408ba0d1d1a6bf50b2031a5312c7a8cca08730 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2308334 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68997}
-
Thibaud Michaud authored
R=clemensb@chromium.org Bug: v8:10693 Change-Id: Ic71d873bf7099ba671b9db1e87392d54aeebd7cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312096Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#68996}
-
Georg Neis authored
Make ArrayBuiltinsAssembler::GenerateConstructor use the JSArray::kInitialMaxFastElementArray constant instead of trying to manually compute it and end up with a different result depending on the build. This brings the code in sync with CodeStubAssembler::CreateArray and with Turbofan's JSCallReducer. Change-Id: I7fcc955166484a91f8982b359b94d9a586fdb50a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312780 Commit-Queue: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#68995}
-
Richard Stotz authored
The design of this change was discussed here: https://docs.google.com/document/d/12otOj6SyXMXj0Dnnx9B6MGLMRwHPhg6RIZRazVw3tFA/ Bug: v8:10720 Change-Id: I8292dcf7272bdf4526a2d630b49fc374cdb01bdc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2304570 Commit-Queue: Richard Stotz <rstz@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#68994}
-
Milad Farazmand authored
Change-Id: I7989934f7f8a1332045a6ed708b02fbc3424c829 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2310911Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#68993}
-
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}
-
Maya Lekova authored
The object is passed now as an v8::ApiObject instead of unwrapped C++ pointer and the embedder should do the unwrapping. Bug: chromium:1052746 Change-Id: If5671c5fdbbe8d58435c7bd9aceccf5e17f8ea21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2304571Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#68991}
-
Thibaud Michaud authored
R=clemensb@chromium.org Bug: v8:10693 Change-Id: I2ffc99bfb9e96afd740fc1a095ccca61b7c5ce19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2289970 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68990}
-
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}
-
Maya Lekova authored
This reverts commit 6af09b1b. Reason for revert: Breaks Win debug builder - https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20debug/26384? Original change's description: > [offthread] Add a write lock to the string table > > Adds an initial implementation of a concurrency support for the string > table, allowing it to be read without holding a lock, and written to > while holding a lock. > > This is an initial prototype of _roughly_ how the concurrency would > work; there are still a few holes (e.g. around deserialization). This > is predominantly to assess the main-thread runtime impact of the more > complex string table access. > > Bug: v8:10729 > Change-Id: I5c6c35e6fca309efd6ee79804c16972aae1ab3ab > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306804 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68985} TBR=ulan@chromium.org,leszeks@chromium.org,ishell@chromium.org,verwaest@chromium.org Change-Id: I001dc81f1d4031bf0451766452a43176df997354 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10729 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312776Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#68988}
-
Victor Gomes authored
Change-Id: Ic973a3f7eb5a73635f32386fffc9f23c1e147256 Bug: chromium:1107879 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2310364 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#68987}
-
Jakob Gruber authored
Bug: v8:8888 Change-Id: I953284f9d9c68b5691f7ae7a9665d867bcdff8d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312098 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#68986}
-
Leszek Swirski authored
Adds an initial implementation of a concurrency support for the string table, allowing it to be read without holding a lock, and written to while holding a lock. This is an initial prototype of _roughly_ how the concurrency would work; there are still a few holes (e.g. around deserialization). This is predominantly to assess the main-thread runtime impact of the more complex string table access. Bug: v8:10729 Change-Id: I5c6c35e6fca309efd6ee79804c16972aae1ab3ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306804Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#68985}
-
Toan Pham authored
Some platforms disable reading of bytes in the .text section, so move the metadata into a separate .rodata section. Bug: v8:10707 Change-Id: I30ef7a180f489f175c31f9d4dcd02115c9f516c2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2301113 Commit-Queue: Toan Pham <toanpham@google.com> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#68984}
-
Jakob Gruber authored
This CL introduces a new pipeline mode in which each optimization triggers both a Turbofan and an NCI compilation job. The TF code is installed, the NCI code is inserted into the code cache for future consumption by other contexts. --turbo-nci enables this mode. The old configuration (with NCI replacing TF) is still available under the --turbo-nci-as-highest-tier flag. This flag remains useful for testing purposes. Drive-by: Refactor tracing in compiler.cc. Bug: v8:8888 Change-Id: I62522e61788762250ff717eef84eae914e266f3b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2299360 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#68983}
-
Santiago Aboy Solanes authored
We want to use LoadObjectField's version that it is templated (as the non-templated one uses Node*). If we remove slopiness, we are forcing to TNodify when porting the non-templated calls to the templated ones. Bug: v8:9708, v8:6949 Change-Id: Ic564e3f03f1900718a0ec5503da911650bbac1fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2310353Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#68982}
-
Nico Hartmann authored
Add synchronized accessors for ScriptContextTable on NativeContext. Add corresponding cctest. Bug: v8:7790 Change-Id: If390f3d4a72441a8b4323e9413d7627cd15514c0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2299372 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#68981}
-
Santiago Aboy Solanes authored
If we insert a second SIMPLE_PROPERTY_ARRAY we move from kWeakRef encoding to kFullTransitionArray encoding. As always, we are searching in the meantime in a background thread. Bug: v8:7790 Change-Id: I5e3d85657dda4c199e50b9c35e7f617f1821a8f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2243218Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#68980}
-
Nico Hartmann authored
This CL makes the ScriptContextTable concurrently accessible from the background thread (in particular ScriptContextTable::get_context). A cctest is added to check synchronization with tsan. Bug: v8:7790 Change-Id: I2e2dc8c6a7cfa369787959c4d5ed5f357f4720fa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2260567Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#68979}
-
- 21 Jul, 2020 10 commits
-
-
Ng Zhi An authored
The load splat, load extend, load zero macros are essentially the same, consolidate them into a single macro. Change-Id: Ic812043b37524deb3a9e6ddc223bb95ae77e1d4d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2304715 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#68978}
-
Milad Farazmand authored
Change-Id: I818534bc2fedd127689bf82f2cdd3a4f2f8c31e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2310574Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#68977}
-
Frank Tang authored
Per change in https://github.com/tc39/ecma402/pull/459/ Bug: v8:10732 Change-Id: I2ef21e8b450cbf9c61f987c61f3ba7d6959db81a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2309149Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#68976}
-
Ng Zhi An authored
v128.const (kExprS128) is the only constant expression supported (similar to the other value types). Bug: v8:10731 Change-Id: I9b11b47a851903dfd79d3590eff67b615057f81c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2308389 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68975}
-
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}
-
Ng Zhi An authored
Prototype in TurboFan x64 and interpreter, bailout in Liftoff. Suggested in https://github.com/WebAssembly/simd/pull/237. Bug: v8:10713 Change-Id: I5346c351fb2ec5240b74013e62aef07c46d5d9b6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2300924Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#68973}
-
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}
-
Michael Lippautz authored
V8 already depends on cppgc_base which means that unittests does not need to depend on cppgc_for_testing any longer. Move the cppgc_for_testing dependency to the stand-alone cppgc_unittests binary Bug: v8:10674 Change-Id: I07bfe30901eb1683d2e0ee0189f73b5244884f27 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2310249 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#68970}
-
Georg Neis authored
This reverts commit f44900d2. Reason for revert: caused performance regressions on Nexus 7!? https://bugs.chromium.org/p/chromium/issues/detail?id=1105420 Original change's description: > [turbofan] Prettify a condition > > Change-Id: I3800486f18a3693c9e2d3ace0a6f8ee626efc84e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2289780 > Commit-Queue: Georg Neis <neis@chromium.org> > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > Auto-Submit: Georg Neis <neis@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68756} TBR=neis@chromium.org,nicohartmann@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:1105420 Change-Id: Icc97c7c2fff79bb4860a9c36f6d2d3f531e524b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2310250 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68969}
-