- 19 Dec, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:8477, v8:8562 Change-Id: I37361ded733d21a5814a2a23a4155d7e8b562446 Reviewed-on: https://chromium-review.googlesource.com/c/1384092Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58361}
-
- 07 Dec, 2018 1 commit
-
-
Daniel Clifford authored
Moving Frame-inspection functionality to Torque is a prerequisite for porting the CSA-based arguments code, which is a great candidate to simplify/cleanup with Torque. Change-Id: I1f4cb94cb357aae5864c2e84f3bf5a07549b27f8 Reviewed-on: https://chromium-review.googlesource.com/c/1357050 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58106}
-
- 29 May, 2018 1 commit
-
-
jgruber authored
The code slot of internal frames seems to be basically unused. As always, there are exceptions: 1. In elements.cc we check whether the current code object is the apply builtin. We can use a heap lookup through the frame's pc instead. 2. In isolate.cc we store a reference to the frame's code object to try and pack it into the minidump. This can safely be skipped. Remaining use-sites in frames.cc all skip INTERNAL frames by using the JavaScriptFrameIterator. Bug: v8:6666 Change-Id: I93c5035812838bbae5109415450915db12497b9c Reviewed-on: https://chromium-review.googlesource.com/1075047 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#53409}
-
- 16 Apr, 2018 1 commit
-
-
Michael Starzinger authored
This adds another fixed spill slot to the {WasmCompiledFrame} layout, holding a reference to the current {WasmInstanceObject}. This slot allows the stack walker to retrieve instances for WebAssembly frames without having each code object be coupled to an instance. Hence it enables sharing code across instances in the future. R=titzer@chromium.org BUG=v8:7424 Change-Id: I7fa095c6255754caf564edce4ee7e84dea666783 Reviewed-on: https://chromium-review.googlesource.com/1005516 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52626}
-
- 10 Apr, 2018 2 commits
-
-
Michael Starzinger authored
This is in preparation of using some of these constants to compute values for the Liftoff assembler that are themselves constexpr. R=clemensh@chromium.org Change-Id: I573ef4ca164e0107968e482996963fde9a3960b0 Reviewed-on: https://chromium-review.googlesource.com/1005056Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52527}
-
Sigurd Schneider authored
This CL adds a context slot to builtin continuation frames which stores the context, even for stub continuations. This context slot is used in NotifyDeoptimized to provide the JavaScript context. Bug: v8:7639 Change-Id: Ibdfe24141a759cda6d319db0933bea57919dc171 Reviewed-on: https://chromium-review.googlesource.com/1002776 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52522}
-
- 03 Apr, 2018 1 commit
-
-
Sigurd Schneider authored
Builtin continuation frames know their height now. This is prework to allow UnwindAndFindHandler to reconstructor the stack pointer for the ContinueToBuiltin trampoline. Bug: v8:7584 Change-Id: If1361f5bbac130c284cd46c0d39cc81e2df613d3 Reviewed-on: https://chromium-review.googlesource.com/983633Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52322}
-
- 08 Dec, 2017 1 commit
-
-
Martyn Capewell authored
Add an element of padding to the frame constructed by the deoptimiser when entering JSConstructStub, and update the non-arm64 backends such that the frames agree for normal and deopt entry. Bug: v8:6644 Change-Id: I99625e75760f0695b2389446c2ac3cac97c220f4 Reviewed-on: https://chromium-review.googlesource.com/814397Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#49954}
-
- 30 Nov, 2017 1 commit
-
-
Georgia Kouveli authored
Even though a previous patch made the number of slots pushed/claimed on the stack aligned, the boundary between frames was not a multiple of two slots as well. We were pushing the number of arguments (which belongs in the ArgumentAdaptor frame) together with the arguments to pass to the callee (which belong to the frame of the callee). Those need to be separated so we can drop the arguments without messing up the alignment. Bug: v8:6644 Change-Id: I259c58db33a7c2726e5a3c74bcd67496f607d1d0 Reviewed-on: https://chromium-review.googlesource.com/793047Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#49759}
-
- 13 Oct, 2017 1 commit
-
-
Georgia Kouveli authored
This is part of JSSP removal for arm64. The padding is needed so that the extra arguments, which are pushed separately from the rest of the arguments, will take up an even number of slots, to avoid copying the rest of the arguments one slot down. Bug: v8:6644 Change-Id: I00a8730c375e4b4cc8fa0c8b6372751f92754466 Reviewed-on: https://chromium-review.googlesource.com/713255 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#48547}
-
- 11 Oct, 2017 1 commit
-
-
Georgia Kouveli authored
Adds some necessary padding to ensure the frame is 16-byte aligned. We don't yet consider the bailout state, which will be handled separately. This patch also improves the code generated for ContinueTo*Builtin* stubs. Finally, it adds a test that checks the return value for Array.map in the case where a LAZY deopt results in a topmost builtin continuation frame - this is easy to break if the padding for the result is done incorrectly in NotifyBuiltinContinuation, but was not detected by existing tests. Bug: v8:6644 Change-Id: Id1a294950cdf535e2bfdb0ed27c67f077ec34f8a Reviewed-on: https://chromium-review.googlesource.com/704835 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48465}
-
- 28 Sep, 2017 1 commit
-
-
Martyn Capewell authored
Pair some stack ops so that they deal with an even numbers of registers, add padding around profile entry calls, and delete some unused macro assembler code. Bug: v8:6644 Change-Id: I5a5529f04738ba2a2fdb1b0d4ee93c567a3c504e Reviewed-on: https://chromium-review.googlesource.com/686823Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#48205}
-
- 22 Sep, 2017 1 commit
-
-
Georgia Kouveli authored
Add padding for the interpreter registers when needed, to make the interpreter frame a multiple of 16 bytes. The padding needs to be added in the InterpreterEntryTrampoline and when generating an interpreter frame in the deoptimizer. It also needs to be considered when calculating the size of the interpreter frame during OSR and stack unwinding. Bug: v8:6644 Change-Id: Icfec94079cf0785fc8a2506ff555b5f9e89e3d13 Reviewed-on: https://chromium-review.googlesource.com/664563 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#48121}
-
- 11 Aug, 2017 1 commit
-
-
Ross McIlroy authored
Removes the new.target slot from the interpreter's fixed frame. Instead adds a field to BytecodeArray to get the bytecode's incoming new.target or generator object register. The InterpreterEntryTrampoline then sets this register with the incoming new.target (or generator object) when the function is called. This register can be directly the new.target or generator object variable if they are LOCAL location, otherwise it is a temporary register which is then moved to the variable's location during the function prologue. This fixes a hack in the deoptimizer where we would set the new.target fixed slot to undefined in order to avoid extending it's lifetime through the optimized code - now it's just a standard register and can be optimized away as normal. Bug=v8:6644 Change-Id: Ieb8cc34cccefd9fb6634a90cbc77c6002a54f2ae Reviewed-on: https://chromium-review.googlesource.com/608966 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47320}
-
- 03 Aug, 2017 1 commit
-
-
Ben L. Titzer authored
R=mstarzinger@chromium.org Bug: Change-Id: I95acea7b33a6e5799399d0891b2a52103f5e4964 Reviewed-on: https://chromium-review.googlesource.com/598072Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47116}
-