- 06 Oct, 2020 1 commit
-
-
Clemens Backes authored
This rewrites some more code to use GraphAssembler methods instead of manually creating and adding the nodes. To this end, we add three more methods to the GraphAssembler: UintPtrConstant, ProtectedStore, and ProtectedLoad. R=ahaas@chromium.org, tebbi@chromium.org Bug: v8:10123 Change-Id: I825137d4355d117d88e29063ab2ac68340883f77 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2445512 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#70338}
-
- 02 Oct, 2020 1 commit
-
-
Maya Lekova authored
This CL implements passing float parameters to fast API calls by using the existing representation conversions for double parameters and then truncating the double to a float. It also adds float/double tests for fast API calls. Bug: chromium:1052746 Change-Id: Ibb3ccd173b3807a515adbf38cebaa1cf8e2784b6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2436333Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#70277}
-
- 29 Sep, 2020 1 commit
-
-
Mike Stanton authored
Here is an alternate fix for chromium:1123379, which addresses a TODO. A callback is provided to the GraphAssembler when it's working on an unscheduled graph. In such cases, changed nodes in the main graph need to be revisited after change. The callback ensures that the GraphAssembler kicks that process off when necessary. Bug: chromium:1123379 Change-Id: I9d864c3390fbe670ee450152a67555dcbfa8f581 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2433924 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#70192}
-
- 28 Sep, 2020 1 commit
-
-
Santiago Aboy Solanes authored
Previously ToNumber could be called with an empty context. In a previous CL (https://crrev.com/c/v8/v8/+/2078580) we added DCHECKS to make sure that some paths were not using the empty context. Now we are doing the next step of adding a primitive to separate the cases. Small update from delphick@ to get the builtin descriptor right. Bug: v8:6949, v8:10933 Change-Id: Ie40b169f680f60a08eb26fac1fcfcef7d6169e65 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2428863 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#70162}
-
- 10 Sep, 2020 2 commits
-
-
Jakob Gruber authored
This is the final part of the tier-up commit series. It implements: - A prologue in NCI code objects that checks and acts upon the optimization marker. - Currently, handling is deferred to the InterpreterEntryTrampoline but this will change in the future. - The lifecycle is otherwise like Ignition-to-Turbofan; the runtime profiler marks a function for optimization, the next call to that function triggers optimization by calling into runtime, and the finished code object is installed both on the JSFunction and the optimized code cache. - The feedback vector's kOptimizedCodeWeakOrSmiOffset slot is currently reused for the mid-to-top tier up. Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Bug: v8:8888 Change-Id: Iff50b05ddcc68b25d7ed0f1e0d20af076a1522a0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2361466Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69808}
-
Sathya Gunasekaran authored
The dynamic map checks operator loads the feedback vector and performs map checks against each map and handler entry in the feedback against the incoming map and handler. Instead of emitting code to iterate over this feedback vector at runtime, we unroll this loop at compile time. The generated code is similar to this pseudocode: length = feedback_slot.length if length >= 4: goto labels[3] if length == 3: goto labels[2] if length == 2: goto labels[1] if length == 1: goto labels[0] labels[3]: map = load(feedback_slot, 6) if incoming_map == map goto handler_check(7) goto labels[2] labels[2]: map = load(feedback_slot, 4) if incoming_map == map goto handler_check(5) goto labels[1] labels[1]: map = load(feedback_slot, 2) if incoming_map == map goto handler_check(3) goto labels[0] labels[0]: map = load(feedback_slot, 0) if incoming_map == map goto handler_check(1) bailout handler_check (index): handler = load(feedback_slot, index) if incoming_handler == handler goto done deoptimize Bug: v8:10582, v8:9684 Change-Id: I64d64ff8eda664e4d476bf1b2612e26a344e98a6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339960 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69797}
-
- 24 Aug, 2020 1 commit
-
-
Jakob Gruber authored
Prior to this CL, one had to artificially insert a basic-block-terminating node after Unreachable. The common pattern was Unreachable(); Goto(&some_label); // Never reached but generates useless code. This CL improves usability by automatically merging Unreachable nodes to the end node, and terminating current effect/control. The updated pattern is just Unreachable(); or in cases where Turboprop must maintain a schedule: Unreachable(&some_label); Bug: v8:8888 Change-Id: I26a0b11b5e67252a6dc3584ae09ed06370f1eacc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2362690 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69531}
-
- 11 Aug, 2020 1 commit
-
-
Mythri A authored
We shouldn't spill weak pointers onto the stack when calling functions that can trigger GC. DynamicMapChecks operator was using feedback loaded from the feedback vector across the TryMigrateInstance function call. The feedback can be a weak pointer to receiver map for monomorphic cases and TryMigrateInstance can trigger a GC. This cl fixes it by holding a holding a strong reference to the feedback. Bug: v8:10774,v8:10582,v8:9684 Change-Id: Ia36f4d8ad46421ae570f41439bc1f0875081deee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336804Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#69338}
-
- 22 Jul, 2020 1 commit
-
-
Sathya Gunasekaran authored
This is used by the DynamicCheckMaps operator to indicate that the optimized code should not be thrown away, but instead should be re-run again, after healing the feedback. Bug: v8:10582, v8:9684 Change-Id: Ib2408ba0d1d1a6bf50b2031a5312c7a8cca08730 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2308334 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68997}
-
- 20 Jul, 2020 1 commit
-
-
Sathya Gunasekaran authored
This CL introduces a new operator that loads the feedback vector and checks against maps at runtime, rather than embedding the map directly in the generated code. A follow on CL will use this operator when generating code for named property access. Bug: v8:10582, v8:9684 Change-Id: I372a01586d3048427760f0cb27619a59afc3f59e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2241518Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#68930}
-
- 15 Jul, 2020 1 commit
-
-
Maya Lekova authored
This change adds a has_error parameter on the stack which allows the fast callback to report an error. In case this parameter is set to non-zero, the generated code calls the slow (default) callback, which can throw the exception. Bug: chromium:1052746 Change-Id: Ib11f6b0bef37d5eb1d04cd6d0a3ef59028dcc448 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2183929Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#68871}
-
- 30 Jun, 2020 1 commit
-
-
Jakob Kummerow authored
This patch does not include support for RTTs for i31ref yet. Bug: v8:7748 Change-Id: Ifbeb8e305c2d0a57e4d5d6be761d046e330e0da1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2273135 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#68613}
-
- 25 Jun, 2020 1 commit
-
-
Jakob Gruber authored
... and extend JS node wrapper functionality. Node wrappers now have accessors for value inputs and context/control/effect/frame-state inputs. Accessors are typed, although types aren't very meaningful so far (in current examples we only distinguish between Object/HeapObject). The following node kinds now take an additional feedback vector input, and use the new node wrapper functionality above: - CloneObject - CreateLiteralArray - CreateLiteralObject - CreateLiteralRegExp - GetIterator - GetTemplateObject - HasProperty - LoadProperty - StoreProperty Bug: v8:8888 Change-Id: I1eb33c078b11725a72ec983bbaa848b9a3c7b0d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2259936 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68538}
-
- 22 Jun, 2020 1 commit
-
-
Jakob Gruber authored
In native context independent code we cannot embed the (native context dependent) feedback vector as a constant. Instead, we will load it from the JSFunction once and pass it to all users. This CL makes this change for all unary operators. All other {binary,compare} operators will need similar work in the future. Bug: v8:8888 Change-Id: I4d49a6e0effc84dcdf3599814e5c2708b16bcc44 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2246576Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#68448}
-
- 08 Jun, 2020 1 commit
-
-
Clemens Backes authored
This is a little cleanup to use the {GraphAssembler} for implementing {TraceMemoryOperation}. The {GraphAssembler} needs to be extended by a straight-forward {StackSlot} method. R=tebbi@chromium.org CC=arobin@google.com Bug: v8:10123 Change-Id: Ic872870bfd8609bb09383a0458b5c08fd7586993 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2232556 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#68238}
-
- 15 May, 2020 1 commit
-
-
Georg Neis authored
GraphAssembler creates Phi nodes and creates additional inputs to them depending on how many jumps go there. If the typer decorator is active, it will type the Phi node at creation time. GraphAssembler was not aware of types (until recently it was not used while the graph is typed) and did not update the Phi type with each new input. This CL fixes that. Bug: chromium:1082704 Change-Id: Id94bcda752c7b3dc836eb2b6c6b55b1690185a09 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202978Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#67823}
-
- 07 May, 2020 1 commit
-
-
Nico Hartmann authored
The code generated by TurboFan was incorrect when comparing to non-oddball undetectables using abstract equality. In particular, %GetUndetectable() == %GetUndetectable() did not return false. Bug: chromium:1051008 Change-Id: Ib62adc72a20aa6cca9ef6499d5fe7429f04623cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2187498 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67647}
-
- 29 Apr, 2020 2 commits
-
-
Igor Sheludko authored
... and bottlenecks for C++, CSA, Torque, TurboFan and hand-written assembly. Bug: v8:10391 Change-Id: I62f8c6f9c934b2cd492e550b7c25f1078c2c6a71 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2134140 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#67479}
-
Tobias Tebbi authored
This is a reland of 43b885a8 This fixes another signed overflow in the unit test. Original change's description: > Reland "[turbofan][csa] optimize Smi untagging better" > > This is a reland of ff22ae80 > > Original change's description: > > [turbofan][csa] optimize Smi untagging better > > > > - Introduce new operator variants for signed right-shifts with the > > additional information that they always shift out zeros. > > - Use these new operators for Smi untagging. > > - Merge left-shifts with a preceding Smi-untagging shift. > > - Optimize comparisons of Smi-untagging shifts to operate on the > > unshifted word. > > - Optimize 64bit comparisons of values expanded from 32bit to use > > a 32bit comparison instead. > > - Change CodeStubAssembler::UntagSmi to first sign-extend and then > > right-shift to enable better address computations for Smi indices. > > > > Bug: v8:9962 > > Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#67378} > > Bug: v8:9962 > Change-Id: Ieab0755806c95fb50022eb17596fb0c95f36004c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2170001 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Auto-Submit: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67430} Bug: v8:9962 TBR: neis@chromium.org Change-Id: I79883db546bf37873b3727b8023ef688507091d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2169103 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#67464}
-
- 28 Apr, 2020 2 commits
-
-
Clemens Backes authored
This reverts commit 43b885a8. Reason for revert: Still fails on UBSan: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/10873 Original change's description: > Reland "[turbofan][csa] optimize Smi untagging better" > > This is a reland of ff22ae80 > > Original change's description: > > [turbofan][csa] optimize Smi untagging better > > > > - Introduce new operator variants for signed right-shifts with the > > additional information that they always shift out zeros. > > - Use these new operators for Smi untagging. > > - Merge left-shifts with a preceding Smi-untagging shift. > > - Optimize comparisons of Smi-untagging shifts to operate on the > > unshifted word. > > - Optimize 64bit comparisons of values expanded from 32bit to use > > a 32bit comparison instead. > > - Change CodeStubAssembler::UntagSmi to first sign-extend and then > > right-shift to enable better address computations for Smi indices. > > > > Bug: v8:9962 > > Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#67378} > > Bug: v8:9962 > Change-Id: Ieab0755806c95fb50022eb17596fb0c95f36004c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2170001 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Auto-Submit: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67430} TBR=neis@chromium.org,tebbi@chromium.org Change-Id: I49e19811ebcecb846f61291bc0c4a0d8b0bc4cff No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9962 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2168876Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67431}
-
Tobias Tebbi authored
This is a reland of ff22ae80 Original change's description: > [turbofan][csa] optimize Smi untagging better > > - Introduce new operator variants for signed right-shifts with the > additional information that they always shift out zeros. > - Use these new operators for Smi untagging. > - Merge left-shifts with a preceding Smi-untagging shift. > - Optimize comparisons of Smi-untagging shifts to operate on the > unshifted word. > - Optimize 64bit comparisons of values expanded from 32bit to use > a 32bit comparison instead. > - Change CodeStubAssembler::UntagSmi to first sign-extend and then > right-shift to enable better address computations for Smi indices. > > Bug: v8:9962 > Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67378} Bug: v8:9962 Change-Id: Ieab0755806c95fb50022eb17596fb0c95f36004c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2170001 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#67430}
-
- 24 Apr, 2020 2 commits
-
-
Bill Budge authored
This reverts commit ff22ae80. Reason for revert: new test fails on UBSAN https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/10831 Original change's description: > [turbofan][csa] optimize Smi untagging better > > - Introduce new operator variants for signed right-shifts with the > additional information that they always shift out zeros. > - Use these new operators for Smi untagging. > - Merge left-shifts with a preceding Smi-untagging shift. > - Optimize comparisons of Smi-untagging shifts to operate on the > unshifted word. > - Optimize 64bit comparisons of values expanded from 32bit to use > a 32bit comparison instead. > - Change CodeStubAssembler::UntagSmi to first sign-extend and then > right-shift to enable better address computations for Smi indices. > > Bug: v8:9962 > Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67378} TBR=neis@chromium.org,tebbi@chromium.org Change-Id: I2617d7a44e5ae33fd79322d37c8b722c00162d22 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9962 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2165873Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#67380}
-
Tobias Tebbi authored
- Introduce new operator variants for signed right-shifts with the additional information that they always shift out zeros. - Use these new operators for Smi untagging. - Merge left-shifts with a preceding Smi-untagging shift. - Optimize comparisons of Smi-untagging shifts to operate on the unshifted word. - Optimize 64bit comparisons of values expanded from 32bit to use a 32bit comparison instead. - Change CodeStubAssembler::UntagSmi to first sign-extend and then right-shift to enable better address computations for Smi indices. Bug: v8:9962 Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#67378}
-
- 31 Mar, 2020 1 commit
-
-
Junliang Yan authored
Drive-by: Fix a few BE related issue with ptr-compr enabled. Change-Id: Ic2ff9e69a42e65089a1c1544e5eba1833c2fd95e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2057355Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#66926}
-
- 17 Mar, 2020 1 commit
-
-
Clemens Backes authored
The macro is not needed, the same condition can also be expressed programmatically. Its name is misleading anyway, since it has nothing to do with the wasm64 proposal. Drive-by: Use GraphAssembler to implement {BuildF64CopySign}. R=jkummerow@chromium.org, tebbi@chromium.org Bug: v8:10123, v8:10155 Change-Id: I85238172037f08bd2e4d2d4564950759524f991a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105637Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66743}
-
- 06 Feb, 2020 1 commit
-
-
Clemens Backes authored
The LOAD_RAW and LOAD_RAW_NODE_OFFSET macros just call method on the GraphAssembler now, hence we can remove the macros and just do the calls directly. This reduces code complexity. R=jkummerow@chromium.org, tebbi@chromium.org Bug: v8:10123 Change-Id: I1d779969a14a52256eecb33007564eb190bdcff2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2039051 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66149}
-
- 23 Jan, 2020 1 commit
-
-
Jakob Gruber authored
Loop exits are marked automatically by the loop scope mechanism in combination with MergeState. Creating a LoopExitValue node explicitly created an invalid graph. Drive-by: Remove LoopExit{,Effect,Value} convenience methods. Bug: chromium:1044878,v8:9972 Change-Id: I6fb52a8463e5352b5a5b243f800a9eda47df9d5a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016593 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65949}
-
- 21 Jan, 2020 1 commit
-
-
Jakob Gruber authored
The most interesting part of this change is that try-catch patterns are now supported by graph assembler through TryCatchBuilder0. Bug: v8:9972 Change-Id: I6ef0d51d4a1973eb8a30a5072c630261860f0a05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1986000 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65874}
-
- 20 Jan, 2020 1 commit
-
-
Jakob Gruber authored
The loop peeling optimization requires all loop exits to be marked with {LoopExit,LoopExitEffect,LoopExitValue} nodes in order to peel the first loop iteration. Previously, the graph assembler only marked the default loop exit (taken once the loop condition evaluates to false). This CL adds more general support, such that all exits taken inside the loop body passed to a ForBuilder are automatically marked. We do this by tracking the current loop nesting level and a stack of loop headers inside the graph assembler, and creating marker nodes as needed inside MergeState. Bug: v8:9972,chromium:1038297 Change-Id: I1d0196ead55d6678880f8330c7cc7b8d4f2cea06 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2000740 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65861}
-
- 15 Jan, 2020 3 commits
-
-
Tobias Tebbi authored
Rename ToNumber to PlainPrimitiveToNumber since it must only be used on primitives, as we assume that it never throws and has no side effects. Change-Id: I78880545e58e46d38712f5ab75fe0b627ad178c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002394 Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65796}
-
Clemens Backes authored
This moves first parts of the wrapper generation to the GraphAssembler. We should migrate more code in follow-up CLs, and think about also computing the schedule in the GraphAssembler (once everything is migrated). This also removes the only uses of the controversial {HalfDiamond} construct, hence this is also removed in this CL. Plus a bug fix in the GraphAssembler::Call method, and a new method in GraphAssembler to load heap number values. R=jkummerow@chromium.org, tebbi@chromium.org Bug: v8:10123 Change-Id: Iac4661cdd50049cb73a2f305e280c1af6200729a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2000756Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65784}
-
Jakob Gruber authored
Native C++ arrays cannot have size 0 and thus need a dummy element when filled with variadic template args. std::array does not have this limitation and makes related code easier to read. Bug: v8:9972 Change-Id: I70304b55525bd67d966fa69c663a71c202245d14 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2000751 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#65774}
-
- 25 Dec, 2019 2 commits
-
-
Jakob Gruber authored
Tbr: mvstanton@chromium.org Bug: v8:9972 Change-Id: If491e37e43e2a639b452b7d5558baca75bca1791 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1973737 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#65556}
-
Jakob Gruber authored
Bug: v8:9972 Change-Id: I94a6a1a520de9da76a5de7bdcc19bd1b71b303cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1973736 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#65555}
-
- 23 Dec, 2019 1 commit
-
-
Tobias Tebbi authored
This enables using the GraphAssembler for Wasm. Change-Id: Id1f46db6cc05c9de6e878fb062434211a9c390ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1977160 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#65552}
-
- 18 Dec, 2019 1 commit
-
-
Jakob Gruber authored
Bug: v8:9972 Change-Id: Ic1d18586c92536575c9bf4e7b3d2758b44acab30 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1954389 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#65489}
-
- 16 Dec, 2019 1 commit
-
-
Santiago Aboy Solanes authored
This is a reland of c924f54e Reason: Added back a bitcast that was supposed to be redundant (but it wasn't) Changes can be seen from patchets 1..3. Original change's description: > [turbofan][ptr-compr] Remove redundant ChangeTaggedToCompressed > > The final goal is to eliminate it altogether. This CL just > eliminate the redundant ones. > > Bug: v8:7703 > Change-Id: If6e718c373fca7c65ce46c347533ec4550fbc444 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1950968 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65398} Bug: v8:7703 Change-Id: I099e67d0255d4ad5529a73b272df893069374136 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1965582Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#65454}
-
- 10 Dec, 2019 2 commits
-
-
Michael Achenbach authored
This reverts commit c924f54e. Reason for revert: Suspect for GPU failures: https://ci.chromium.org/p/v8/builders/ci/Linux%20V8%20FYI%20Release%20(NVIDIA)/7641 Original change's description: > [turbofan][ptr-compr] Remove redundant ChangeTaggedToCompressed > > The final goal is to eliminate it altogether. This CL just > eliminate the redundant ones. > > Bug: v8:7703 > Change-Id: If6e718c373fca7c65ce46c347533ec4550fbc444 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1950968 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65398} TBR=tebbi@chromium.org,solanes@chromium.org Change-Id: Id280d7b0a850e3aacd56f839a0fc36d02a88f34c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7703 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1960286Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#65403}
-
Santiago Aboy Solanes authored
The final goal is to eliminate it altogether. This CL just eliminate the redundant ones. Bug: v8:7703 Change-Id: If6e718c373fca7c65ce46c347533ec4550fbc444 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1950968Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#65398}
-
- 28 Nov, 2019 1 commit
-
-
Jakob Gruber authored
Ports are getting easier now. This one was fairly straightforward. Bug: v8:9972 Change-Id: I69c0566060523e505e30980cb1d3d9633da976b0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1940257 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#65246}
-