- 04 Jan, 2018 1 commit
-
-
Sathya Gunasekaran authored
This patch breaks out bailout reasons into two enum classes. This helps save 3 bits on the SharedFunctionInfo as we don't have to track the abort reasons. Change-Id: Ic2e7e7e32b0fa31491f1c6f0003a61390d68fd97 Reviewed-on: https://chromium-review.googlesource.com/848244Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#50364}
-
- 21 Dec, 2017 1 commit
-
-
Stephan Herhut authored
Bug: Change-Id: I785dd2fb839f8388e7389f4fe935cb983f6e81eb Reviewed-on: https://chromium-review.googlesource.com/803435Reviewed-by:
Daniel Clifford <danno@chromium.org> Commit-Queue: Stephan Herhut <herhut@google.com> Cr-Commit-Position: refs/heads/master@{#50264}
-
- 12 Dec, 2017 2 commits
-
-
Junliang Yan authored
Port 7a159da1 R=ishell@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I669b665d7ef00dc6dcc80936d460e12c80bc1eb6 Reviewed-on: https://chromium-review.googlesource.com/818123Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#50042}
-
Junliang Yan authored
Port 52ff3ae4 Original Commit Message: - Implement RunMicrotasks in CSA to prevent a potentially large number of jumps between C++ and JS code while consuming te queue. Appears to provide a ~60% speedup in microtask-heavy code, which from limited testing appears to scale linearly. The code-stub microtask pump bails out to the old C++ microtask pump if it encounters a CallHandlerInfo microtask, and remains in C++ for the remainder of the queue (returning to the JS/stub implementation after the bailed out queue is exhausted). - Add a variation of JSEntryStub which enters the new RunMicrotasks code stub. - Add a new RunMicrotasks helper to Execution, which uses the RunMicrotasks entry stub. R=caitp@igalia.com, joransiu@ca.ibm.com, jbarboza@ca.ibm.com BUG= LOG=N Change-Id: Ifa15ca19312bb92758e82d19c3e3fc0a8b908d82 Reviewed-on: https://chromium-review.googlesource.com/820197Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#50018}
-
- 08 Dec, 2017 2 commits
-
-
Michael Starzinger authored
Change-Id: I8485e7f11a1e105da79ea9bc99392c77666249ce Reviewed-on: https://chromium-review.googlesource.com/816894Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49958}
-
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 2 commits
-
-
Camillo Bruni authored
Bug: chromium:757467 Change-Id: I52f8100e0c8b4ac07e1f875e44cb468fa8ce572b Reviewed-on: https://chromium-review.googlesource.com/793611Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#49764}
-
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}
-
- 22 Nov, 2017 1 commit
-
-
Junliang Yan authored
Port a087abb0 Original Commit Message: There's not really a point in passing the resume_mode as parameter to the ResumeGenerator builtin. Instead we could as well just store the mode to the generator object directly. immediately so we don't need to move it there later. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jbarboza@ca.ibm.com BUG= LOG=N Change-Id: I85d064dad444443fa7ba9d6801e32e4048676ceb Reviewed-on: https://chromium-review.googlesource.com/783792Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#49588}
-
- 13 Nov, 2017 1 commit
-
-
Michael Starzinger authored
This fixes a corner-case where resuming a suspended generator would not perform stack overflow checks and hence cause the stack to grow without bounds. R=neis@chromium.org BUG=chromium:781583 Change-Id: Ib04116e489ac6b962cb821263860497abb57bbae Reviewed-on: https://chromium-review.googlesource.com/765953Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49327}
-
- 25 Oct, 2017 3 commits
-
-
Michael Starzinger authored
This is a reland of eeaffa9f Original change's description: > [objects] Introduce {CodeDataContainer} object type. > > This introduces the {CodeDataContainer} as a container for all mutable > fields associated with a {Code} object. For now only the kind-specific > flags are moved, but more fields can/will be moved gradually. The goal > is to make all fields in the {Code} header be immutable eventually. > > R=jarin@chromium.org > BUG=v8:6792 > > Change-Id: I2eeba893afaba877fb6117e1f18371898c3a175e > Reviewed-on: https://chromium-review.googlesource.com/732987 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48902} Bug: v8:6792 Change-Id: I31a127df4bb8ee5fedb4d73755df4deae6e1d352 Reviewed-on: https://chromium-review.googlesource.com/738109Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48928}
-
Michael Achenbach authored
This reverts commit eeaffa9f. Reason for revert: Breaks msan compile (uninitialized value in snapshot): https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/17824 Original change's description: > [objects] Introduce {CodeDataContainer} object type. > > This introduces the {CodeDataContainer} as a container for all mutable > fields associated with a {Code} object. For now only the kind-specific > flags are moved, but more fields can/will be moved gradually. The goal > is to make all fields in the {Code} header be immutable eventually. > > R=jarin@chromium.org > BUG=v8:6792 > > Change-Id: I2eeba893afaba877fb6117e1f18371898c3a175e > Reviewed-on: https://chromium-review.googlesource.com/732987 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48902} TBR=mstarzinger@chromium.org,jarin@chromium.org Change-Id: I74fe833b074752d640cff4aa4680f250e1bd8780 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6792 Reviewed-on: https://chromium-review.googlesource.com/738029Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48904}
-
Michael Starzinger authored
This introduces the {CodeDataContainer} as a container for all mutable fields associated with a {Code} object. For now only the kind-specific flags are moved, but more fields can/will be moved gradually. The goal is to make all fields in the {Code} header be immutable eventually. R=jarin@chromium.org BUG=v8:6792 Change-Id: I2eeba893afaba877fb6117e1f18371898c3a175e Reviewed-on: https://chromium-review.googlesource.com/732987Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48902}
-
- 24 Oct, 2017 1 commit
-
-
Clemens Hammacher authored
Before, the standard way to create a RegList was either: RegList list = (1 << 0) | (1 << 1) | ... or RegList list = rax.bit() | rdx.bit() | ... The first way allows to make the RegList constexpr, but needs comments to document which registers you are referring to, and it has no checks that all bits you set on the RegList actually belong to valid registers. The second one uses the symbolic names, hence is much more readable and makes it harder to construct invalid RegLists. It's not constexpr though, since the {bit()} method on the register types is not constexpr. This CL adds a constexpr accessor to get the code and bit of a constexpr Register, and adds a helper method to create a constexpr RegList like this: constexpr RegList list = Register::ListOf<rax, rdx, rdi>(); This new method is used in a number of places to test its applicability. Other uses of the old pattern remain and can be cleaned up later. R=tebbi@chromium.org Change-Id: Ie7b1d6342dc5f316dcfedd0363b3540ad5e7f413 Reviewed-on: https://chromium-review.googlesource.com/728026 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#48887}
-
- 20 Oct, 2017 1 commit
-
-
Toon Verwaest authored
Bug: Change-Id: I67cfd5634e86472425c161b461684bd975e58a41 Reviewed-on: https://chromium-review.googlesource.com/730204 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48783}
-
- 18 Oct, 2017 5 commits
-
-
Junliang Yan authored
Fix lazy deserialization. ip needs to be the address of the calling function R=joransiu@ca.ibm.com, jbarboza@ca.ibm.com, michael_dawson@ca.ibm.com Bug: Change-Id: I0852d12328f9a0585c38afa5e121b8b4116520dc Reviewed-on: https://chromium-review.googlesource.com/726420Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#48704}
-
Toon Verwaest authored
Bug: v8:6921 Change-Id: I370b1c3f8fbf3f5478ac7779205083e05710ea15 Reviewed-on: https://chromium-review.googlesource.com/726081 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#48695}
-
Michael Starzinger authored
Now that {DeoptimizationOutputData} does not exists anymore we can rename {DeoptimizationInputData} to just {DeoptimizationData}. R=jarin@chromium.org Change-Id: Ib67967539d33714cc15e5d5b6dde522a9ede64b2 Reviewed-on: https://chromium-review.googlesource.com/725349Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48684}
-
Clemens Hammacher authored
This CL fixes all occurences that don't require special OWNER reviews, or can be reviewed by Michi. After this one, we should be able to reenable the readability/check cpplint check. R=mstarzinger@chromium.org Bug: v8:6837, v8:6921 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: Ic81d68d5534eaa795b7197fed5c41ed158361d62 Reviewed-on: https://chromium-review.googlesource.com/721120 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48670}
-
Leszek Swirski authored
Removes the interrupt check and runtime call to TryInstallOptimizedCode from the optimization marker checks (i.e. CompileLazy and InterpreterEntryTrampoline). Instead, we rely on the other interrupt sources (in particular stack checks at function entries and loop headers) to install optimized code for us. This will hopefully not cause regressions, as we have plenty of other interrupt checks, but it may delay optimized code execution for some function by one function call. Bug: v8:6933 Change-Id: Ieadfff7ae2078d2a84085294158ad9a706eb9c64 Reviewed-on: https://chromium-review.googlesource.com/723475Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#48667}
-
- 13 Oct, 2017 2 commits
-
-
John Barboza authored
New OWNERS jbarboza and mmallick and remove bjaideep. Bug: Change-Id: I3d7b8d13cad441bd60b1d598e5553716799ef739 Reviewed-on: https://chromium-review.googlesource.com/714136Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#48559}
-
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}
-
- 12 Oct, 2017 1 commit
-
-
Michael Starzinger authored
This switches all deoptimization events to go through use one single continuation builtin (i.e. {Builtins::kNotifyDeoptimized}) instead of handling builtin continuation specially. Fewer moving pieces. R=jarin@chromium.org Change-Id: Ic8a2316fa2f5c8717b4d50d1a619b87a38011564 Reviewed-on: https://chromium-review.googlesource.com/712156 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48496}
-
- 04 Oct, 2017 1 commit
-
-
Georgia Kouveli authored
Bug: v8:6644 Change-Id: I5cd713465563f2dc803b175684bf04a05559e653 Reviewed-on: https://chromium-review.googlesource.com/693239 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48285}
-
- 02 Oct, 2017 1 commit
-
-
Michael Starzinger authored
R=jarin@chromium.org Change-Id: I6f2e70d231d2c28c77bee121e98317f3f506fce4 Reviewed-on: https://chromium-review.googlesource.com/691975 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48263}
-
- 15 Sep, 2017 1 commit
-
-
Mike Stanton authored
Bug: v8:6409 Change-Id: I23b5c20022dcda5f46489596b3de4fb69be7e568 Reviewed-on: https://chromium-review.googlesource.com/660539 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#48037}
-
- 14 Sep, 2017 1 commit
-
-
Jaideep Bajwa authored
Port bc69f345 R=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I88f0167a43fb7eb7967169a84466de3aedf00125 Reviewed-on: https://chromium-review.googlesource.com/666299 Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48014}
-
- 11 Sep, 2017 2 commits
-
-
Jaideep Bajwa authored
R=joransiu@ca.ibm.com, jyan@ca.ibm.com BUG= LOG=N Change-Id: Ic3d594bd69d6979aeab46a655cfa4ef530d80d57 Reviewed-on: https://chromium-review.googlesource.com/661477Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47959}
-
Toon Verwaest authored
Bug: v8:5269 Change-Id: Ie649a83435f74b6dd705991c264085f28b12736c Reviewed-on: https://chromium-review.googlesource.com/655438 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#47948}
-
- 09 Sep, 2017 1 commit
-
-
Anisha Rohra authored
Port 9e995e12 Port 408f252b Up to now, each architecture defined all Register types as structs, with lots of redundancy. An often found comment noted that they cannot be classes due to initialization order problems. As these problems are gone with C++11 constexpr constants, I now tried making Registers classes again. All register types now inherit from RegisterBase, which provides a default set of methods and named constructors (like ::from_code, code(), bit(), is_valid(), ...). This design allows to guarantee an interesting property: Each register is either valid, or it's the no_reg register. There are no other invalid registers. This is guaranteed statically by the constexpr constructor, and dynamically by ::from_code. I decided to disallow the default constructor completely, so instead of "Register reg;" you now need "Register reg = no_reg;". This makes explicit how the Register is initialized. I did this change to the x64, ia32, arm, arm64, mips and mips64 ports. Overall, code got much more compact and more safe. In theory, it should also increase performance (since the is_valid() check is simpler), but this is probably not measurable. R=bjaideep@ca.ibm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I2e87efc8790290c64fd6c0a2d093326710b30ed3 Reviewed-on: https://chromium-review.googlesource.com/658065Reviewed-by:
Jaideep Bajwa <bjaideep@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47933}
-
- 07 Sep, 2017 2 commits
-
-
Jaideep Bajwa authored
Port e67420cb Original Commit Message: There are two main reasons to move DeserializeLazy to ASM: 1. We avoid complications around the distinction between Call/Construct cases by making sure relevant registers (e.g. new_target) remain unclobbered. 2. We can avoid the tail-call through CodeFactory::Call/Construct by jumping directly to the deserialized code object. R=jgruber@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:6624 LOG=N Change-Id: Idd9f1fd967d64e952f48e5b35d2d4b49a9c28007 Reviewed-on: https://chromium-review.googlesource.com/656502Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47908}
-
Jaideep Bajwa authored
This issue was exposed with this CL https://chromium-review.googlesource.com/c/v8/v8/+/654257 R=joransiu@ca.ibm.com, jyan@ca.ibm.com BUG= LOG=N Change-Id: I216bfc8079bf62a58f8e6c20d4ac9d22bc445b51 Reviewed-on: https://chromium-review.googlesource.com/656306Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47907}
-
- 06 Sep, 2017 2 commits
-
-
Anisha Rohra authored
Port 30f08f39 Always return to the InterpreterEntryTrampoline rather than calling the InterpreterExitTrampoline from the Return bytecode handler. This fixes a regression which occured if we upset the call/return stack by skipping the return to the InterpreterEntryTrampoline from the return bytecode handler. R=bjaideep@ca.ibm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Id2bae444e72cd7ddfb74f4861fc2c4f7b5e9bda5 Reviewed-on: https://chromium-review.googlesource.com/653618Reviewed-by:
Jaideep Bajwa <bjaideep@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47858}
-
Anisha Rohra authored
Port f0acede9 This CL removes the weak-list of JS functions from the context and all the code that iterares over it. This list was being used mainly during deoptimization (for code unlinking) and during garbage collection. Removing it will improve performance of programs that create many closures and trigger many scavenge GC cycles. No extra work is required during garbage collection. However, given that we no longer unlink code from JS functions during deoptimization, we leave it as it is, and on its next activation we check whether the mark_for_deoptimization bit of that code is set, and if it is, than we unlink it and jump to lazy compiled code. This check happens in the prologue of every code object. We needed to change/remove the cctests that used to check something on this list. R=bjaideep@ca.ibm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I8007a837d43b6a339789cfd727e81ad7f4ac3ae1 Reviewed-on: https://chromium-review.googlesource.com/651891Reviewed-by:
Jaideep Bajwa <bjaideep@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47840}
-
- 29 Aug, 2017 1 commit
-
-
Jaideep Bajwa authored
Port 51a15140 Original Commit Message: This change adapts the Call bytecode handlers such that they don't require a stack frame. It does this by modifying the call bytecode handler to tail-call the Call or InterpreterPushArgsAndCall builtins. As a result, the callee function will return to the InterpreterEntryTrampoline when it returns (since this is the return address on the interpreter frame), which is adapted to dispatch to the next bytecode handler. The return bytecode handler is modified to tail-call a new InterpreterExitTramoline instead of returning to the InterpreterEntryTrampoline. Overall this significanlty reduces the amount of stack space required for interpreter frames, increasing the maximum depth of recursive calls from around 6000 to around 12,500 on x64. R=rmcilroy@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:753705 LOG=N Change-Id: Ieac490d82098c13741080061eda762d54baf8c04 Reviewed-on: https://chromium-review.googlesource.com/639315Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47694}
-
- 25 Aug, 2017 1 commit
-
-
Shiyu Zhang authored
The CPP builtins execute the same piece of code to prepare context before jumping into CEntryStub. By creating new ASM builtin to execute that common piece of code, ~7KB code size (tested on x64) of snapshot_blob.bin can be reduced without any negative performance impact. BUG= Change-Id: I744369e8723dcd902b61dc50645db66bea884441 Reviewed-on: https://chromium-review.googlesource.com/595119Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47590}
-
- 24 Aug, 2017 1 commit
-
-
Michael Starzinger authored
This introduces a {DebugAbort} machine-level operator as well as the corresponding {ArchDebugAbort} backend instruction. The goal of this is to speed up snapshot generation due to cheaper "CSA-asserts". R=jgruber@chromium.org BUG=v8:6688 Bug: v8:6688 Change-Id: If45f7da0652d4bb920c51ab7a7c41f9670434bbb Also-By: jgruber@chromium.org Reviewed-on: https://chromium-review.googlesource.com/628560Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47568}
-
- 23 Aug, 2017 2 commits
-
-
Jaideep Bajwa authored
The testcase was failing on BE, fix to use 32bit load before calling testbit. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com Log=N Bug: Change-Id: I075666b47dd90b6341ba7b4031cd4be96e8c1bf9 Reviewed-on: https://chromium-review.googlesource.com/628659Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#47556}
-
Ross McIlroy authored
> This reverts commit 42d3d36b. > > Original change's description: > > [Compiler] Remove code aging support. > > > > Code aging is no longer supported by any remaining compilers now > > that full codegen has been removed. This CL removes all vestiges of > > code aging. > > > > BUG=v8:6409 > > > > Change-Id: I945ebcc20c7c55120550c8ee36188bfa042ea65e > > Reviewed-on: https://chromium-review.googlesource.com/619153 > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Reviewed-by: Marja Hölttä <marja@chromium.org> > > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#47501} > > TBR=ulan@chromium.org,rmcilroy@chromium.org,marja@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,rodolph.perfetta@arm.com > > Change-Id: I9d8b2985e2d472697908270d93a35eb7ef9c88a8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: v8:6409 > Reviewed-on: https://chromium-review.googlesource.com/625998 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47506} TBR=ulan@chromium.org,rmcilroy@chromium.org,marja@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,rodolph.perfetta@arm.com Change-Id: I68785c6be7686e874b3848103e3a34483eaeb519 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6409 Reviewed-on: https://chromium-review.googlesource.com/625919Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47535}
-
- 22 Aug, 2017 1 commit
-
-
Ross McIlroy authored
This reverts commit a205117c. Reason for revert: breaks Arm64 Original change's description: > [Compiler] Remove code aging support. > > Code aging is no longer supported by any remaining compilers now > that full codegen has been removed. This CL removes all vestiges of > code aging. > > BUG=v8:6409 > > Change-Id: I945ebcc20c7c55120550c8ee36188bfa042ea65e > Reviewed-on: https://chromium-review.googlesource.com/619153 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47501} TBR=ulan@chromium.org,rmcilroy@chromium.org,marja@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,rodolph.perfetta@arm.com Change-Id: I9d8b2985e2d472697908270d93a35eb7ef9c88a8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6409 Reviewed-on: https://chromium-review.googlesource.com/625998Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47506}
-