- 02 May, 2019 1 commit
-
-
Seth Brenith authored
On Windows, expanding the stack by more than 4 KB at a time can cause access violations. This change fixes a few known cases (and includes unit tests for those), and attempts to make stack expansion more consistent overall by using the AllocateStackSpace helper method everywhere we can, even when the offset is a small constant. On arm64, there was already a consistent method for stack pointer manipulation using the Claim and Drop methods, so Claim is updated to touch every page. Bug: v8:9017 Change-Id: I2dbbceeebbdefaf45803e9b621fe83f52234a395 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1570666 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#61186}
-
- 30 Apr, 2019 1 commit
-
-
Joey Gouly authored
This is an extension of 138d2dfc. Change-Id: Icb10aab6e6799ab4f45dcbd26fc69206dbef29bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588430 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61131}
-
- 29 Mar, 2019 1 commit
-
-
Joey Gouly authored
This is a reland of e3be96d6 The failure was due to not sign extendint the immediate for 64-bit adds on 32-bit platforms. Original change's description: > [liftoff] Introduce emit_{i64,i32}_add with immediate > > This allows immediates to be encoded directly into instructions, rather than > mov-ing constants to registers first. > > This patch only changes emit_{i64,i32}_add, other emit_ functions will be changed once > this approach has been approved. > > Bug: v8:9038 > > Change-Id: I0c7306c2da0dae26f1c6e2465a9565adbf0bda84 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524482 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60506} Bug: v8:9038 Change-Id: I7dd1112827d037d900fd36cce71206388642605b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1543730Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60521}
-
- 28 Mar, 2019 2 commits
-
-
Clemens Hammacher authored
This reverts commit e3be96d6. Reason for revert: Fails on ia32: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux/31041 Original change's description: > [liftoff] Introduce emit_{i64,i32}_add with immediate > > This allows immediates to be encoded directly into instructions, rather than > mov-ing constants to registers first. > > This patch only changes emit_{i64,i32}_add, other emit_ functions will be changed once > this approach has been approved. > > Bug: v8:9038 > > Change-Id: I0c7306c2da0dae26f1c6e2465a9565adbf0bda84 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524482 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60506} TBR=clemensh@chromium.org,martyn.capewell@arm.com,joey.gouly@arm.com Change-Id: I131b13dc7178e31919fc2fffacec72c0697d93a6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9038 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1543354Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60508}
-
Joey Gouly authored
This allows immediates to be encoded directly into instructions, rather than mov-ing constants to registers first. This patch only changes emit_{i64,i32}_add, other emit_ functions will be changed once this approach has been approved. Bug: v8:9038 Change-Id: I0c7306c2da0dae26f1c6e2465a9565adbf0bda84 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524482 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60506}
-
- 31 Jan, 2019 1 commit
-
-
Igor Sheludko authored
Bug: v8:8621, v8:8562 Change-Id: I79014f92ba95d21b31ff28cb615a01aa00d0d5d6 Reviewed-on: https://chromium-review.googlesource.com/c/1448271 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59245}
-
- 28 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
Now that I saw the typo I cannot unsee it anymore, but somehow this typo went unrecognized for nearly 12 months (since https://crrev.com/c/904443). R=ahaas@chromium.org Bug: v8:8562 Change-Id: Iafaeb2313dcfa305007c3c87e8f0440d8b15980e Reviewed-on: https://chromium-review.googlesource.com/c/1436021Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59125}
-
- 21 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
The temp registers might be needed by the assembler, so avoid using them in LiftoffAssembler. Use Liftoff cache registers instead. This might introduce additional spills if all registers are in use, but this is unlikely. This also simplifies the logic to ensure non-aliasing of certain registers. R=ahaas@chromium.org Bug: chromium:922933, v8:6600 Change-Id: Ie929d9de0b6f4f41c6117d820b6a367dd0a342f7 Reviewed-on: https://chromium-review.googlesource.com/c/1424862Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58961}
-
- 16 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
When generating an Assembler, you currently have two choices: Either let the Assembler allocate a growable internal buffer, which is owned by the Assembler. Or provide an externally allocated buffer, which cannot grow. This CL changes this interface to allow providing any implementation of a buffer. The provided buffer can be a view to an externally owned buffer, which still can grow. This will be used to split WebAssembly compilation and code submission. The buffer needs to be able to grow, but cannot be owned by the Assembler because it has to survive until the code is submitted. R=mstarzinger@chromium.org Bug: v8:8689 Change-Id: Ib6c5ebffc8b71d0778944abac34f02c5cc7dbd79 Reviewed-on: https://chromium-review.googlesource.com/c/1411347 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58848}
-
- 11 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
In {Assembler::and_} we might need to use the scratch register. Thus use a free LiftoffRegister instead to emit i32 popcnt. R=ahaas@chromium.org CC=george.wort@arm.com Bug: chromium:918284 Change-Id: Ia814899bf6e33dd4989fd09329542b4bc09b48df Reviewed-on: https://chromium-review.googlesource.com/c/1405036Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58723}
-
- 10 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
Use the right register type for the temporary register. R=titzer@chromium.org Bug: v8:6600, chromium:917588 Change-Id: Ia2617f6b406924ca7f496608fd495faf04dff25b Reviewed-on: https://chromium-review.googlesource.com/c/1403127Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58711}
-
- 03 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
Instead, always pass an index and an enum pointing to either half. R=titzer@chromium.org Bug: v8:6600, v8:8562 Change-Id: I7e73bd97bfc7ebf644b242980aa0a73cd5f18949 Reviewed-on: https://chromium-review.googlesource.com/c/1392189 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58516}
-
- 02 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
Bring ia32 in line with the arm implemention. Instead of computing the "half index" manually, pass the index and an enum pointing to either half. R=titzer@chromium.org Bug: v8:6600 Change-Id: Ia3799a42fe2b9890aa4076d2e09947380331348e Reviewed-on: https://chromium-review.googlesource.com/c/1391758 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58501}
-
- 27 Dec, 2018 1 commit
-
-
Clemens Hammacher authored
Prevent aliasing between problematic registers for shift operations with int64 values in the arm port of Liftoff. Bug: v8:6600, chromium:912592 Change-Id: I905f0a657626fdfac3e41fe2878e918e3c779a8f Reviewed-on: https://chromium-review.googlesource.com/c/1388564 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58480}
-
- 21 Dec, 2018 1 commit
-
-
George Wort authored
Ensure that GetUnusedRegister is always called before acquiring the scratch register in case it is needed for spilling the value of the used register. Bug: v8:6600, chromium:910824 Change-Id: I93ae684ad504584807dfa6227b6af14609c6bcf5 Reviewed-on: https://chromium-review.googlesource.com/c/1387498Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58442}
-
- 19 Dec, 2018 2 commits
-
-
Igor Sheludko authored
Also added != 0 for readability in checks like: if (FIELD_SIZE(kFooOffset) != 0) {...} Bug: v8:8477, v8:8562 Change-Id: Ibc305103475e6ec029e89e7ad095ec0a1fa30189 Reviewed-on: https://chromium-review.googlesource.com/c/1382743 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58360}
-
Igor Sheludko authored
These load operations will decompress values if pointer compression is enabled. Bug: v8:7703 Change-Id: I4c5cef39a735f3b03e36d27c0e5e7c21653bbbc0 Reviewed-on: https://chromium-review.googlesource.com/c/1382742 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58356}
-
- 03 Dec, 2018 1 commit
-
-
George Wort authored
Move lhs into dst when lhs == rhs. Bug: v8:6600, chromium:910223 Change-Id: I5bcb01b57705c52f363a43b2036f0ade0fd451e7 Reviewed-on: https://chromium-review.googlesource.com/c/1357041 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57996}
-
- 29 Nov, 2018 1 commit
-
-
George Wort authored
This supports the use of f32 values for the arm32 port of Liftoff. Bug: v8:6600 Change-Id: I1fa2782f5a8bc6687a17d2df6e4ec8036b23452c Reviewed-on: https://chromium-review.googlesource.com/c/1354040 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57932}
-
- 28 Nov, 2018 2 commits
-
-
George Wort authored
This implements arithmetic operations on i64, as well as eqz and conditional set for the arm32 port of Liftoff. Bug: v8:6600 Change-Id: I21dc0f820e1429392599a5813c44b938c38093a2 Reviewed-on: https://chromium-review.googlesource.com/c/1348082 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57910}
-
George Wort authored
This allows f32 floor, ceil, trunc, and nearest_int to use a C fallback in Liftoff in the same way that f64 rounding can. Bug: v8:6600 Change-Id: I8b88d806633bcfe2d2dfac9defaf60e551bf21b1 Reviewed-on: https://chromium-review.googlesource.com/c/1353898 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57909}
-
- 26 Nov, 2018 2 commits
-
-
George Wort authored
This implements copy sign for both the arm32 and arm64 port of Liftoff. Bug: v8:6600 Change-Id: Ic822e75417c6b911a03e8e9a2d6d59a98fbc3d18 Reviewed-on: https://chromium-review.googlesource.com/c/1348430 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57843}
-
George Wort authored
This implements arithmetic operations on f64, as well as conditional set for the arm32 port of Liftoff. Bug: v8:6600 Change-Id: Ia060652e5292ed94da8a0ba656bddbcc13d9f610 Reviewed-on: https://chromium-review.googlesource.com/c/1348349 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57841}
-
- 23 Nov, 2018 5 commits
-
-
George Wort authored
This implements sign extension for the arm32 port of Liftoff. Bug: v8:6600 Change-Id: Ib9fb56835b92fa96af013fd3504395d24a27e10e Reviewed-on: https://chromium-review.googlesource.com/c/1348429 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57779}
-
George Wort authored
This implements type conversion for the arm32 port of Liftoff. Bug: v8:6600 Change-Id: Id100df92dc5e9f9df1b7b26158e35bb36b742f10 Reviewed-on: https://chromium-review.googlesource.com/c/1348409 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57778}
-
George Wort authored
This implements AssertUnreachable for the arm32 port of Liftoff. Bug: v8:6600 Change-Id: I9aa5083dc1be175fc5f2f386d8aace021bab3b03 Reviewed-on: https://chromium-review.googlesource.com/c/1346335 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57767}
-
George Wort authored
This implements popcnt, division and remainder on i32 for the arm32 port of Liftoff. Bug: v8:6600 Change-Id: I2aac78596ef9799bf8fcfc791c0e946a8388f62f Reviewed-on: https://chromium-review.googlesource.com/c/1346497 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57766}
-
George Wort authored
This implements arithmetic operations on i32, comparisons, and conditional jumps for the arm32 port of Liftoff. Bug: v8:6600 Change-Id: Ib8d6e4dd99c725d9c5bff06d31c64e7ba4639297 Reviewed-on: https://chromium-review.googlesource.com/c/1346334 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57765}
-
- 22 Nov, 2018 3 commits
-
-
George Wort authored
This adds the function call functionality for the arm32 port of Liftoff. Bug: v8:6600 Change-Id: I8ca00b370c629157c91fd9a905f34ea41ec53d29 Reviewed-on: https://chromium-review.googlesource.com/c/1346336Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57742}
-
George Wort authored
This adds stack access functionality for the arm32 port of Liftoff. Bug: v8:6600 Change-Id: I163ab133efc63045f37d1387fd5f32be333bc501 Reviewed-on: https://chromium-review.googlesource.com/c/1346333 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57729}
-
George Wort authored
Bug: v8:6600 Change-Id: I4bf99aeac7336eda8989bc6772d8bd34c44117ea Reviewed-on: https://chromium-review.googlesource.com/c/1346112 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57720}
-
- 09 Nov, 2018 1 commit
-
-
George Wort authored
Bug: v8:6600 Change-Id: I9ca4c52cec6fe6d6a88483072084dbd5a174a603 Reviewed-on: https://chromium-review.googlesource.com/c/1309755 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#57405}
-
- 14 Sep, 2018 1 commit
-
-
Clemens Hammacher authored
This implements the five sign extension opcodes for ia32 and x64 (and bails out on other architectures). R=titzer@chromium.org Bug: v8:6600 Change-Id: Ibb8bae0e229e276b346f2d054b51864a0995a096 Reviewed-on: https://chromium-review.googlesource.com/1174533 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55898}
-
- 12 Sep, 2018 3 commits
-
-
Clemens Hammacher authored
This is a reland of 6afe7d18. The reason for the revert is fixed in https://crrev.com/c/1219633. Original change's description: > [Liftoff] Implement f32.copysign and f64.copysign > > These are two of the few missing instructions. This CL implements them > for ia32 and x64, and bails out on other platforms. > On x64, we are using the BTR instruction since we cannot have 64-bit > immediates. > > Drive-by: Fix naming of existing bt/bts instructions on x64. > > R=titzer@chromium.org > > Bug: v8:6600 > Change-Id: Ib8532ca811160cd61f4ba7c06b04ce093861c872 > Reviewed-on: https://chromium-review.googlesource.com/1174383 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Ben Titzer <titzer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55780} Bug: v8:6600 Change-Id: Ie14ba3a14848ba8e67f97e66d3379178f35dea40 TBR=titzer@chromium.org Change-Id: Ie14ba3a14848ba8e67f97e66d3379178f35dea40 Reviewed-on: https://chromium-review.googlesource.com/1219693Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55817}
-
Clemens Hammacher authored
This reverts commit f0f5f877. Reason for revert: Merge conflict (does not compile). Original change's description: > Reland "[Liftoff] Implement f32.copysign and f64.copysign" > > This is a reland of 6afe7d18. > The reason for the revert is fixed in https://crrev.com/c/1219633. > > Original change's description: > > [Liftoff] Implement f32.copysign and f64.copysign > > > > These are two of the few missing instructions. This CL implements them > > for ia32 and x64, and bails out on other platforms. > > On x64, we are using the BTR instruction since we cannot have 64-bit > > immediates. > > > > Drive-by: Fix naming of existing bt/bts instructions on x64. > > > > R=titzer@chromium.org > > > > Bug: v8:6600 > > Change-Id: Ib8532ca811160cd61f4ba7c06b04ce093861c872 > > Reviewed-on: https://chromium-review.googlesource.com/1174383 > > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > > Reviewed-by: Ben Titzer <titzer@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#55780} > > Bug: v8:6600 > Change-Id: I4baeec6b02b17450988cfa7fedd5037f9cfe1638 > Reviewed-on: https://chromium-review.googlesource.com/1219508 > Reviewed-by: Ben Titzer <titzer@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55812} TBR=titzer@chromium.org,clemensh@chromium.org Change-Id: Iae075a8f5225f1678691698bf3a304faa5ae2aab No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6600 Reviewed-on: https://chromium-review.googlesource.com/1220747Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55813}
-
Clemens Hammacher authored
This is a reland of 6afe7d18. The reason for the revert is fixed in https://crrev.com/c/1219633. Original change's description: > [Liftoff] Implement f32.copysign and f64.copysign > > These are two of the few missing instructions. This CL implements them > for ia32 and x64, and bails out on other platforms. > On x64, we are using the BTR instruction since we cannot have 64-bit > immediates. > > Drive-by: Fix naming of existing bt/bts instructions on x64. > > R=titzer@chromium.org > > Bug: v8:6600 > Change-Id: Ib8532ca811160cd61f4ba7c06b04ce093861c872 > Reviewed-on: https://chromium-review.googlesource.com/1174383 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Ben Titzer <titzer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55780} Bug: v8:6600 Change-Id: I4baeec6b02b17450988cfa7fedd5037f9cfe1638 Reviewed-on: https://chromium-review.googlesource.com/1219508Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55812}
-
- 11 Sep, 2018 2 commits
-
-
Clemens Hammacher authored
This reverts commit 6afe7d18. Reason for revert: Failures (-2e+66 vs. -2e+66): https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20debug/22148 Original change's description: > [Liftoff] Implement f32.copysign and f64.copysign > > These are two of the few missing instructions. This CL implements them > for ia32 and x64, and bails out on other platforms. > On x64, we are using the BTR instruction since we cannot have 64-bit > immediates. > > Drive-by: Fix naming of existing bt/bts instructions on x64. > > R=titzer@chromium.org > > Bug: v8:6600 > Change-Id: Ib8532ca811160cd61f4ba7c06b04ce093861c872 > Reviewed-on: https://chromium-review.googlesource.com/1174383 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Ben Titzer <titzer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55780} TBR=titzer@chromium.org,clemensh@chromium.org Change-Id: I4377c13346b42b65e8db04cbd15fc2f906113f65 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6600 Reviewed-on: https://chromium-review.googlesource.com/1219446Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55783}
-
Clemens Hammacher authored
These are two of the few missing instructions. This CL implements them for ia32 and x64, and bails out on other platforms. On x64, we are using the BTR instruction since we cannot have 64-bit immediates. Drive-by: Fix naming of existing bt/bts instructions on x64. R=titzer@chromium.org Bug: v8:6600 Change-Id: Ib8532ca811160cd61f4ba7c06b04ce093861c872 Reviewed-on: https://chromium-review.googlesource.com/1174383 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55780}
-
- 04 Sep, 2018 1 commit
-
-
Clemens Hammacher authored
Since https://crrev.com/c/1112003, the memory size is stored as size_t instead of uint32_t in order to support 4GB memories. Loading it as uint32_t only works on little-endian systems, and only for memory sizes <4GB. This CL fixes this to load and process the memory size as pointer-sized value. Additional platform-specific methods are added to perform a shift by a constant value. This can be reused to improve the generated code for other shifts. R=titzer@chromium.org Bug: v8:8130, v8:6600 Change-Id: Ifa688a3ed0e2809190571f24bdf47a7f53880b3d Reviewed-on: https://chromium-review.googlesource.com/1203950 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55609}
-
- 10 Aug, 2018 1 commit
-
-
Clemens Hammacher authored
Most platforms do not need these methods. Thus, make them private to the mips headers. R=titzer@chromium.org Bug: v8:6600 Change-Id: I3fb1a2a3fd9a53dfc55b45763c150911db43b537 Reviewed-on: https://chromium-review.googlesource.com/1169203Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55032}
-