- 07 Mar, 2018 1 commit
-
-
Leszek Swirski authored
This was a shim for the non-I+TF codepath, which is now the only codepath (that still uses this tier-up mechanism anyway). There were a couple of places we were accidentally using it due to CompileLazy or deopts, so this also fixes those. Change-Id: I00a7fdf9fb5cf74844138dac62d01ceaaf192e17 Reviewed-on: https://chromium-review.googlesource.com/951490 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#51786}
-
- 05 Mar, 2018 3 commits
-
-
Marja Hölttä authored
Implement in-place weak reference handling in GC. Turn FeedbackVector::optimized_code_or_smi into an in-place weak reference (this is the only in-place weak reference at this point). (See bug for design doc.) BUG=v8:7308 TBR=yangguo@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I16d65dc768f10ed431252e23a0df07bee9063534 Reviewed-on: https://chromium-review.googlesource.com/948493 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#51731}
-
Sigurd Schneider authored
This reverts commit 07c1e641. Reason for revert: Breaks TSAN build. https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/19784 Original change's description: > [in-place weak refs] Add in-place weak references & migrate one WeakCell to it. > > Implement in-place weak reference handling in GC. > > Turn FeedbackVector::optimized_code_or_smi into an in-place weak reference (this > is the only in-place weak reference at this point). > > (See bug for design doc.) > > BUG=v8:7308 > > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: I0f9f992cb4ee0457c40b7c868317dfb607bfb906 > Reviewed-on: https://chromium-review.googlesource.com/873638 > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51722} TBR=ulan@chromium.org,marja@chromium.org,yangguo@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,ishell@chromium.org,bmeurer@chromium.org Change-Id: I75a7dd99fbfd2f5922a6c4d2000bea2adfdeac11 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7308 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/948522Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51723}
-
Marja Hölttä authored
Implement in-place weak reference handling in GC. Turn FeedbackVector::optimized_code_or_smi into an in-place weak reference (this is the only in-place weak reference at this point). (See bug for design doc.) BUG=v8:7308 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I0f9f992cb4ee0457c40b7c868317dfb607bfb906 Reviewed-on: https://chromium-review.googlesource.com/873638 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51722}
-
- 23 Feb, 2018 1 commit
-
-
Adam Klein authored
Since we only need to store 18 different function kinds, the bitfield approach was wasting space (requiring 11 bits). This patch replaces the bitfield with a regular enum, and updates all the FunctionKind predicates to use comparisons instead of bitwise ops. For the small amount of builtin code that depended upon being able to do masking to determine whether something is a class constructor, we still store two extra bits on FunctionKind, which are computed when the SFI is initialized. If this approach causes performance regressions (i.e., if it turns out that other code was implicitly depending on masking for fast checks), we can revert this or address it in other ways (e.g., by doing similar caching of repeated checks in the caller). This is a reland of 42667bab. Bug: v8:7310 Change-Id: I2ec54289ea687399c61d75b7aff2d849861a64f2 Reviewed-on: https://chromium-review.googlesource.com/934864Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#51534}
-
- 22 Feb, 2018 1 commit
-
-
Benedikt Meurer authored
This is preparatory cleanup work for eventually tracking the functions (rather than concrete closures) in the CALL_IC, also for builtins like the default PromiseCapability [[Resolve]] and [[Reject]] functions. It adds a new FeedbackCell type, which is used by JSFunctions consistently now to reference the feedback vector (or undefined if not the function is not compiled yet or is a native/asm.js function). This also changes the calling convention for FastNewClosure builtin and the JSCreateClosure operator in TurboFan to carry the FeedbackCell here instead of the parent FeedbackVector and the slot index. In addition we eliminate the now unused %InterpreterNewClosure runtime function. Bug: v8:2206, v8:7253, v8:7310 Change-Id: Ib4ce456e276e0273e57c163dcdd0b33abf863656 Reviewed-on: https://chromium-review.googlesource.com/928403 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#51474}
-
- 12 Feb, 2018 1 commit
-
-
Ross McIlroy authored
Moves generation of speculation poison to be based on the PC target vs the actual PC being executed. The speculation poison is generated in the prologue of the generated code if CompilationInfo::kGenerateSpeculationPoison is set. The result is stored in a known register, which can then be read using the SpeculationPoison machine node. Currently we need to ensure the SpeculationPoison node is scheduled right after the code prologue so that the poison register doesn't get clobbered. This is currently not verified, however it's only use is in RawMachineAssembler where it is manually scheduled early. The Ignition bytecode handlers are updated to use this speculation poison rather than one generated by comparing the target bytecode. BUG=chromium:798964 Change-Id: I2a3d0cfc694e88d7a8fe893282bd5082f693d5e2 Reviewed-on: https://chromium-review.googlesource.com/893160 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51229}
-
- 02 Feb, 2018 1 commit
-
-
Michael Starzinger authored
This makes sure that {JSFunction} invocations always load the code start address into the fixed {kJavaScriptCallCodeStartRegister} register. This allows us to perform PC-relative operations more effective. For now this only applies to code with {kCallJSFunction} linkage. R=jarin@chromium.org Change-Id: I16a32184c07f5e90b05114dff7530acf46c175f1 Reviewed-on: https://chromium-review.googlesource.com/888700 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#51063}
-
- 29 Jan, 2018 2 commits
-
-
Ross McIlroy authored
BUG=chromium:798964 Change-Id: I63c373ef3f27a3295fc79f5c82d78b5fd89a83da Reviewed-on: https://chromium-review.googlesource.com/888752 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50925}
-
Leszek Swirski authored
Wide suspends have a "wide" (or "extra-wide") bytecode at their offset, rather than the suspend itself, so they were failing the return check. Bug: chromium:805765 Change-Id: Iabfc2a2167d09eda2f6885d9100287aadcd8fee9 Reviewed-on: https://chromium-review.googlesource.com/887082Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#50923}
-
- 22 Jan, 2018 1 commit
-
-
Leszek Swirski authored
Instead of requiring the pattern that a SuspendGenerator must be followed by a Return, make SuspendGenerator return directly. This can, in the future, simplify some of the reasoning around generator suspends. Change-Id: I94c0156a89dc0e1c0bc306bc57acf766f3b4deb5 Reviewed-on: https://chromium-review.googlesource.com/857463Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#50748}
-
- 18 Jan, 2018 1 commit
-
-
Martyn Capewell authored
Rename csp to sp and remove support for the stack pointer abstraction and switching stack pointers. Bug: v8:6644 Change-Id: I616633aabc1cee9926249fe95ce6c37ed6544fe3 Reviewed-on: https://chromium-review.googlesource.com/870870Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#50687}
-
- 16 Jan, 2018 1 commit
-
-
Martyn Capewell authored
Remove remaining references to jssp, and return register to the allocator. Bug: v8:6644 Change-Id: Ia6938e6c9548cd45d8c9c12032920b32d3da3c4c Reviewed-on: https://chromium-review.googlesource.com/866747Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#50613}
-
- 13 Jan, 2018 1 commit
-
-
Michael Achenbach authored
This reverts commit 42667bab. Reason for revert: Breaks msvc compile: https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20msvc/builds/908 Original change's description: > Simplify FunctionKind, saving 4 bits in SharedFunctionInfo > > Since we only need to store 18 different function kinds, > the bitfield approach was wasting space (requiring 11 bits). > > This patch replaces the bitfield with a regular enum, and > updates all the FunctionKind predicates to use comparisons > instead of bitwise ops. > > For the small amount of builtin code that depended upon being > able to do masking to determine whether something is a class > constructor, we still store two extra bits on FunctionKind, > which are computed when the SFI is initialized. > > If this approach causes performance regressions (i.e., if it > turns out that other code was implicitly depending on masking > for fast checks), we can revert this or address it in > other ways (e.g., by doing similar caching of repeated checks > in the caller). > > Change-Id: Iebb3214f564ea8bd7b21e78fda33517d63247124 > Reviewed-on: https://chromium-review.googlesource.com/860896 > Commit-Queue: Adam Klein <adamk@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50559} TBR=adamk@chromium.org,gsathya@chromium.org Change-Id: I8e1faa0ca6213d1e70a00fcb417b1bfa35ebd643 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/866310Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50561}
-
- 12 Jan, 2018 1 commit
-
-
Adam Klein authored
Since we only need to store 18 different function kinds, the bitfield approach was wasting space (requiring 11 bits). This patch replaces the bitfield with a regular enum, and updates all the FunctionKind predicates to use comparisons instead of bitwise ops. For the small amount of builtin code that depended upon being able to do masking to determine whether something is a class constructor, we still store two extra bits on FunctionKind, which are computed when the SFI is initialized. If this approach causes performance regressions (i.e., if it turns out that other code was implicitly depending on masking for fast checks), we can revert this or address it in other ways (e.g., by doing similar caching of repeated checks in the caller). Change-Id: Iebb3214f564ea8bd7b21e78fda33517d63247124 Reviewed-on: https://chromium-review.googlesource.com/860896 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#50559}
-
- 11 Jan, 2018 1 commit
-
-
Martyn Capewell authored
This is a reland of 50baf934 This fixes the number of expected instructions in MaybeCallEntryHookDelayed, only exposed by nosnap tests. Original change's description: > [arm64] Switch jssp to csp > > Switch stack pointer to using csp directly, making jssp redundant. > > Bug: v8:6644 > Change-Id: I8e38eda50d56a25161b187c0a033608dd9f90239 > Reviewed-on: https://chromium-review.googlesource.com/860097 > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> > Cr-Commit-Position: refs/heads/master@{#50487} Bug: v8:6644 Change-Id: Ie9a969ccbf00fd7a7cff8f45b73cdb6bc4f17df9 Reviewed-on: https://chromium-review.googlesource.com/860639Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#50513}
-
- 10 Jan, 2018 2 commits
-
-
Adam Klein authored
This reverts commit 50baf934. Reason for revert: breaks arm64 nosnap debug tests: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/8418 Original change's description: > [arm64] Switch jssp to csp > > Switch stack pointer to using csp directly, making jssp redundant. > > Bug: v8:6644 > Change-Id: I8e38eda50d56a25161b187c0a033608dd9f90239 > Reviewed-on: https://chromium-review.googlesource.com/860097 > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> > Cr-Commit-Position: refs/heads/master@{#50487} TBR=martyn.capewell@arm.com,bmeurer@chromium.org Change-Id: I20015885e6029271ee6558509cdb92ff1a106e5f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6644 Reviewed-on: https://chromium-review.googlesource.com/860319Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#50488}
-
Martyn Capewell authored
Switch stack pointer to using csp directly, making jssp redundant. Bug: v8:6644 Change-Id: I8e38eda50d56a25161b187c0a033608dd9f90239 Reviewed-on: https://chromium-review.googlesource.com/860097Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#50487}
-
- 09 Jan, 2018 1 commit
-
-
Martyn Capewell authored
As they're now equal, simplify some TF opcodes by restoring jssp from csp on stack pointer switch. Also, remove some direct references to jssp. Bug: v8:6644 Change-Id: I20ee54fc0d536809a0aa72def43337f83cc91685 Reviewed-on: https://chromium-review.googlesource.com/857457Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#50462}
-
- 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 2 commits
-
-
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}
-
Georgia Kouveli authored
This patch updates the instruction selector and code generator to pad arguments for arm64 and drop an even number of slots when dropping the arguments. It also updates the builtins that handle arguments. These changes need to be made at the same time. It also adds some tests for forwarding varargs, as this was affected by the builtin changes and the existing tests did not catch all issues. Bug: v8:6644 Change-Id: I81318d1d1c9ab2568f84f2bb868d2a2d4cb56053 Reviewed-on: https://chromium-review.googlesource.com/829933 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50259}
-
- 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}
-
- 07 Dec, 2017 1 commit
-
-
Igor Sheludko authored
Bug: v8:7109 Change-Id: I9766d28998fca49b0d3e6dc9aca3cc19f0b42124 Reviewed-on: https://chromium-review.googlesource.com/809244Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#49925}
-
- 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}
-
- 16 Nov, 2017 1 commit
-
-
Benedikt Meurer authored
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. Drive-by-fix: On Intel allocate the generator to the new.target register immediately so we don't need to move it there later. Bug: v8:6344, v8:6354 Change-Id: I74e98cfffa2b3d72c43d8b6e9fdca03d01c9b4fa Reviewed-on: https://chromium-review.googlesource.com/774259Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49401}
-
- 15 Nov, 2017 2 commits
-
-
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 stub's frame) together with the arguments to pass to the constructor function (which belong to the frame of the constructor function). Those need to be separated so we can drop the arguments without messing up the alignment. Bug: v8:6644 Change-Id: I839a4ab9caf451623fbcf03dd8a8afe5879fef99 Reviewed-on: https://chromium-review.googlesource.com/771670Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#49391}
-
Georgia Kouveli authored
Add padding above arguments, as part of JSSP removal. Bug: v8:6644 Change-Id: Iee03c3c8cd6da3d62b0b4c86a12400a5fdfe99de Reviewed-on: https://chromium-review.googlesource.com/757136Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#49374}
-
- 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}
-
- 09 Nov, 2017 1 commit
-
-
Martyn Capewell authored
Align the claimed arguments in Generate_JSConstructStubGeneric by pushing an extra copy of the receiver as padding. Bug: v8:6644 Change-Id: I77e92624ff32c21c8f3f310176aa2576c756b56c Reviewed-on: https://chromium-review.googlesource.com/757098 Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49275}
-
- 01 Nov, 2017 1 commit
-
-
Martyn Capewell authored
Push cp in EnterFrame for CONSTRUCT type frames, in order to align the stack op, and adapt the users (Generate_JSBuiltinConstructStub*) to account for it. Then align the rest of the stack operations in Generate_JSBuiltinConstructStubHelper. Bug: v8:6644 Change-Id: I4ffca329d5838902f787a52ac0d362dfbf9174c6 Reviewed-on: https://chromium-review.googlesource.com/746923Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#49063}
-
- 27 Oct, 2017 1 commit
-
-
Georgia Kouveli authored
This moves the handling of the receiver and the final spread argument into Generate_InterpreterPushArgs and merges the stack allocation to a single claim operation for the whole argument setup. When we start padding arguments in TF, we will simply need to claim one extra slot and store padreg to it in Generate_InterpreterPushArgs (hence the remaining TODO). This also replaces the single use of Generate_CheckStackOverflow with Generate_StackOverflowCheck and removes the former. This change is also done for arm, ia32 and x64. Bug: v8:6644 Change-Id: I8d06dda96dbc4a6f219b73c711f894320c2f6cdf Reviewed-on: https://chromium-review.googlesource.com/738031 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49005}
-
- 25 Oct, 2017 4 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}
-
Georgia Kouveli authored
Bug: v8:6644 Change-Id: I47482fa15fa89b1d9cd6c943e89dcc543596de5d Reviewed-on: https://chromium-review.googlesource.com/738093Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#48917}
-
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}
-