- 19 Feb, 2020 2 commits
-
-
Seth Brenith authored
This reverts commit e5e4ea96. Reason for revert: mysterious performance regression chromium:1052756 Original change's description: > [torque] Support bitfield structs stored within Smis > > This change moves the definition of the bits stored in DebugInfo::flags > to Torque, and updates the only Torque usage of that field to use more > natural syntax. This is intended as an example of common patterns found > in various other classes. Several supporting changes are required: > > 1. Add a new type representing a bitfield struct stored within a Smi. It > is currently called SmiTagged, but I'm open to suggestions. > 2. Add an enum-style output for Torque bitfield structs whose bitfields > occupy only one bit each. > 3. Add a new case to MachineOperatorReducer that makes the generated > code for IncBlockCounter match with what was generated before this > change. > 4. Add support for reporting these bitfields in the postmortem debugging > API. The format matches existing bitfields but with an offset value > that includes the SMI shift size. > > Bug: v8:7793 > Change-Id: Icaecbe4a162da55d2d9a3a35a8ea85b285b2f1b7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2028832 > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66182} Bug: chromium:1052756, v8:7793 Change-Id: I9e2897efbb6321124bf4952cf09de2f179f7310d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062569 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66349}
-
Andreas Haas authored
The WebAssembly spec defines that the name of a custom section can cause a validation error. The streaming decoder, however, used a separate Decoder object to decode the name, and thereby avoided a validation error. With this CL the streaming decoder uses the main decoder to decode the name of the custom section. In addition this CL removes the test mjsunit/regress/wasm/regress-789952. This test defined an invalid WebAssembly module and expected it to compile. As it is a regression test, it makes no sense to fix the test. The module is invalid because it defines the length of the custom section to be '0', so there are no bytes in the custom section for its name. R=clemensb@chromium.org CC=thibaudm@chromium.org Bug: v8:10126 Change-Id: I8cfc77c9a5916570d5362d5922e0179a29774da8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2041446 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66348}
-
- 17 Feb, 2020 1 commit
-
-
Emanuel Ziegler authored
Implement the latest spec changes: - Allow declarative segments to behave like passive & dropped segments. - Enforce that only declared functions may be returned or used in globals as funcref. - Ensure that table fill does not modify any entries if OOB. Spec tests for select and br_table are still failing due to proposal issue Bug: v8:10156 R=ahaas@chromium.org Change-Id: I5b95be36a67bc7482a84b848908cc4cbdf94af03 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2027458Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#66297}
-
- 14 Feb, 2020 1 commit
-
-
Dan Elphick authored
Since the size of the parameters and locals inputs is already stored on the FrameStateFunctionInfo, this skips the calls to size() and just reuses the previous values. The stack parameter can only have a size of 0 or 1 depending on whether it's a InterpretedFunction frame or not. It also extends the verifier to check that the values to match those returned by StateValueAccess::size and changes a unit test that added a TypedStateValues of size 2 to the stack input. Bug: v8:10051 Change-Id: I3693c04b4677812b9f19491c198d0551df20f817 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2047045Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#66268}
-
- 13 Feb, 2020 1 commit
-
-
Leszek Swirski authored
This is a reland of 453e1a3b Added canonical "empty" arrays to ScannerStream::ForTesting, for the zero-length nullptr data case. Original change's description: > [offthread] Add SFI support to OffThreadFactory > > Add support for off-thread SharedFunctionInfo allocation, which > includes UncompiledData and PreparseData allocation. > > Bug: chromium:1011762 > Change-Id: Ia10f9ce762c7d7eb1108b9e71da75131dce919b7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2050393 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66246} TBR=ulan@chromium.org Bug: chromium:1011762 Change-Id: I37d2c6b9317548922913887940a0164cc2067efb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2054085Reviewed-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@{#66253}
-
- 12 Feb, 2020 3 commits
-
-
Maya Lekova authored
This reverts commit 453e1a3b. Reason for revert: Makes UBSan unhappy - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/9893 Original change's description: > [offthread] Add SFI support to OffThreadFactory > > Add support for off-thread SharedFunctionInfo allocation, which > includes UncompiledData and PreparseData allocation. > > Bug: chromium:1011762 > Change-Id: Ia10f9ce762c7d7eb1108b9e71da75131dce919b7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2050393 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66246} TBR=ulan@chromium.org,leszeks@chromium.org,ishell@chromium.org Change-Id: I26bc40ec1c351613f19745aed83f0c3a9fdd9a20 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1011762 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2052172Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#66247}
-
Leszek Swirski authored
Add support for off-thread SharedFunctionInfo allocation, which includes UncompiledData and PreparseData allocation. Bug: chromium:1011762 Change-Id: Ia10f9ce762c7d7eb1108b9e71da75131dce919b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2050393 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#66246}
-
Wez authored
Fuchsia's SDK will soon provide GN rules include one for declaring fuchsia package targets. Since the SDK-provided rule works differently from the Chromium one but is called fuchsia_package(), we need to rename the Chromium rule to avoid them clashing. Bug: chromium:1050703 Change-Id: Ia2fcba8e32f311e6859590d9c95730ffe6875192 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2050388Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#66244}
-
- 07 Feb, 2020 3 commits
-
-
Seth Brenith authored
This change moves the definition of the bits stored in DebugInfo::flags to Torque, and updates the only Torque usage of that field to use more natural syntax. This is intended as an example of common patterns found in various other classes. Several supporting changes are required: 1. Add a new type representing a bitfield struct stored within a Smi. It is currently called SmiTagged, but I'm open to suggestions. 2. Add an enum-style output for Torque bitfield structs whose bitfields occupy only one bit each. 3. Add a new case to MachineOperatorReducer that makes the generated code for IncBlockCounter match with what was generated before this change. 4. Add support for reporting these bitfields in the postmortem debugging API. The format matches existing bitfields but with an offset value that includes the SMI shift size. Bug: v8:7793 Change-Id: Icaecbe4a162da55d2d9a3a35a8ea85b285b2f1b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2028832 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#66182}
-
Etienne Pierre-doray authored
GlobalSize will be used as a hint to schedule scavenger work in https://chromium-review.googlesource.com/c/v8/v8/+/2036661 This is implemented as an atomic variable that's updated when adding/removing segments. Bug: chromium:1012816 Change-Id: I8f6c3f10612f8febda9bfe640d91e235aa3c2f12 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2043273Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Cr-Commit-Position: refs/heads/master@{#66175}
-
Leszek Swirski authored
Allow caching the result of allocating AstConsStrings, to allow sharing of inferred names between functions. This is a partial revert of https://crrev.com/c/2020953, with the observation that *some* AstConsStrings are always flattened, while others are only ever used as ConsStrings, so we want to allow the allocation to be lazy while still caching the result. As a drive-by, cleanup the old AstConsString linked list fields. Bug: chromium:1011762 Bug: chromium:1048082 Change-Id: Icc14342eb3f6f97359596b42b2c296cbc49fd791 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2042093 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#66168}
-
- 06 Feb, 2020 1 commit
-
-
Ulan Degenbaev authored
A pointer-compressed heap has the same heap limit heuristics as a 32-bit heap. Specifically, the heap limit is restricted to 1GB due to scarce virtual addresses space on 32-bit platforms. That limitation does not apply for pointer-compressed heaps which can use 4GB. This CL changes the heap limit computation to use system the pointer size instead of the tagged pointer size. Note that the young generation limit continues to use the tagged pointer size. Bug: chromium:1045034 Change-Id: I9d5bb818c32a82322476e9c97feee331400ebe0f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2042102Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66159}
-
- 04 Feb, 2020 1 commit
-
-
Leszek Swirski authored
The Factory/OffThreadFactory allows us to cleanly separate object construction behaviour between main-thread and off-thread in a syntactically consistent way (so that methods templated on the factory type can be made to work on both). However, there are cases where we also have to access the Isolate, for handle creation or exception throwing. So far we have been pushing more and more "customization points" into the factories to allow these factory-templated methods to dispatch on this isolate behaviour via these factory methods. Unfortunately, this is an increasing layering violation between Factory and Isolate, particularly around exception handling. Now, we introduce an OffThreadIsolate, analogous to Isolate in the same way as OffThreadFactory is analogous to Factory. All methods which were templated on Factory are now templated on Isolate, and methods which used to take an Isolate, and which were recently changed to take a templated Factory, are changed/reverted to take a templated Isolate. OffThreadFactory gets an isolate() method to match Factory's. Notably, FactoryHandle is changed to "HandleFor", where the template argument can be either of the Isolate type or the Factory type (allowing us to dispatch on both depending on what is available). Bug: chromium:1011762 Change-Id: Id144176f7da534dd76f3d535ab2ade008b6845e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030909 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66101}
-
- 30 Jan, 2020 2 commits
-
-
Igor Sheludko authored
... by using random seed provided via --gtest_random_seed= flag. Bug: chromium:1043117 Change-Id: I6114e9c71f3196a386a8457a6ec6f9e1fc80f6ea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2027991Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#66043}
-
Leszek Swirski authored
Remove AstConsString "internalization", and instead make the conversion to heap String be on-demand with an Allocate method. We never actually need the heapified cons string more than once, so there's no need to do the internalization walk or do the next/string union dance in the AstConsString class. This also allows us to specify how we want to allocate the String at the call site. In particular, it allows us to allocate a flat SeqString rather rather than a ConsString. This allows us to avoid allocating ConsStrings which will just be passed to a flatten call, and especially avoid allocating dead ConsStrings in the off-thread old space. Bug: chromium:1011762 Bug: chromium:1043168 Change-Id: Id851f2f7529d92ad7e5388eb22823fd6d1959cd0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2020953Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#66042}
-
- 28 Jan, 2020 1 commit
-
-
Philip Pfaffe authored
The current implementation takes forwarding reference arguments, which is fine when you call it with rvalues, like make_iterator_range(V.begin(), V.end()). If you call it with lvalues though, it doesn't do what you'd expect. ForwardIterator becomes a reference: Foo I = V.begin(); make_iterator_range(I, I); //ForwardIterator is deduced as Foo& Since iterator are supposed to be small, no harm in passing them by value. Change-Id: I151c87304949d810c72c42f60e9d1a7151f61f83 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2020780 Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66007}
-
- 24 Jan, 2020 2 commits
-
-
Shu-yu Guo authored
Bug: v8:8179 Change-Id: I2e7024412216decc06e814e88eecd5b4eb5ae8cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013696Reviewed-by:
Ben Smith <binji@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#65966}
-
Shu-yu Guo authored
Bug: v8:8179 Change-Id: I3a41243b971d499d50e35c4782bff5b8b012f434 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013695 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#65965}
-
- 23 Jan, 2020 1 commit
-
-
Ben Smith authored
The following instructions are affected: memory.init, data.drop, table.init, table.drop. A segment index should be decoded as an unsigned number, but these instructions were decoding as signed. This works properly up to 63, but fails at 64 (which is decoded as -64 = 4294967232). Bug: v8:10151 Change-Id: I742b74cf0bcadf2ff2f606beb65b7bae3e816530 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2015960Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#65957}
-
- 22 Jan, 2020 5 commits
-
-
Clemens Backes authored
This flag was used for IndexedDB support. Last uses in chrome were removed in https://crrev.com/c/2013046, hence the API method can be deprecated. Also remove deserializer tests that were disabled by default or just test that random bytes (from the deserializer's perspective) fail to decode. R=adamk@chromium.org Bug: v8:10146 Change-Id: I8596849c3b51ab1c60272a49ff3fdaa0946452bf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013104 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#65931}
-
Clemens Backes authored
Both the API wrapper as well as the internal object are named "WasmModuleObject". This CL renames the object type check from "IsWebAssemblyCompiledModule" to "IsWasmModuleObject" to be consistent. R=adamk@chromium.org Bug: v8:10021 Change-Id: I6d5814421f38bc5f5bd73a492ff4a36f552ff763 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013109Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65930}
-
Clemens Backes authored
Serialization of WasmModuleObject was our first implementation for postMessage, and was used for IndexedDB. IndexedDB support is removed since a long time, and postMessage works by just messaging an identifier and reusing the underlying NativeModule when receiving this. Thus the logic to serialize the actual code is unused, and thus should be removed together with all tests. R=ahaas@chromium.org Bug: v8:10146 Change-Id: I599296736dabd486c45ced2b6e5996e490fa40c8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013110Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65922}
-
Georg Neis authored
... and consult it there from the various reducers. The flag makes no sense without the broker and the reducers already have access to the broker, so we can avoid an additional flag per reducer. Bug: v8:7790 Change-Id: I448050a55951b94d5313c1a79a502be906b98b25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013108 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#65918}
-
Clemens Backes authored
This API was used for IndexedDB support and for transferring modules by serializing and deserializing (before we were sharing code between isolates). Last uses were removed in https://crrev.com/c/1847366, thus this whole API is unused by now. This CL deprecates the API and refactors tests to use the internal APIs instead. R=adamk@chromium.org Bug: v8:10146 Change-Id: I838039b4be7ea4eebe6769f31f48e51e7bcd4645 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2006090 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#65908}
-
- 21 Jan, 2020 1 commit
-
-
Milad Farazmand authored
Compilation is failing on certain versions of gcc with: 'sort' is not a member of 'std' 'adjacent_find' is not a member of 'std' 'count' is not a member of 'std' and Bug: v8:10145 Change-Id: I0672636987c515485318d29d251c3b49a22ff374 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2008307 Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by:
Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#65884}
-
- 20 Jan, 2020 6 commits
-
-
Wez authored
Most V8 unit tests are multi-threaded, so configure GTest to use the thread-safe GTest implementation by default. This can be overridden on a per-test basis by setting: testing::FLAGS_gtest_death_test_style = "fast"; during the test's SetUp() (see the GTest documentation for details). Bug: v8:10143 Change-Id: I7414c5d8ae22eb8d9b8c4813f958ca571e1d0310 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2011085 Commit-Queue: Wez <wez@chromium.org> Auto-Submit: Wez <wez@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#65873}
-
Wez authored
The SequentialUnmapperTest replaces the process-global PageAllocator with a wrapper which tracks allocations. The suite was deleting the tracking allocator without first restoring the original PageAllocator, causing any subsequent tests which tried to use it to use-after-free. Bug: chromium:934932 Change-Id: I0f69b6a07542a3f381724afdbfb2e9b67a9f39de Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2010113 Commit-Queue: Wez <wez@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Auto-Submit: Wez <wez@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#65872}
-
Clemens Backes authored
I hit this issue in an unrelated CL and it took me a while to figure out what's happening. This CL will allow the creation of constant OwnedVectors via {OwnedVector<const T>::Of(collection)}. R=tebbi@chromium.org Change-Id: I337077a6c3960a2a2a8d857bec7450f664b87a3b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2010109Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65868}
-
Maya Lekova authored
Rolling v8/base/trace_event/common: https://chromium.googlesource.com/chromium/src/base/trace_event/common/+log/81c050f..e327c63 Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/1bee638..fd02540 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/1f38b43..73414d5 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/f7d73bb..251c765 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/2a04803..05b001c Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/5395345..306f375 Bug: chromium:1043117 Change-Id: Iee06baa8c4caaed2a187390eeb3c8f0b61db63d5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2006669 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#65865}
-
Nico Hartmann authored
Bug: chromium:1043117 Change-Id: I0abb11d25852e6f9e62b790dc39a36f11a8fe12f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2007503Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#65863}
-
Nico Hartmann authored
Bug: chromium:1043117 Change-Id: I09faf069e787ae3c5ecc0fd38b4bb55d51f10acf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2007501 Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#65859}
-
- 17 Jan, 2020 1 commit
-
-
Clemens Backes authored
This was used for debugging only. The DevTools frontend now receives the raw wasm bytes, and disassembles the functions it needed. The inspector change was done in https://crrev.com/c/1991481. This CL removes all code which is now dead in v8. R=ahaas@chromium.org, bmeurer@chromium.org Change-Id: I2d433613f1270a1ddac9af0bae8d990ef190712a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2005072Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65831}
-
- 16 Jan, 2020 5 commits
-
-
Leszek Swirski authored
Add support for internalizing an AstValueFactory using the off-thread factory. Includes adding ConsString support to OffThreadFactory. This introduces a Handle union wrapper, which is used in locations that can store a Handle or an OffThreadHandle. This is used in this patch for the internalized "string" field of AST strings, and will be able to be used for other similar fields in other classes (e.g. the ScopeInfo handle in Scope, object boilerplate descriptor handles, the inferred name handle on FunctionLiterals, etc.). It has a Factory-templated getter which returns the appropriate handle for the factory, and a debug-only tag to make sure the right getter is used at runtime. This union wrapper currently decomposes implicitly to a Handle if the getter is not called, to minimise code changes, but this implicit conversion will likely be removed for clarity. Bug: chromium:1011762 Change-Id: I5dd3a7bbdc483b66f5ff687e0079c545b636dc13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1993971 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#65816}
-
Jakob Gruber authored
Function calls can push arguments onto the stack. The consumed stack slots are not considered by the function-entry stack check, since initial frame setup only reserves space for local slots, not call arguments. This CL adds such logic by tracking the maximum pushed argument count during instruction selection, and adding these slots to the (existing) stack check offset logic in code generation. Bug: chromium:1030167 Change-Id: I26a9407cf38009839b1dda2ff0c8ec297c15ed8d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002540 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#65814}
-
Leszek Swirski authored
Fixed: v8:10129 Bug: chromium:1011762 Change-Id: I2b2398178a56c5378c95fccac57040a6eddda560 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2004609 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#65813}
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: I4fc039711eb9aa9d551144ea6fccc926d4803349 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1993290 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#65808}
-
Leszek Swirski authored
Bug: v8:10129 Bug: chromium:1011762 Change-Id: I1c2cc16326e2efb9f126ddcc0cc232229a94d0ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002545 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#65804}
-
- 15 Jan, 2020 2 commits
-
-
Emanuel Ziegler authored
Add decoding of ref.null as a valid argument for references in TurboFan, LiftOff and the interpreter. R=ahaas@chromium.org R=jkummerow@chromium.org Bug: chromium:10063 Change-Id: I1e2d9c76f616dacb3aa06f8b535543bdcdcf0783 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991485 Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#65788}
-
Leszek Swirski authored
Introduce OffThreadFactory with initial string construction support. The OffThreadFactory shares with Factory a new CRTP base class, called FactoryBase. Methods in FactoryBase return a FactoryHandle<Factory, T> alias, which is Handle<T> for normal Factory and a new OffThreadHandle<T> for OffThreadFactory. OffThreadHandle<T> behaves like Handle<T>, except it stores the object in-line rather than needing external storage. Any shared factory methods are moved into FactoryBase, which uses CRTP to call the sub-class's AllocateRaw method (plus a few more customization points which need Isolate access on the main thread). Methods that used to take an Isolate or Factory, and are needed off the main thread, are now expected to be templated on the factory type and to use the appropriate handle. Once an OffThreadFactory has finished being used (e.g. off-thread compilation completed) its pages are "Published" into the main-thread Heap. To deal with string internalization without creating a bunch of ThinStrings, this is done in two stages: 1. 'FinishOffThread': The off-thread pages are walked to collect all slots pointing to "internalized" strings. After this is called it is invalid to allocate any more objects with the factory. 2. 'Publish': On the main thread, we transform these slots into <Handle to holder, offset> pairs, then for each saved slot re-internalize its string and update the slot to point to the internalized string. Bug: chromium:1011762 Change-Id: I008a694da3c357de34362bd86fe7e1f46b535d5e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1992434 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#65787}
-
- 14 Jan, 2020 1 commit
-
-
Michael Lippautz authored
- Introduces a API to set top of the stack through EmbedderHeapTracer::SetStackTop. - Introduces a new API to inform V8 about an empty embedder stack. - Switch internal representation of TracedReference for on-stack handles to a proper stack that considers all contained handles as roots. - Handle garbage is avoided by cleaning up on handle creation or GC. Design doc: https://bit.ly/on-stack-traced-reference Bug: chromium:1040038 Change-Id: I927ef0abb268fdb5853c9e17b1bc96e2491cf101 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1993973 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#65757}
-