- 18 Aug, 2020 2 commits
-
-
Milad Farazmand authored
Port 4765c70f Original Commit Message: On arm, the root register points into the middle of the roots array to allow to use the full int12_t offset range. Therefore some offsets into the root array are negative. This CL changes the liftoff assembler for arm to allow loads from negative offsets. On arm64, offsets can also be negative when pointer compression is disabled. Additionally this CL changes the signature of LiftoffAssembler::LoadTaggedPointer from uint32_t to int32_t to allow the LiftoffCompiler to provide negative indices. This CL does not come with a separate test yet. However, this changes is needed for https://crrev.com/c/2352784. Where there will also be a test. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ie286b0169a5f7a1de90e0ec7002bfac83383ea6c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2363127Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#69456}
-
Andreas Haas authored
On arm, the root register points into the middle of the roots array to allow to use the full int12_t offset range. Therefore some offsets into the root array are negative. This CL changes the liftoff assembler for arm to allow loads from negative offsets. On arm64, offsets can also be negative when pointer compression is disabled. Additionally this CL changes the signature of LiftoffAssembler::LoadTaggedPointer from uint32_t to int32_t to allow the LiftoffCompiler to provide negative indices. This CL does not come with a separate test yet. However, this changes is needed for https://crrev.com/c/2352784. Where there will also be a test. R=thibaudm@chromium.org Bug: v8:7581 Change-Id: I0a97a62ff8e934d45a4494adfbc74a3e1149c8c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2359429Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69453}
-
- 17 Aug, 2020 2 commits
-
-
Ng Zhi An authored
In Liftoff, we were missing kS128 cases to load to/from stack. For the x64 and ARM64 instruction selector, the calculation of reverse_slot is incorrect for 128-bit values: - reverse_slot += 2 (size of 128-bit values, 2 pointers) - this copies from slot -2 into register - but the value starts at slot -1, it occupies slots -1 and -2 - we end up copying slot -2 (most significant half) of the register, and also slot -3, which is where rsi was store (Wasm instance addr) - the test ends up with a different result every time The calculation of reverse_slot is changed to follow how ia32 and ARM does it, which is to start with - reverse_slot = 0 - in the code-generator, add 1 to the slot - then after emitting Peek operation, reverse_slot += 2 The fixes for x64 and ARM64 are in both instruction-selector and code-generator. ia32 and ARM didn't support writing kSimd128 values yet, it was only a missing check in code-generator, so add that in. For ARM, the codegen is more involved, vld1 does not support addressing with an offset, so we have to do the addition into a scratch register. Also adding a test for returning multiple v128. V128 is not exposed to JavaScript, so we use a Wasm function call, and then an involved chain of extract lanes, returning 6 i32 which we verify the values of. It extracts the first and last lane of the i32x4 value in order to catch bugs where we write or read to a wrong stack slot (off by 1). The simd-scalar-lowering for kCall was only handling single s128 return, we adopt the way i64-lowering handles kCall, so that is can now handle any kinds of calls with s128 in the descriptor. Bug: v8:10794 Bug: chromium:1115230 Change-Id: I2ccdd55f6292bc5794be78053b27e14da8cce70e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2355189 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69439}
-
Jakob Kummerow authored
This is a comment-only CL. Change-Id: I002b1765bfa839982ab11c22f744734fdd34d4ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352788Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69417}
-
- 14 Aug, 2020 1 commit
-
-
Manos Koukoutos authored
Drive-by: Add flag implications for wasm experimental features: gc -> typed_funcref, typed_funcref -> reftypes. Bug: v8:9495 Change-Id: Ia6054886935d68e79b8f463289aa9e1e9d6484f2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352777Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#69403}
-
- 12 Aug, 2020 1 commit
-
-
Thibaud Michaud authored
Remove extra source positions added by Liftoff to help with OSR. Compute the return address based on the call source position instead. R=clemensb@chromium.org Bug: v8:10337 Change-Id: Ifc14e924825b670ebaed920bb19d0fa09eca1b23 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2351666Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69359}
-
- 11 Aug, 2020 1 commit
-
-
Lei Zhang authored
32-bit MSVC generates a C4018 warning for signed/unsigned mismatch. Fix this by casting the std::numeric_limits<int32_t>::max() return value. Change-Id: Iaff6b81c797a88654a7d2fa6d910da105d824df8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346934Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/master@{#69321}
-
- 10 Aug, 2020 3 commits
-
-
Ng Zhi An authored
Optimize shuffles which only use a single operand (called swizzles), after canonicalization. Bug: v8:10696 Change-Id: I2e5ffdb723123dffb0abcb6126345972ddc9f652 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335735Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69313}
-
Thibaud Michaud authored
Add missing source position for stack check, used by OSR to find the correct return address. R=clemensb@chromium.org Bug: v8:10235 Change-Id: Ie26dd3b2079168e846f84b3a4ffe18b838649be7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339625Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69309}
-
Jakob Kummerow authored
Bug: v8:7748 Change-Id: If876c9499373f091067299fe333e7b59d6cefb41 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2343077Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69305}
-
- 06 Aug, 2020 2 commits
-
-
Thibaud Michaud authored
Spill registers before stack checks so that we can inspect them, similar to traps. OSR during a stack check is still unsupported and will be fixed in a follow-up CL. R=clemensb@chromium.org Bug: v8:10235 Change-Id: I22c2da6b3f79b30c3838c568f9680204afc85d36 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339467 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69277}
-
Andreas Haas authored
We used to check the size of tables at compile time, and threw a CompilationError if a given size exceeded the implementation-defined limit. However, the spec defines that an error should only be thrown when the implementation-defined limit is reached, which is either at instantiation time of during runtime at a table.grow. With this CL the V8 implementation becomes spec compliant in this regard. R=jkummerow@chromium.org Bug: v8:10556 Change-Id: I7d0e688b385a65e4060a569e5ab1dec68947ceea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2326331 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69267}
-
- 04 Aug, 2020 1 commit
-
-
Ng Zhi An authored
Swizzles are shuffles that only use values from 1 operand, e.g. v8x16.shuffle 0 1 2 3 0 0 0 0 4 5 6 7 0 0 0 0 (all the values are < 16). Match such patterns and emit an optimized codegen that uses less registers and instructions. Only implemented for x64 for now, the other backends will come in follow-up patches. Bug: v8:10696 Change-Id: Iffa694b04c97313eab7d138e4bdad7c0c85cda89 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335419Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69231}
-
- 03 Aug, 2020 1 commit
-
-
Ng Zhi An authored
x64's implementation of i64x2.shr_s was overwriting the scratch register. kScratchRegister is used to hold the extracted lane of the SIMD register, but in certain cases [0], is also used to back up the value of rcx. When this happens, the supposed backed-up rcx was overwritten (definitely) by each extract lane, so we end up restoring an incorrect value of rcx, leading to an eventual crash in certain benchmarks, when this extracted lane was used as a memory operand (see linked bugs). [0] when register holding the shift value is not rcx, which sarq_cl relies on Bug: v8:10752 Bug: chromium:1111522 Change-Id: Iaf3264e16f94e78bad4290783757f0b722d40411 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2334354Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69208}
-
- 28 Jul, 2020 1 commit
-
-
Zhao Jiazhong authored
Port b64cede5 https://crrev.com/c/2289970 Port 5de28709 https://crrev.com/c/2316304 Change-Id: Ia4e24558b10adef196ab167137a9a5b6db98754b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2321950Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#69089}
-
- 27 Jul, 2020 2 commits
-
-
Milad Farazmand authored
Port 06bdd8d6 R=thibaudm@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I35cf8d96c542da6db840f90d30b3a77a8925fafb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2313316Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#69071}
-
Thibaud Michaud authored
This is a reland of 06bdd8d6 Original change's description: > [liftoff][tail-call] Add indirect tail calls > > R=clemensb@chromium.org > > Bug: v8:10693 > Change-Id: Ic71d873bf7099ba671b9db1e87392d54aeebd7cf > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312096 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68996} Bug: v8:10693 Change-Id: Ia360be2fff1e98fab969dd4ffa14b5991ec743af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2316304 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69064}
-
- 24 Jul, 2020 1 commit
-
-
Andreas Haas authored
As there are not enough registers on ia32 to execute the platform- independent code, the CL also adds ia32-specific code to liftoff-compiler.cc. For this we first retrieve the memory index from the stack, do a bounds check, and calculate the final address. Only afterwards we pop all other values from the stack and pass them to the platform-dependent code. R=clemensb@chromium.org Bug: v8:10108 Change-Id: I741266a9523c8b5c46acc0b29817fd143a75752e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2316305Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69047}
-
- 23 Jul, 2020 1 commit
-
-
Clemens Backes authored
cmov is often much faster than branches (in particular if the branches cannot be predicted). It also has a much more predictable performance, and is shorter. This CL uses cmov on x64 for now. Other platforms (maybe using other instructions than cmov) can be added later. R=thibaudm@chromium.org Bug: v8:10740 Change-Id: Ifab3d570b8eea784376e1f768d6ba3828efcc01a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2315978Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69027}
-
- 22 Jul, 2020 5 commits
-
-
Maya Lekova authored
This reverts commit 06bdd8d6. Reason for revert: Speculative revert for arm64 sim CFI - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20CFI/1474? Original change's description: > [liftoff][tail-call] Add indirect tail calls > > R=clemensb@chromium.org > > Bug: v8:10693 > Change-Id: Ic71d873bf7099ba671b9db1e87392d54aeebd7cf > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312096 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68996} TBR=clemensb@chromium.org,thibaudm@chromium.org Change-Id: Ibdc64e20247758fb6bc96b4e5d13406adab968a7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10693 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312786Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#69003}
-
Jakob Kummerow authored
Bug: v8:7748 Change-Id: I6e226888d84a790efc36ac6e7c2a32bc3426bd84 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2308341 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69002}
-
Milad Farazmand authored
Port b64cede5 R=thibaudm@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I5aad17e2818d9d3ac6ab76b90c5242dd6593557c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312497Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#68998}
-
Thibaud Michaud authored
R=clemensb@chromium.org Bug: v8:10693 Change-Id: Ic71d873bf7099ba671b9db1e87392d54aeebd7cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312096Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#68996}
-
Thibaud Michaud authored
R=clemensb@chromium.org Bug: v8:10693 Change-Id: I2ffc99bfb9e96afd740fc1a095ccca61b7c5ce19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2289970 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68990}
-
- 21 Jul, 2020 7 commits
-
-
Ng Zhi An authored
Prototype in TurboFan x64 and interpreter, bailout in Liftoff. Suggested in https://github.com/WebAssembly/simd/pull/237. Bug: v8:10713 Change-Id: I5346c351fb2ec5240b74013e62aef07c46d5d9b6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2300924Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#68973}
-
Arnaud Robin authored
On desktop systems, we use a very basic tiering strategy: Everything is initially compiled with Liftoff, and once that is done, the module can start being used. Concurrently to the execution, we re-compile all code with TurboFan, and hot-swap each function once TurboFan finishes. We should start using a more dynamic strategy where each function is tiered-up when judged necessary. This change will then tier-up each liftoff function once it has been called 5 times. I then added a counter in the native module, that is updated directly from Liftoff code, and a runtime call is then made when the counter reaches the goal. R=clemensb@chromium.org CC=thibaudm@chromium.org Bug: v8:10728 Change-Id: I8dc2b02fdff8d97781bb1cf496886594b3d7f644 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306803 Commit-Queue: Arnaud Robin <arobin@google.com> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68971}
-
Manos Koukoutos authored
Drive-by: Improve comment, use << operator where possible Change-Id: I5d2bff57a3f19a0fbb746136a897bf50e1173775 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2308337Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#68966}
-
Clemens Backes authored
Most code comments use lowercase. This CL fixes the few that used uppercase, for consistency. R=thibaudm@chromium.org Change-Id: Ib02c8202f049a968662c91ade2252df24326a943 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2308336Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68962}
-
Manos Koukoutos authored
They have been replaced with {array,struct}.new_with_rtt. Also, rework tests that used those instructions. Bug: v8:7748 Change-Id: I2aaccb1958bf2b8d6cad4969abc612216856393d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307318 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68961}
-
Clemens Backes authored
For debugging code, disable opcode merging. Otherwise, the effect of the first merged opcode would not be observable when stepping. R=thibaudm@chromium.org Bug: v8:10350 Change-Id: Id656c9dee8f9676bf3d7881f3782e5ead76b5e71 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306802 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#68960}
-
Manos Koukoutos authored
Also remove traces of array.new_sub Bug: v8:7748 Change-Id: I96a922a16406960a80af0788e9cad5aa5692000a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307237 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68956}
-
- 17 Jul, 2020 1 commit
-
-
Clemens Backes authored
The {operator==} on {VarState} did not check the spill offset, so when merging stack states, we forgot to move stack values if both source and destination were stack slots, but at different offsets. This CL fixes this by removing the {operator==}, because the semantics (and use) are not clear, and it's only used in one place anyway. The equality check was mostly redundant, so inlining it also makes the code smaller and faster. R=ahaas@chromium.org Bug: v8:10702 Change-Id: I6c8b2cfd1002274175c9a17d305692e4631fd7dc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2304574Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68916}
-
- 15 Jul, 2020 1 commit
-
-
Zhao Jiazhong authored
Port d0e6ff15 https://crrev.com/c/2285149 Port 34871edd https://crrev.com/c/2284212 Port dc82799d https://crrev.com/c/2290623 Change-Id: I8cceface23368dafc6a029edaa7c6a125a0760ed Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2291306 Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#68856}
-
- 14 Jul, 2020 1 commit
-
-
Zhao Jiazhong authored
The Sw/Sd in FillStackSlotsWithZero should't use kSystemPointerSize as address offset, because the start address should be inclusive, and the end address should be exclusive. The skip-stack-guard-page test case failed due to this bug, and besides, it also needs larger stack size on mips simulator. Change-Id: Ieff55fe2c5a13e6dad1c5d073e1c0d22fe789d41 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2282663 Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#68834}
-
- 10 Jul, 2020 6 commits
-
-
Ng Zhi An authored
This implements v128.const for ia32, x64, arm, and arm64. Moves one of the test case under the correct header. Bug: v8:9909 Change-Id: I93eb179ac5fd0bc22e3dd5277f7d73699ac8b452 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2290623 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68806}
-
Clemens Backes authored
This removes a loop that runs exactly one or two times by straight-line code for the two cases. This should make it more readable and easier to maintain. R=thibaudm@chromium.org Bug: v8:10576 Change-Id: I242bc4a7f7333b04ec39e79dc530625fb5e2305f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2287505Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68800}
-
Clemens Backes authored
We often want to pass a list of moves of fixed length. Instead of constructing an array on the caller's stack and passing it via {ArrayVector}, we should just pass it via {std::initializer_list}. This also avoids to spell out the internal name {LiftoffAssembler::ParallelRegisterMoveTuple}. R=thibaudm@chromium.org Bug: v8:10576 Change-Id: Ibe7ac5a5a02686533333cb45652cbb2b99ad9c60 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2287498 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#68799}
-
Milad Farazmand authored
Port 34871edd Original Commit Message: Partial implementation of v128.const, only the optimized case for all 0s and all 1s. The other cases bailout to TurboFan for now, and will be added in subsequent patches. R=zhin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I948380f0859b49bcc5a55d239b24a93b1cd5fd04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2292113Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#68793}
-
Igor Sheludko authored
... by migrating old-style code MyObject* obj = new (zone) MyObject(...) to the new style MyObject* obj = zone->New<MyObject>(...) Bug: v8:10689 Change-Id: I2fc4a44ea05e4d087565811f343893f0e97dc660 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2288857 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68789}
-
Clemens Backes authored
Saturating conversions are implemented on all platforms now, so remove the (unreachable) bailout. Also, move the new cases up to the other macros, such that the indentation (by clang-format) makes more sense. R=rstz@chromium.org, thibaudm@chromium.org Bug: v8:10520 Change-Id: Ia44a4852a087b0a2c19b3d62aebd73c834fa9af9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2289982Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68782}
-