- 10 Mar, 2021 1 commit
-
-
Ng Zhi An authored
This is done with a script that does something like: files=$(ag 'v\d\d?x\d\d?[._]?all_?true' -l) sed -i 's/V\(8x16\|16x8\|32x4\|64x2\)\([._]\?\)\([aA]ll_\?[tT]rue\)/I\1\2\3/g' $(files) sed -i 's/v\(8x16\|16x8\|32x4\|64x2\)\([._]\?\)\([aA]ll_\?[tT]rue\)/i\1\2\3/g' $(files) And manual fixups in test-run-wasm-simd.cc and wasm-opcodes-inl.h. Bug: v8:10946 Change-Id: Ib5dad388dd6dd9cd0fb575ad961dffc189a2e6ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2740488Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73309}
-
- 08 Mar, 2021 1 commit
-
-
Bill Budge authored
- Adds some missing types, to appease the fuzzers. Bug: chromium:1185464 Change-Id: I08c4ebe5f4ae0d036da9819b805aeac93be384fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742017 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73279}
-
- 05 Mar, 2021 1 commit
-
-
Bill Budge authored
This is a reland of 36a7cba2 Unchanged, so: tbr=clemensb@chromium.org Original change's description: > Reland "[wasm][liftoff] Respect CallDescriptor linkage" > > This is a reland of 94283811 > > Patchset #2 fixes the Arm bug. A vpush is used to push the slot, > so subtract kSimd128Size from the stack decrement to get padding. > > Original change's description: > > [wasm][liftoff] Respect CallDescriptor linkage > > > > - Adds the actual stack slot location to LiftoffStackSlots::Slot. > > - Adds SortInPushedOrder method for architectures that push > > parameters. > > - Changes the LiftoffStackSlots::Construct signature to take the > > number of parameter slots in total, and changes implementations > > to insert padding when slots aren't contiguous. > > - Changes Arm MacroAssembler::AllocateStackSpace to check the > > immediate value, and to be a nop when it's zero. > > > > Bug: v8:9198 > > Change-Id: Ibd5775dbed3a40051fa9e345556231a1c07cf4e9 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2717120 > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Commit-Queue: Bill Budge <bbudge@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#73191} > > Bug: v8:9198 > Change-Id: Iae4930e28dd7fc634e3709a5726379c6b37e5195 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2735984 > Reviewed-by: Bill Budge <bbudge@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73195} Bug: v8:9198 Change-Id: I45c2b6fc8c38ef864a0bd7a7be5b431c7b8855a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2739737 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#73235}
-
- 04 Mar, 2021 7 commits
-
-
Ng Zhi An authored
This is a reland of fe00fbd9 Original change's description: > [wasm-simd][liftoff] Compile double precision conversions > > I missed actually handling these instructions in liftoff-compiler, so > even though the assembler functions were implemented for all archs, we > weren't running them. > > This properly handles the instructions and a couple of fixes: > > - for arm64, typos in using signed instructions for unsigned Wasm ops > - for arm, handle the case where dst == src, which leads to us > overwriting src and then reading junk from the overwritten portions to > convert > > Bug: v8:11265 > Change-Id: I7919280bdf395137e95075deb30ed815100df222 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2728382 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73178} Bug: v8:11265 Change-Id: Ib854b526e74710f03e83d5007e3a3f501363ce86 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2733661Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73206}
-
Shu-yu Guo authored
This reverts commit 36a7cba2. Reason for revert: On suspicion of making breakpoints fail more reliably: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux/41129/overview Original change's description: > Reland "[wasm][liftoff] Respect CallDescriptor linkage" > > This is a reland of 94283811 > > Patchset #2 fixes the Arm bug. A vpush is used to push the slot, > so subtract kSimd128Size from the stack decrement to get padding. > > Original change's description: > > [wasm][liftoff] Respect CallDescriptor linkage > > > > - Adds the actual stack slot location to LiftoffStackSlots::Slot. > > - Adds SortInPushedOrder method for architectures that push > > parameters. > > - Changes the LiftoffStackSlots::Construct signature to take the > > number of parameter slots in total, and changes implementations > > to insert padding when slots aren't contiguous. > > - Changes Arm MacroAssembler::AllocateStackSpace to check the > > immediate value, and to be a nop when it's zero. > > > > Bug: v8:9198 > > Change-Id: Ibd5775dbed3a40051fa9e345556231a1c07cf4e9 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2717120 > > Reviewed-by: Andreas Haas <ahaas@chromium.org> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Commit-Queue: Bill Budge <bbudge@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#73191} > > Bug: v8:9198 > Change-Id: Iae4930e28dd7fc634e3709a5726379c6b37e5195 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2735984 > Reviewed-by: Bill Budge <bbudge@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73195} Bug: v8:9198 Change-Id: I5e72a1f765eb49ec72198abd44798a6153e3dace No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2737796 Auto-Submit: Shu-yu Guo <syg@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@{#73202}
-
Bill Budge authored
This is a reland of 94283811 Patchset #2 fixes the Arm bug. A vpush is used to push the slot, so subtract kSimd128Size from the stack decrement to get padding. Original change's description: > [wasm][liftoff] Respect CallDescriptor linkage > > - Adds the actual stack slot location to LiftoffStackSlots::Slot. > - Adds SortInPushedOrder method for architectures that push > parameters. > - Changes the LiftoffStackSlots::Construct signature to take the > number of parameter slots in total, and changes implementations > to insert padding when slots aren't contiguous. > - Changes Arm MacroAssembler::AllocateStackSpace to check the > immediate value, and to be a nop when it's zero. > > Bug: v8:9198 > Change-Id: Ibd5775dbed3a40051fa9e345556231a1c07cf4e9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2717120 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73191} Bug: v8:9198 Change-Id: Iae4930e28dd7fc634e3709a5726379c6b37e5195 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2735984Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#73195}
-
Maya Lekova authored
This reverts commit 94283811. Reason for revert: Breaks arm simulator - https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20arm%20-%20sim/27651/overview Original change's description: > [wasm][liftoff] Respect CallDescriptor linkage > > - Adds the actual stack slot location to LiftoffStackSlots::Slot. > - Adds SortInPushedOrder method for architectures that push > parameters. > - Changes the LiftoffStackSlots::Construct signature to take the > number of parameter slots in total, and changes implementations > to insert padding when slots aren't contiguous. > - Changes Arm MacroAssembler::AllocateStackSpace to check the > immediate value, and to be a nop when it's zero. > > Bug: v8:9198 > Change-Id: Ibd5775dbed3a40051fa9e345556231a1c07cf4e9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2717120 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73191} Bug: v8:9198 Change-Id: I59b4e84b5a54bcda65a9e96f75e5682713adbfd8 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2735639 Auto-Submit: Maya Lekova <mslekova@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@{#73192}
-
Bill Budge authored
- Adds the actual stack slot location to LiftoffStackSlots::Slot. - Adds SortInPushedOrder method for architectures that push parameters. - Changes the LiftoffStackSlots::Construct signature to take the number of parameter slots in total, and changes implementations to insert padding when slots aren't contiguous. - Changes Arm MacroAssembler::AllocateStackSpace to check the immediate value, and to be a nop when it's zero. Bug: v8:9198 Change-Id: Ibd5775dbed3a40051fa9e345556231a1c07cf4e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2717120Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#73191}
-
Zhi An Ng authored
This reverts commit fe00fbd9. Reason for revert: Broke on noavx https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20-%20debug/36175/overview Original change's description: > [wasm-simd][liftoff] Compile double precision conversions > > I missed actually handling these instructions in liftoff-compiler, so > even though the assembler functions were implemented for all archs, we > weren't running them. > > This properly handles the instructions and a couple of fixes: > > - for arm64, typos in using signed instructions for unsigned Wasm ops > - for arm, handle the case where dst == src, which leads to us > overwriting src and then reading junk from the overwritten portions to > convert > > Bug: v8:11265 > Change-Id: I7919280bdf395137e95075deb30ed815100df222 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2728382 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73178} Bug: v8:11265 Change-Id: I9bce3418c5321ded38e339cd96a9e7e399190c96 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2733660 Auto-Submit: Zhi An Ng <zhin@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@{#73179}
-
Ng Zhi An authored
I missed actually handling these instructions in liftoff-compiler, so even though the assembler functions were implemented for all archs, we weren't running them. This properly handles the instructions and a couple of fixes: - for arm64, typos in using signed instructions for unsigned Wasm ops - for arm, handle the case where dst == src, which leads to us overwriting src and then reading junk from the overwritten portions to convert Bug: v8:11265 Change-Id: I7919280bdf395137e95075deb30ed815100df222 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2728382Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73178}
-
- 26 Feb, 2021 1 commit
-
-
Clemens Backes authored
This renames more fields holding "ValueKind" or methods operating on "ValueKind" to contain "kind" instead of "type". It also renames "is_reference_type" to "is_reference" on both ValueType and ValueKind, as the "_type" prefix is kind of implicit from the argument. R=manoskouk@chromium.org, jgruber@chromium.org Bug: v8:11477 Change-Id: I7809f1af6e983aebca96e03fe1fbc6ccaa22db72 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718063 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#73070}
-
- 25 Feb, 2021 1 commit
-
-
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}
-
- 24 Feb, 2021 3 commits
-
-
Ng Zhi An authored
arm64 is straightforward, for arm we extract the code sequence into a macro-assembler function. Bug: v8:11416 Change-Id: I6dddcee700c497e29f1ee8094cd81adfb1df2f4e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707769Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73030}
-
Ng Zhi An authored
Bug: v8:11086 Change-Id: I67f7aaeb1151b14678d6257a195efd19c86c5fbf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707775Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73028}
-
Clemens Backes authored
The precise type is only used for validation. For code generation, knowing the kind is more than enough. Hence, only store and pass the ValueKind in Liftoff, and not the full ValueType. R=manoskouk@chromium.org Bug: v8:11477 Change-Id: Ia42c0fa419f75b508bd2f210c767b631e93d3398 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707170 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#72997}
-
- 23 Feb, 2021 2 commits
-
-
Ng Zhi An authored
Extract code sequence into macro-assembler for sharing between Liftoff and TurboFan. Relax the register aliasing requirements (remove the DCHECKS), this will not affect codegen for TurboFan since the instruction selector already sets the correct restrictions, but makes it more flexible for use in Liftoff. Bug: v8:11416 Change-Id: I5f3f37b21d8f7e96ff7e472cb96dcda5f28679cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707765 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#72984}
-
Ng Zhi An authored
Bug: v8:11415 Change-Id: I50a805cb97d4d2aadc064da61db2983e0557cf6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707771Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72981}
-
- 22 Feb, 2021 3 commits
-
-
Ng Zhi An authored
Extract code sequence into macro-assembler for reuse between Liftoff and TurboFan. Small tweaks to macro-assembler functions Pmaddwd and Pmaddubsw to move src1 to dst on SSE when src != dst. TurboFan codegen won't be affected by this since it sets the right restrictions in instruction-selector. Bug: v8:11086 Change-Id: I6c206dec332c8195a6a4d419d11a28e7058c905a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707253Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72924}
-
Clemens Backes authored
There is no need for write barriers if the stored value is known to be a Smi. R=thibaudm@chromium.org Bug: v8:11453 Change-Id: Id1cf306b246686c245d1be5f72c46b54ba9829ca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707172Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72903}
-
Clemens Backes authored
Backends do not care about the concrete type, they only need to know the "kind" (e.g. "ref" or "i32"). In order to prepare Liftoff to use the value kind instead of the value type for all stored data, this CL moves the kind out of the ValueType and makes it a top-level enum. R=manoskouk@chromium.org Bug: v8:11477 Change-Id: I489d6c5207e6ff1b66e2afbe78a156d66df27eb3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707169 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#72896}
-
- 19 Feb, 2021 1 commit
-
-
Ng Zhi An authored
Extract code sequence into macro-assembler for reuse between Liftoff and TurboFan. There is a bit of register-aliasing checking due to the rather strict requirements for the code sequence depending on the CpuFetures that are supported. Bug: v8:11415 Change-Id: Idbc0ca43475db5650d1747c8a741e9f11b80d8e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698063Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72875}
-
- 16 Feb, 2021 1 commit
-
-
Clemens Backes authored
This CL avoids redundant loads of the instance from the frame by caching it in a register if possible. This register will be the first one to be cleared once we run out of registers (hence it's called a "volatile register"). On local tests, this seems to reduce most redundant loads within a function, and it also reduces the load for the stack check in the function prologue. After the stack check, we need to discard the cached instance though, since the potential runtime call for the stack check might clobber it. This will be addressed in a follow-up CL by re-loading the cached instance after the stack check. This is expected to remove another good chunk of instance loads, because the instance would initially be available in a register when starting the function code. R=thibaudm@chromium.org Bug: v8:11336 Change-Id: Ie65ab81263fb9d972f4b7a6daaef86cf704874ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695401 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72779}
-
- 12 Feb, 2021 2 commits
-
-
Clemens Backes authored
This CL adds support for instrumentation breakpoints in wasm. The request for "break on entry" is set on the script, and we need to keep it stored there because there might not be any instances of that wasm module yet. Once instances get created, the flag value is transferred to all instances. The flag stored there is then checked in the function prologue in Liftoff debugging code. This ensures that we will stop at the first valid break position in any function within that module. Hitting that instrumentation breakpoint will then clear the flag from the script and from all other live instances (in the same isolate). A first basic test is contained in this CL. More tests will be added later. R=thibaudm@chromium.org, bmeurer@chromium.org Bug: chromium:1151211 Change-Id: I5442d4044934988269becececc03699b850d51d7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2690588Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72701}
-
Ng Zhi An authored
Extract code sequence for v64x2.alltrue into macro-assembler for sharing between TurboFan and Liftoff. Bug: v8:11347,v8:11348 Change-Id: I8119f5425c8cf11ddac77f69ed9e62a408f7049d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2686011 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72681}
-
- 11 Feb, 2021 2 commits
-
-
Ng Zhi An authored
Other archs will come later. Bug: v8:11347,v8:11348 Change-Id: I9ea656b9c7ce03c9dafb631dd67f6e2f7d4346a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2686312Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72674}
-
Ng Zhi An authored
Did not factor out the codegen because it is short enough (1 or 2 instructions) and will unlikely be changed (for optimization reasons). Bug: v8:11265 Change-Id: Ic5e5bc7642e80448bdaa6d130dfe7c12018eb481 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2683209 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72664}
-
- 10 Feb, 2021 3 commits
-
-
Ng Zhi An authored
Extract codegen into macro-assembler functions for reuse in Liftoff. Some minor tweaks in I32x4TruncSatF64x2SZero and I32x4TruncSatF64x2UZero to check dst and src overlap and move to scratch/dst accordingly. In TurboFan we can set these restrictions in the instruction-selector, but not in Liftoff. This doesn't make TurboFan codegen any worse, since those restrictions are still in place. Bug: v8:11265 Change-Id: Ib6b3ebeb5fed99eddd0700fb4aba91d4168c3213 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2683206 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#72638}
-
Ng Zhi An authored
Bug: v8:11002 Change-Id: I914a7c24828bc53300dc905388741e6939686540 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2676922Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72634}
-
Ng Zhi An authored
This is a reland of 00babf07 No changes from original patch, previous CQ failures were likely a Mac infra issue https://chromium-review.googlesource.com/c/2682521. Original change's description: > [wasm-simd][x64][liftoff] Implement i8x16.popcnt > > Extract i8x16.popcnt implementation into a macro-assembler function, and > reuse it in Liftoff. > > Bug: v8:11002 > Change-Id: I86b2f5322c799d44f584cac28c70e0e393bf114f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2676280 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72565} Bug: v8:11002 Change-Id: Ic8bcbdb3444865805d8d2af3669ccb4a05c4426d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2682507Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72614}
-
- 08 Feb, 2021 2 commits
-
-
Zhi An Ng authored
This reverts commit 00babf07. Reason for revert: Broke mac64 https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac64/38510/overview Original change's description: > [wasm-simd][x64][liftoff] Implement i8x16.popcnt > > Extract i8x16.popcnt implementation into a macro-assembler function, and > reuse it in Liftoff. > > Bug: v8:11002 > Change-Id: I86b2f5322c799d44f584cac28c70e0e393bf114f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2676280 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72565} TBR=gdeepti@chromium.org,clemensb@chromium.org,zhin@chromium.org Change-Id: I5795b71f65d59237db59907d40c34e4fa7779fe1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:11002 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2682505Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72566}
-
Ng Zhi An authored
Extract i8x16.popcnt implementation into a macro-assembler function, and reuse it in Liftoff. Bug: v8:11002 Change-Id: I86b2f5322c799d44f584cac28c70e0e393bf114f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2676280Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72565}
-
- 01 Feb, 2021 1 commit
-
-
Ng Zhi An authored
This is a reland of commit 9c09c227. The fix for gc stress failure is merged: https://crrev.com/c/2656857. Original change's description: > Bug: v8:11331 > Change-Id: Ie394ec841a1a1c4030c4f589eac2cee8a6a2a1f9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639033 > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72304} Bug: v8:11331 Change-Id: I82f57b3fe5f0c456472aa7ce404703f34b73d17e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2659511Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72465}
-
- 28 Jan, 2021 2 commits
-
-
Thibaud Michaud authored
This is a reland of a80d51d4 There were two main issues: - Liftoff did 32 bit addition to get the offset, which overflowed and created a valid address where an OOB was expected - The access mode and landing pad was missing for SIMD load and store instructions Also fixed the macros to disable trap handlers from simulator builds. Original change's description: > [wasm][mac][arm64] Enable OOB trap handler > > R=ahaas@chromium.org,mark@chromium.org,mseaborn@chromium.org > > Bug: v8:11098 > Change-Id: Ic4eb02a96805e49da71f301269567a6e0ac1b843 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2519555 > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72136} Bug: v8:11098 Change-Id: I2ebe434577f2cbe168f0bccf2936f69ca211e3c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2637223Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72401}
-
Manos Koukoutos authored
As per the latest wasm-gc spec, rtts now have optional depth, with (rtt n type) <: (rtt type) for every depth n. Liftoff compilation for type checks without depth are not supported yet. Bug: v8:7748 Change-Id: I4971875e6a42db6d333b61ca5e2996e875f39f60 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2649043Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#72395}
-
- 27 Jan, 2021 2 commits
-
-
Ng Zhi An authored
For ARM, factor the code sequence out into a macro-assembler function to allow sharing between TurboFan and Liftoff. Bug: v8:11215 Change-Id: Ib337e3f3dd90174b71a9bcd951b3779275c7465c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2648820 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72380}
-
Ng Zhi An authored
Bug: v8:11215 Change-Id: Ib91d8e4cb2cd72a779f498827e154173c97a85cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2648819 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72376}
-
- 26 Jan, 2021 2 commits
-
-
Ng Zhi An authored
Bug: v8:10975 Change-Id: I7d69b533fda8be369afe949699eea5abddda9a5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2645469 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72338}
-
Zhi An Ng authored
This reverts commit 9c09c227. Reason for revert: gc stress failures https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress/20563/overview Original change's description: > [wasm-simd] Merge all any_true to v128.any_true > > In https://github.com/WebAssembly/simd/pull/423, all any_true > instructions were removed, and replaced with a single v128.any_true. > > This patch removes all but v8x16.any_true, and renames it to > v128.any_true. > > Bug: v8:11331 > Change-Id: Ie394ec841a1a1c4030c4f589eac2cee8a6a2a1f9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639033 > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72304} TBR=neis@chromium.org,gdeepti@chromium.org,neis@google.com,zhin@chromium.org Change-Id: I52dbf8de679059dd7b17908c1fe3ada0eb54ff84 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:11331 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2649240Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72305}
-
- 25 Jan, 2021 2 commits
-
-
Ng Zhi An authored
In https://github.com/WebAssembly/simd/pull/423, all any_true instructions were removed, and replaced with a single v128.any_true. This patch removes all but v8x16.any_true, and renames it to v128.any_true. Bug: v8:11331 Change-Id: Ie394ec841a1a1c4030c4f589eac2cee8a6a2a1f9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639033Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72304}
-
Ng Zhi An authored
Factor out the code sequence into macro-assembler functions to be reused by Liftoff. Bug: v8:10975 Change-Id: I82e253c94e09bf62197e7de87359d0e3956d2dcc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2643662 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72300}
-