- 02 Mar, 2018 1 commit
-
-
Sigurd Schneider authored
This is a reland of b8bc26d0 Original change's description: > [turbofan] Preserve order of compares in switches > > This CL makes sure that control flow optimization does > not change the order of switches that ultimately get > lowered to a series of comparisons anyway. > > Bug: v8:7326 > Change-Id: If004de6b71a7e9504d37754c847ca108a64e49db > Reviewed-on: https://chromium-review.googlesource.com/941952 > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51679} Bug: v8:7326 Change-Id: Ifbe61dece499c98bbd49fa3ae9b99ccf4e955ddc Reviewed-on: https://chromium-review.googlesource.com/945770Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51691}
-
- 12 Jul, 2016 1 commit
-
-
epertoso authored
When trying to clone a branch, the ControlFlowOptimizer gave up as soon as it found a Phi/EffectPhi node that could not be placed directly below the IfTrue or IfFalse control paths. Moving the step in the EffectControlLinearizer phase, after the first schedule, works around the problem by looking at the successor blocks. BUG= Review-Url: https://codereview.chromium.org/2139593002 Cr-Commit-Position: refs/heads/master@{#37687}
-
- 10 Dec, 2015 1 commit
-
-
jarin authored
MachineType is now a class with two enum fields: - MachineRepresentation - MachineSemantic Both enums are usable on their own, and this change switches some places from using MachineType to use just MachineRepresentation. Most notably: - register allocator now uses just the representation. - Phi and Select nodes only refer to representations. Review URL: https://codereview.chromium.org/1513543003 Cr-Commit-Position: refs/heads/master@{#32738}
-
- 28 May, 2015 1 commit
-
-
bmeurer authored
The control flow optimization should work independent of the JSGraph. We used the JSGraph there because it was convinient, not because it was necessary. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1160863003 Cr-Commit-Position: refs/heads/master@{#28674}
-
- 26 May, 2015 1 commit
-
-
bmeurer authored
This simplifies the handling of the End node. Based on this CL we will finally fix terminating every loop from the beginning (via Terminate nodes) and fix inlining of Throw, Deoptimize and Terminate. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1157023002 Cr-Commit-Position: refs/heads/master@{#28620}
-
- 23 Apr, 2015 1 commit
-
-
bmeurer authored
Now all nodes that care about deoptimization always take frame state inputs no matter whether deoptimization is enabled for a particular function. In case that deoptimization is off, the AstGraphBuilder just inserts the empty frame state. This greatly simplifies the logic in various places and makes testing easier as well, and is probably the first step towards enabling --turbo-deoptimization by default. There seems to be no noticable performance impact on asm.js programs. Also fix the graph replay in order to regenerate the scheduler unittests. Review URL: https://codereview.chromium.org/1106613003 Cr-Commit-Position: refs/heads/master@{#28026}
-
- 20 Apr, 2015 1 commit
-
-
Ross McIlroy authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1088993003 Cr-Commit-Position: refs/heads/master@{#27937}
-
- 03 Mar, 2015 1 commit
-
-
bmeurer authored
Review URL: https://codereview.chromium.org/971223002 Cr-Commit-Position: refs/heads/master@{#26949}
-
- 24 Feb, 2015 1 commit
-
-
bmeurer authored
This implements a special case of block cloning to recognize constructs like if (a ? b : c) { ... } that happen to be generated by Emscripten quite often. Review URL: https://codereview.chromium.org/947963002 Cr-Commit-Position: refs/heads/master@{#26808}
-
- 17 Feb, 2015 1 commit
-
-
bmeurer authored
This adds a new ControlFlowOptimizer that - for now - recognizes chains of Branches generated by the SwitchBuilder for a subset of javascript switches into Switch nodes. Those Switch nodes are then lowered to either table or lookup switches. Also rename Case to IfValue (and introduce IfDefault) for consistency. BUG=v8:3872 LOG=n Review URL: https://codereview.chromium.org/931623002 Cr-Commit-Position: refs/heads/master@{#26691}
-