- 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}
-
- 17 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
Refactor all call sites to use the new API introduced in https://crrev.com/c/1411347 and remove the legacy constructors. R=mstarzinger@chromium.org Bug: v8:8689, v8:8562 Change-Id: Id73686413726b2860f551dd200ef4b8823ef3034 Reviewed-on: https://chromium-review.googlesource.com/c/1415491Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58884}
-
- 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 the degenerate case where we wanted to emit {x = x - x} (where {x} is any register), ia32 and x64 generated wrong code (producing {-x + -x} instead). Fix this by special casing this case. R=ahaas@chromium.org Bug: chromium:919308 Change-Id: I9cd9818d2a678450ac6530107e7a5cbb625ddb8d Reviewed-on: https://chromium-review.googlesource.com/c/1405029 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58731}
-
- 04 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
The {movsx_b} instruction can only take byte registers (or operands) as source. Ensure that for i8 sign extensions to i64, the src register is moved to a temporary byte register first, similar to the same operation on i32 a few lines above. R=ahaas@chromium.org Bug: chromium:918149, v8:6600 Change-Id: I17bc942127baee57279a7fc0caac9d82bd7c6bfb Reviewed-on: https://chromium-review.googlesource.com/c/1394555Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58542}
-
- 03 Jan, 2019 2 commits
-
-
Clemens Hammacher authored
On x64 the {kScratchRegister} cannot be held in a {LiftoffRegister}, since it is not a valid cache register. Also, the code unnecessarily checked whether there is an unused cache register, but then didn't use it. Simplify the logic to always use the scratch register, just distinguish between 4-byte and 8-byte moves. On ia32 we did not move 64-bit values correctly if we didn't have unused registers and needed to move via the stack. R=titzer@chromium.org Bug: v8:6600, chromium:917588, chromium:917450 Change-Id: I0bbe946c6ac8fca62f85711ae47afdac9c02ae6b Reviewed-on: https://chromium-review.googlesource.com/c/1391755Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58521}
-
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}
-
- 20 Dec, 2018 1 commit
-
-
Clemens Hammacher authored
The source register of {movsx_b} must be a byte register. Drive-by: Add missing sign extension opcodes to wasm-constants.js. R=herhut@chromium.org Bug: chromium:916869 Change-Id: I571c1ea2a0e197afefc810f306eed238250cd5e0 Reviewed-on: https://chromium-review.googlesource.com/c/1386110Reviewed-by:
Stephan Herhut <herhut@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58394}
-
- 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}
-
- 18 Dec, 2018 1 commit
-
-
Clemens Hammacher authored
This CL introduces our own minimal SmallVector implementation and uses it in several places (more might follow). I measured that in the majority of cases, these vectors are quite small (<= 8 elements), so we will avoid any heap allocation in those cases. R=mstarzinger@chromium.org CC=titzer@chromium.org Bug: v8:8423 Change-Id: I93a26b3303a10fe1dc93186430e20333ea4970a8 Reviewed-on: https://chromium-review.googlesource.com/c/1378178 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58323}
-
- 28 Nov, 2018 1 commit
-
-
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}
-
- 15 Nov, 2018 1 commit
-
-
Clemens Hammacher authored
With just five cache registers, Liftoff can run out of memory on a 64bit shift. This CL solves this by using a parallel register move and pinning less registers. R=ahaas@chromium.org Bug: chromium:894307 Change-Id: I91ed0fee00ceb452841e5d1bb10905be6702dcce Reviewed-on: https://chromium-review.googlesource.com/c/1337580 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#57552}
-
- 16 Oct, 2018 1 commit
-
-
Sigurd Schneider authored
Change-Id: I861babb77f224626f6cdb88a7be08db75f5cf327 Bug: v8:6666 Reviewed-on: https://chromium-review.googlesource.com/c/1283089Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#56698}
-
- 12 Oct, 2018 1 commit
-
-
Clemens Hammacher authored
On ia32, we were pinning too many registers, resulting in no unpinned byte registers left (we only have three byte registers since {ebx} is reserved for the root register). It turns out that on most paths, we don't actually need to pin any registers, since {Store} is often the last call for an operation (like any store or set_global). If registers need to be pinned, only pass those that must be kept alive across the {Store}. This allows to compute a more narrow set of pinned registers on demand inside {Store}. Plus minor drive-by changes. R=titzer@chromium.org Bug: chromium:894374, chromium:894307, v8:6600 Change-Id: Ic4d7131784c193dc7a2abf0e504d9973f6d5c5f1 Reviewed-on: https://chromium-review.googlesource.com/c/1275819 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#56587}
-
- 09 Oct, 2018 1 commit
-
-
Clemens Hammacher authored
Drive-by: Fix a bug in {ProcessParameter} which was uncovered by this CL. R=titzer@chromium.org CC=sigurds@chromium.org, jgruber@chromium.org Bug: v8:6666 Change-Id: Ia775e8b4b9fdb9cecc226bdd870319a73950c18f Reviewed-on: https://chromium-review.googlesource.com/c/1270589 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#56477}
-
- 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}
-
- 27 Jul, 2018 1 commit
-
-
Ben L. Titzer authored
Add codegen support for up to 4GiB memories in Liftoff code. This CL also adds three new mjsunit tests that stress large WASM memories (1, 2, and 4 GiB) and checks that accesses near these boundaries properly generate traps. Note there is still some trickiness around the setting of: 1.) the flag --wasm-max-mem-pages 2.) wasm-limits.h kSpecMaxWasmMemoryPages = 65536 3.) wasm-limits.h kV8MaxWasmMemoryPages = 32767 In particular, the allocation of memories is still limited to 3.) and the runtime flag can only lower this limit. The above means that the tests for 2GiB and 4GiB memories will silently OOM by design until 3.) is changed (though they currently pass with manual testing). I argue it is better to include these tests up front, since they will immediately trigger if their memory allocation succeeds. Therefore the plan is to lift the restriction on 3.) after removing all other other internal V8 limitations including array buffers and views. R=clemensh@chromium.org CC=mstarzinger@chromium.org BUG=v8:7881 Change-Id: I3205ac2daf5c9a84364c670a2c3ef2258e5649f6 Reviewed-on: https://chromium-review.googlesource.com/1151309 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54754}
-
- 06 Jul, 2018 1 commit
-
-
Sigurd Schneider authored
This CL surfaces AssemblerOptions to CodeAssembler::GenerateCode and to pipeline methods. To allow forward declaring AssemblerOptions, AssemblerBase::Options was moved out of the AssemblerBase class. Bug: v8:6666 Change-Id: If9fc50d3d4767bb5dd39a0c3b6e094021f4cae2b Reviewed-on: https://chromium-review.googlesource.com/1127039 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#54286}
-
- 02 Jul, 2018 1 commit
-
-
Clemens Hammacher authored
On Windows (32-bit), we need to emit explicit stack limit checks for stack frames bigger than one page (4kB). This CL implements this by emitting corresponding code at the end of Liftoff functions if needed. R=mstarzinger@chromium.org Bug: v8:7908, v8:6600 Change-Id: Iacb3e7afdd433a4e68620d9230bd0ba473611da8 Reviewed-on: https://chromium-review.googlesource.com/1120175 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54141}
-
- 28 Jun, 2018 1 commit
-
-
Michael Starzinger authored
This loads the stack limit address from the instance object instead of embedding it into the instruction stream. It is another piece towards making the generated code independent of the Isolate. R=clemensh@chromium.org BUG=v8:7424 Change-Id: I9381956adf2d7c42f6626708229cfdd5c4ca114f Reviewed-on: https://chromium-review.googlesource.com/1117189 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54076}
-
- 21 Jun, 2018 1 commit
-
-
Ben L. Titzer authored
This completes the transition to Assembler::Options, which reduces the assemblers's dependency on isolates, and there is now only one way to create an Assembler, which is to use the options. Note that some operations on assemblers still need an isolate, such as GetCode(), and in these cases, the isolate is an additional argument to the method. R=jgruber@chromium.org CC=mstarzinger@chromium.org Change-Id: I413209d816c63a7c3640f1c226764693dcad1e7f Reviewed-on: https://chromium-review.googlesource.com/1106169 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53925}
-
- 11 Jun, 2018 1 commit
-
-
Michael Starzinger authored
This switches Liftoff code to use WebAssembly runtime stubs instead of builtin calls for handling traps, similar to what we use in TurboFan generated code as well. R=clemensh@chromium.org BUG=v8:7424 Change-Id: If2554067b3e294220306c67861bb1fb14db7b492 Reviewed-on: https://chromium-review.googlesource.com/1087275 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53644}
-
- 07 Jun, 2018 1 commit
-
-
Michael Starzinger authored
This makes all runtime calls compiled by Liftoff load the respective CEntry builtin from the instance object instead of embedding it into the instruction stream. Another step towards making the code independent of the originating Isolate. As a drive-by this also changes one implicit runtime call in the stack check in the TurboFan backend in a similar fashion. R=clemensh@chromium.org BUG=v8:7424 Change-Id: Ifab5995aa95250d6fae60ef5debb98aee2b6fc0c Reviewed-on: https://chromium-review.googlesource.com/1089067 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53578}
-
- 05 Jun, 2018 1 commit
-
-
Igor Sheludko authored
This CL introduces a new gn argument: v8_enable_pointer_compression which is false by default. All the changes done in this CL are made under this flag. Upper half-word of a Smi word must be properly sign-extended according to the sign of the lower-half containing the actual Smi value. Bug: v8:7703 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I2b52ab49cd18c7c613130705de445fef44c30ac5 Reviewed-on: https://chromium-review.googlesource.com/1061175Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53519}
-
- 18 May, 2018 1 commit
-
-
Vincent Belliard authored
For AArch64, clean correctly the pools when the compilation is aborted Bug: v8:6600 Change-Id: I4bacdbeae49290ece0ce1bf47319bf7076fec37c Reviewed-on: https://chromium-review.googlesource.com/1066151 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53263}
-
- 14 May, 2018 1 commit
-
-
Predrag Rudic authored
Change-Id: I1815de5bc5fc955014cba8099e8c704a23a2e9be Reviewed-on: https://chromium-review.googlesource.com/1044187Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53148}
-
- 09 May, 2018 2 commits
-
-
Clemens Hammacher authored
As SSCA mitigation, use retpoline for each indirect call. We currently only support retpolines on ia32 and x64. R=titzer@chromium.org Bug: v8:6600, chromium:798964 Change-Id: I32472c15e149977b00bf923f4d87e259b7b54800 Reviewed-on: https://chromium-review.googlesource.com/1052113Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53108}
-
Clemens Hammacher authored
The comment in {CallRuntime} was misleading. The {rsi}/{esi} register did not hold the instance, but the context instead. The generated code was correct thought. R=titzer@chromium.org Change-Id: I18020a04ac75faedf7ad5e4b07cab27ae0aedae7 Reviewed-on: https://chromium-review.googlesource.com/1051232Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53088}
-
- 04 May, 2018 1 commit
-
-
Clemens Hammacher authored
On div and rem on ia32 and x64, we sometimes need to spill. If this spilling code happens inside of a branch, the cache state will reflect that the value was spilled, even though the actual spilling code might not have executed. R=titzer@chromium.org Bug: v8:6600, chromium:839800 Change-Id: I93b681a23119f903feb54235d6d44a7cbd5815fe Reviewed-on: https://chromium-review.googlesource.com/1044185Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52995}
-
- 03 May, 2018 1 commit
-
-
Clemens Hammacher authored
Now that wasm-linkage.h is split off, we can easily implement {MoveToReturnRegister} in platform independent code. R=titzer@chromium.org Bug: v8:6600 Change-Id: I072a0ee48d58ed29e0df489016f838915c3f2cb2 Reviewed-on: https://chromium-review.googlesource.com/1041690 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52939}
-
- 27 Apr, 2018 1 commit
-
-
Clemens Hammacher authored
This adds support for f64.min and f64.max, implemented on ia32, x64, mips and mips64. R=ahaas@chromium.org Bug: v8:6600 Change-Id: Ib4383df08692c76df5861fe71a96c4354fdf10c1 Reviewed-on: https://chromium-review.googlesource.com/1028235 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52838}
-