- 17 Jul, 2019 1 commit
-
-
Tobias Tebbi authored
This adds a simple counter to Turbofan that's incremented throughout the compilation, hopefully frequently enough so we can use it to detect divergence and performance bugs. In addition, we assert that this counter never gets too high. That's the equivalent of a simple timeout, just more deterministic. The limitations on Turbofan input size should guarantee that we never exceed this limit. Since we probably do exceed it rarely, this check is only a DCHECK and intended to detect performance and divergence issues, but not supposed to be performed in release builds. In addition, this CL adds UMA stats to observe the real world distribution of the tick measurement. Bug: v8:9444 Change-Id: I182dac6ecac64715e3f5885ff5c7c17549351cd0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695475 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#62754}
-
- 02 Mar, 2018 3 commits
-
-
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}
-
Sigurd Schneider authored
This reverts commit b8bc26d0. Reason for revert: may break node.js integration 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} TBR=jarin@chromium.org,sigurds@chromium.org,bmeurer@chromium.org Change-Id: Ideb551e0831c686dc7c247b77f59ff3485c30181 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7326 Reviewed-on: https://chromium-review.googlesource.com/945768Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51681}
-
Sigurd Schneider authored
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/941952Reviewed-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}
-
- 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}
-
- 24 Sep, 2015 1 commit
-
-
mstarzinger authored
This introduces the NodeProperties::ChangeOp helper which guards node operator changes so that additional checking can be done without any additional dependencies being pulled into the Node class. For now only the input count is checked, but additional checking might follow. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1366753003 Cr-Commit-Position: refs/heads/master@{#30916}
-
- 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}
-
- 07 Apr, 2015 1 commit
-
-
titzer authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1054963002 Cr-Commit-Position: refs/heads/master@{#27613}
-
- 24 Mar, 2015 1 commit
-
-
titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1032553006 Cr-Commit-Position: refs/heads/master@{#27401}
-
- 03 Mar, 2015 1 commit
-
-
bmeurer authored
Review URL: https://codereview.chromium.org/971223002 Cr-Commit-Position: refs/heads/master@{#26949}
-
- 25 Feb, 2015 1 commit
-
-
bmeurer authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/929403004 Cr-Commit-Position: refs/heads/master@{#26840}
-
- 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}
-
- 18 Feb, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org TEST=unittests/NodePropertiesTest.CollectControlProjections Review URL: https://codereview.chromium.org/935033004 Cr-Commit-Position: refs/heads/master@{#26720}
-
- 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}
-