- 16 Mar, 2021 2 commits
-
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: I4b43b78be23b8220b89f1ee5177f6b9b3c18146d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2764748 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73452}
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: I6b77c06b8c787a00be00b84490155588608c75da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2764464Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73448}
-
- 15 Mar, 2021 2 commits
-
-
Ng Zhi An authored
I want to extract the Canonicalize shuffle out of the arch-specific instruction selector, since all archs have to do that anyway. Adding these tests to make sure the matching still works. Bug: v8:11542 Change-Id: Ic7ce0e0a027ce858a30f79a0f9ef2495bcaab4c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2750289Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73414}
-
Michael Lippautz authored
Cleanups around tracing bottlenecks and tests. Bug: chromium:1056170 Change-Id: I1f9ddd6d8727971db3bed5294f4ff3fdd20a9e34 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2757696 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73394}
-
- 12 Mar, 2021 3 commits
-
-
Clemens Backes authored
Just saw this on an unrelated change. This is a left-over from https://crrev.com/c/2007490. R=jkummerow@chromium.org Bug: v8:11384 Change-Id: Iaa6134458e05b58a15ff465b01a86d18bfabd746 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2756528Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73381}
-
Clemens Backes authored
We still get e.g. ClusterFuzz reports with enums printed as non-printable single-character strings (see linked bug). This CL fixes this, and also includes the integral enum value for enum that come with their own output operator. This makes error messages strictly better, at the cost of some more code per enum which is being used in a CHECK/DCHECK. Note that binary size of release builds is not affected, since we do not print the values there. R=nicohartmann@chromium.org Bug: v8:11384, chromium:1187484 Change-Id: I066b32f68440096babed9b629c7ffe3f2285cba8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2756226Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73373}
-
Andreas Haas authored
Due to a recent change Liftoff used different register configurations in the pointer-compression and no-pointer-compression setups. This caused a mismatch between the registers used by Liftoff and the registers spilled by the WasmDebugBreak builtin. With this CL the same register configuration is used both with and without pointer compression. Even without x28 there are 24 registers that can be used. Moreover, 24 registers can be spilled without padding, which would be needed with 25 registers to preserve stack alignment. Drive-by change: Use Reglist in frame-constants on all platforms. R=jkummerow@chromium.org Bug: v8:7581 Change-Id: Iae2892718e905a7995a3fdd7be7fd4d75bebb3dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752884 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#73366}
-
- 11 Mar, 2021 7 commits
-
-
Michael Lippautz authored
Add the object start bit when adding an entry to the free list. Introduce a GC at the end of the tests to make sure that the object start bitmap verification catches such issues. Bug: chromium:1056170 Change-Id: Id8ca257ce054fc3fb199955cf1c4f38004033747 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752870Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73353}
-
Clemens Backes authored
This is a reland of 80f5dfda. A condition in pipeline.cc was inverted, which lead to a CSA verifier error. Original change's description: > [no-wasm] Exclude src/wasm from compilation > > This is the biggest chunk, including > - all of src/wasm, > - torque file for wasm objects, > - torque file for wasm builtins, > - wasm builtins, > - wasm runtime functions, > - int64 lowering, > - simd scala lowering, > - WasmGraphBuilder (TF graph construction for wasm), > - wasm frame types, > - wasm interrupts, > - the JSWasmCall opcode, > - wasm backing store allocation. > > Those components are all recursively entangled, so I found no way to > split this change up further. > > Some includes that were recursively included by wasm headers needed to > be added explicitly now. > > backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc > because it only tests wasm backing stores. This file is excluded from > no-wasm builds then. > > R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org > > Bug: v8:11238 > Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b > Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73344} TBR=jgruber@chromium.org Bug: v8:11238 Change-Id: I20bd2847a59c68738b5a336cd42582b7b1499585 Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel Cq-Include-Trybots: luci.v8.try:v8_linux_verify_csa_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_verify_csa_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752867Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73348}
-
Clemens Backes authored
This reverts commit 80f5dfda. Reason for revert: Fails CSA verification: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20verify%20csa/21766/overview Original change's description: > [no-wasm] Exclude src/wasm from compilation > > This is the biggest chunk, including > - all of src/wasm, > - torque file for wasm objects, > - torque file for wasm builtins, > - wasm builtins, > - wasm runtime functions, > - int64 lowering, > - simd scala lowering, > - WasmGraphBuilder (TF graph construction for wasm), > - wasm frame types, > - wasm interrupts, > - the JSWasmCall opcode, > - wasm backing store allocation. > > Those components are all recursively entangled, so I found no way to > split this change up further. > > Some includes that were recursively included by wasm headers needed to > be added explicitly now. > > backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc > because it only tests wasm backing stores. This file is excluded from > no-wasm builds then. > > R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org > > Bug: v8:11238 > Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b > Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73344} Bug: v8:11238 Change-Id: I93672002c1faa36bb0bb5b4a9cc2032ee2ccd814 Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752866 Auto-Submit: Clemens Backes <clemensb@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73346}
-
Clemens Backes authored
This is the biggest chunk, including - all of src/wasm, - torque file for wasm objects, - torque file for wasm builtins, - wasm builtins, - wasm runtime functions, - int64 lowering, - simd scala lowering, - WasmGraphBuilder (TF graph construction for wasm), - wasm frame types, - wasm interrupts, - the JSWasmCall opcode, - wasm backing store allocation. Those components are all recursively entangled, so I found no way to split this change up further. Some includes that were recursively included by wasm headers needed to be added explicitly now. backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc because it only tests wasm backing stores. This file is excluded from no-wasm builds then. R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org Bug: v8:11238 Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#73344}
-
Manos Koukoutos authored
CsaLoadElimination failed to account for truncation when optimizing loads. This CL extends the notion of compatible Loads and Stores to include ({store}, {load}) pairs which both have integral representation and {store}'s representation is no smaller than {load}'s. In case the representations are not identical, it truncates and possibly sign-extends {store} before forwarding it to {load}. Additional change: Extend ObjectMayAlias with wasm allocating builtin calls. Bug: v8:11504 Change-Id: I43f89a13793b54477a33be18aaf346462aefa8e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2739975Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#73340}
-
Michael Lippautz authored
Adds GCInfo folding that delegates GCInfo requests to the parent-most object if finalizer semantics match. Folding is disabled for builds that want exact object names as those names are also managed through GCInfo objects. Bug: chromium:1056170 Change-Id: I783aad930587853741da533d0b9b56ba160d0596 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2748588 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73339}
-
Michael Lippautz authored
Resize() is not similar to realloc() in that it allocates a new object when passed a nullptr object. Avoid corner cases around Resize(nullptr, size) where size may be problematic if non-null by just requiring a valid object. The caller can perform the necesary nullptr check. Bug: chromium:1056170 Change-Id: Ic05972ae67c2968fc3eb002a6302b44e56b41ab4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752147Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73336}
-
- 09 Mar, 2021 1 commit
-
-
Michael Lippautz authored
The test ensures that in-construction objects that have been found through a write barrier are properly processed (marked + trace) when finalizing the collection conservatively with a different stack. This is a test for https://crrev.com/c/2744074 Bug: chromium:1056170 Change-Id: I8099bca1fb9025a315a8f0a3530aac822d1c45d2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2745334Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73306}
-
- 08 Mar, 2021 6 commits
-
-
Michael Lippautz authored
Resize() may be used to adjust additional trailing bytes of an object. It is up to the embedder to ensure correctness in case of shrinking. Bug: chromium:1056170 Change-Id: I954df6c7440b77275cd62e4b802e8f5d39c06f9d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2739652 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#73277}
-
Manos Koukoutos authored
This CL enables full csa optimization for wasm code. To take advantage of csa load elimination, it switches from Load/Store to LoadFromObject/ StoreToObject operators in the wasm compiler (where possible). Bug: v8:11510 Change-Id: Ibecd8ba81e89a76553b12ad2671ecad520e9e066 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2727407Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#73268}
-
Omer Katz authored
This CL adds missing locks to the PersistentRegions for (Weak)CrossThreadPersistents. To make sure no locks are missed in the future, this CL also splits PersistentRegion and introduces CrossThreadPersistentRegion that checks whether a lock is taken whenever it is accessed. Bug: chromium:1056170 Change-Id: Iaaef4a28af0f02bcb896706e9abf1ee5ad2ee1e1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2737299 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73264}
-
Clemens Backes authored
Before dropping a value we should validate that there is indeed a value on the stack. R=jkummerow@chromium.org Bug: chromium:1184964 Change-Id: Iec3ac061df2545717749e664b10c383765d67c9d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2739588Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73263}
-
Michael Lippautz authored
Add an explicit FreeUnreferencedObject() call that can be used to reclaim objects that are guaranteed to not be referenced anymore by the embedder. It is up to the embedder to ensure correctness. Change-Id: I7f2d86d9639e8b805f79a8fd0a346903f63171e5 Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2737301 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#73262}
-
Clemens Backes authored
Remove the include from js-array-buffer-inl.h, because the wasm engine is not used in that file. Add missing includes in other files that relied on the recursive include. R=jkummerow@chromium.org Bug: v8:11238 Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel Change-Id: I8b7f11ce92858cbc0ccf26925159486ed39573fa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2739650Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73254}
-
- 05 Mar, 2021 4 commits
-
-
Bill Budge authored
This is a (manual) reland of ba87518e071a75fb951b490d3f75a87ca715cc23 It is unchanged, except to rebase around a merge conflict. TBR=neis@chromium.org, jgruber@chromium.org Bug: v8:9198 > [codegen][frames] Generalize argument padding slot code > > - Removes kPadArguments boolean. > - Changes ShouldPadArguments to ArgumentPaddingSlots to reflect > that on some architectures more than 1 padding slot may be needed. > - Adds AddArgumentPaddingSlots and ShouldPadArguments convenience > functions. > > Bug: v8:9198 > > Change-Id: Iba87518e071a75fb951b490d3f75a87ca715cc23 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2679109 > Commit-Queue: Bill Budge <bbudge@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72605} Change-Id: I2a9022964d3bafe68c5c1e7de0ae7e837dd5c2e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2740457Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#73241}
-
Bill Budge authored
This is a reland of 352b9ecb The test/fix CL has been merged in, as the fixes to return slot accounting are needed to fix Arm64 issues turned up by the fuzzers: https://chromium-review.googlesource.com/c/v8/v8/+/2644139 The reverted fix for Wasm return slot allocation is added in patchset #2, to avoid fuzzer issues that it fixed: https://chromium-review.googlesource.com/c/v8/v8/+/2683024 TBR=neis@chromium.org Original change's description: > Reland "Reland "[compiler][wasm] Align Frame slots to value size"" > > This is a reland of 1694925c > > Minor fix to linkage for constexpr. > > TBR=ahaas@chromium.org,neis@chromium.org > > Original change's description: > > Reland "[compiler][wasm] Align Frame slots to value size" > > > > This is a reland of cddaf66c > > > > Original change's description: > > > [compiler][wasm] Align Frame slots to value size > > > > > > - Adds an AlignedSlotAllocator class and tests, to unify slot > > > allocation. This attempts to use alignment holes for smaller > > > values. > > > - Reworks Frame to use the new allocator for stack slots. > > > - Reworks LinkageAllocator to use the new allocator for stack > > > slots and for ARMv7 FP register aliasing. > > > - Fixes the RegisterAllocator to align spill slots. > > > - Fixes InstructionSelector to align spill slots. > > > > > > Bug: v8:9198 > > > > > > Change-Id: Ida148db428be89ef95de748ec5fc0e7b0358f523 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2512840 > > > Commit-Queue: Bill Budge <bbudge@chromium.org> > > > Reviewed-by: Georg Neis <neis@chromium.org> > > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#71644} > > > > Bug: v8:9198 > > Change-Id: Ib91fa6746370c38496706341e12d05c7bf999389 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2633390 > > Commit-Queue: Bill Budge <bbudge@chromium.org> > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#72195} > > Bug: v8:9198 > Change-Id: I91e02b823af8ec925dacf075388fb22e3eeb3384 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640890 > Reviewed-by: Bill Budge <bbudge@chromium.org> > Commit-Queue: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72209} Bug: v8:9198 Change-Id: Ia5cf63af4e5991bc7cf42da9972ffd044fc829f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2733177 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#73238}
-
Michael Lippautz authored
Bug: chromium:1056170 Change-Id: Ic6e40d5e5e9bcca28a8c344adfab06f4e88701aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2737302 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73231}
-
Manos Koukoutos authored
This adds the possibility to define non-nullable function tables of heap types kFunc and user-defined functions. When such table is defined, it is obligatory to provide an initializer expression after its limits. Currently, this can only be a function reference. Changes: - Change WasmTableObject::raw_type to encode the whole entry type. - Restructure call_indirect to load the signature only if needed, and do null checks only if needed. - Add the requirement to provide an initializer expression for non-nullable tables in module-decoder. - Rename "global initializer" -> "initializer expression" everywhere. - Add table initialization in module-instantiate. - Edit both the C++ and JS WasmModuleBuilder. - Add and slightly improve tests. - Format wasm-module-builder.js. Bug: v8:9495 Change-Id: I7453ee7d567afd5b5fe48a4f1653513787cfe99a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732673 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#73215}
-
- 04 Mar, 2021 1 commit
-
-
Michael Lippautz authored
Fixes an issue with tracing empty ephemeron values of mixin types. Bug: chromium:1056170 Change-Id: I0089df29943ba7670ec4bdfa5592a01b0ec6de04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732025Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73185}
-
- 03 Mar, 2021 2 commits
-
-
Ng Zhi An authored
This is similar to the optimization for f32x4 dup + mul in https://crrev.com/c/2719083. Refactor the pattern-matching code into a helper function that returns a struct with all the necessary fields to emit the optimized fmul by element instruction. Add similar unittests and a negative test as well. Bug: v8:11257 Change-Id: I79ab0bc783f43397191a54bf6fa736dd4dc8d807 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2728428Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73164}
-
Santiago Aboy Solanes authored
Also add the qualifier `compiler::` to places where it should have been used in the first place. Bug: v9:6949 Change-Id: Ib5ca6829cd9d72b1e3047afc92363910c902bbbf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2731529Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#73155}
-
- 02 Mar, 2021 1 commit
-
-
Ng Zhi An authored
Wasm SIMD does not have an opcode to multiply a vector by a scalar. In these cases, Wasm code uses mul(x, shuffle(y, imms)), where the shuffle is a dup of a single lane in y. Pattern match on this to emit a fmul (element). We can do similar pattern match on f64x2 too, that will come in a future patch. Bug: v8:11257 Change-Id: I61e8c46b56719a1179c8a6032dbf8a4cc03b40a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719083 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#73141}
-
- 01 Mar, 2021 1 commit
-
-
Omer Katz authored
This CL sets it so that the actual object size is reported only when cppgc_enable_object_names is set to true. Otherwise the heap snapshot merges nodes and the sizes don't make sense. Also, this will resolve a web test failure for the library. Bug: chromium:1056170 Change-Id: I32f6552560bdfad4b64c67b21292543978042a81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2726499Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73092}
-
- 26 Feb, 2021 6 commits
-
-
Michael Lippautz authored
This is a reland of eb453679 Original change's description: > cppgc: Rework testing GC infrastructure > > Instead of moving the stand-alone logic to the base heap, allows > specific heaps to override their stand-alone GC behavior. This allows > CppHeap to reuse the unified heap bottlenecks and visitors for > testing. This works as long as any v8 references are empty as there is > no Isolate attached to the heap in this case. > > - Reverts parts of https://crrev.com/c/2716291 > - Relands parts of https://crrev.com/c/2718146 > > In addition, add tests covering v8::CppHeap and cppgc::Heap. > > Bug: chromium:1056170 > Change-Id: I47dc88c7f0e4961a1aadd60da9b05bff4dcfb27a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718612 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73077} Bug: chromium:1056170 Change-Id: I415c837a7cf275c636172485dc4101c237a7d76b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2723253 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73081}
-
Francis McCabe authored
This reverts commit eb453679. Reason for revert: Breaks MSAN: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/37053 Original change's description: > cppgc: Rework testing GC infrastructure > > Instead of moving the stand-alone logic to the base heap, allows > specific heaps to override their stand-alone GC behavior. This allows > CppHeap to reuse the unified heap bottlenecks and visitors for > testing. This works as long as any v8 references are empty as there is > no Isolate attached to the heap in this case. > > - Reverts parts of https://crrev.com/c/2716291 > - Relands parts of https://crrev.com/c/2718146 > > In addition, add tests covering v8::CppHeap and cppgc::Heap. > > Bug: chromium:1056170 > Change-Id: I47dc88c7f0e4961a1aadd60da9b05bff4dcfb27a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718612 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73077} Bug: chromium:1056170 Change-Id: Ieda44c07d08f837a6632f96b8db6d5bec87dd521 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2723216 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#73078}
-
Michael Lippautz authored
Instead of moving the stand-alone logic to the base heap, allows specific heaps to override their stand-alone GC behavior. This allows CppHeap to reuse the unified heap bottlenecks and visitors for testing. This works as long as any v8 references are empty as there is no Isolate attached to the heap in this case. - Reverts parts of https://crrev.com/c/2716291 - Relands parts of https://crrev.com/c/2718146 In addition, add tests covering v8::CppHeap and cppgc::Heap. Bug: chromium:1056170 Change-Id: I47dc88c7f0e4961a1aadd60da9b05bff4dcfb27a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718612 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73077}
-
Manos Koukoutos authored
We experimentally globally enable loop unrolling for wasm code. This might be reverted based on the results of perf bots. Additional change: Add LoopExitValue to Int64Lowering, plus a small simplification. Bug: v8:11298 Change-Id: Iaf2829e80f948d70c5fb6ed7c974db7f59265fa3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718611Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#73072}
-
Clemens Backes authored
Wasm tests and wasm fuzzers should not be compiled (and run) if v8_enable_webassembly=false. R=machenbach@chromium.org Bug: v8:11238 Change-Id: I78bbb1d1d98179cac315411b8c2c2ecaee8ede91 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2721761Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73071}
-
Omer Katz authored
This was causing DevTools to crush whenever I took a heap snapshot. Bug: chromium:1056170 Change-Id: Ice7b3039c21a3f902f242299939e92ba0e393c9f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720307 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73065}
-
- 25 Feb, 2021 3 commits
-
-
Ng Zhi An authored
This instruction is not in the final SIMD proposal. Bug: v8:6020 Change-Id: Ifef1b3d58bf660f2d30784f587aed85f327825ec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716073 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#73058}
-
pthier authored
VLQ encoding was implemented in TranslationArray and Sparkplug PC <-> bytecode mapping. This CL introduces new VLQ helper methods used in both. Bug: v8:11429 Change-Id: I89d9777eab4ad28f08e5957421b63df07e37f9cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704674Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#73054}
-
Dan Elphick authored
Remove most dependencies on v8_wrappers. The remainder all depend on v8_libbase anyway, so just fold it into that target which removes a gn check error. Also removes v8_wrappers from the fuzzers where it's not used. Bug: v8:7330 Change-Id: I916806b62f8c49cc1d50ef493aa900e30fc623aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716383 Commit-Queue: Dan Elphick <delphick@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#73041}
-
- 24 Feb, 2021 1 commit
-
-
Zhi An Ng authored
This reverts commit ea818f07. Reason for revert: Test failure in Linux64 UBSan https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20UBSan/15251/overview Original change's description: > cppgc: Fix testing APIs that enable garbage collection > > The APIs require that the CppHeap is moved into a permanently detached > state that moves the heap out of a no-gc scope. > > Bug: chromium:1056170 > Change-Id: I1fc08451b3fdfaa4cfe58e6a1ddbe5dbed7efe5c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718146 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73025} Bug: chromium:1056170 Change-Id: Id00cb18274cbe7d255e7e95bd9e8e4dbc4b0c6e7 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718658 Auto-Submit: Zhi An Ng <zhin@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#73029}
-