- 20 Feb, 2015 1 commit
-
-
mstarzinger authored
R=titzer@chromium.org,bmeurer@chromium.org Review URL: https://codereview.chromium.org/928213003 Cr-Commit-Position: refs/heads/master@{#26766}
-
- 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}
-
- 11 Feb, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org TEST=unittests/CommonOperatorTest Review URL: https://codereview.chromium.org/912393002 Cr-Commit-Position: refs/heads/master@{#26584}
-
- 09 Feb, 2015 1 commit
-
-
bmeurer authored
Adds Switch and Case operators to TurboFan and handles them appropriately in instruction selection and code generation. BUG=v8:3872 LOG=n Review URL: https://codereview.chromium.org/892513003 Cr-Commit-Position: refs/heads/master@{#26515}
-
- 27 Jan, 2015 1 commit
-
-
bmeurer authored
Up until now we used a special Terminate node to artifically connect non terminating loops to the End node, but this was kind of adhoc and didn't work for the CFG. So without all kinds of weird hacks, the end block in the CFG will not be connected to NTLs, which makes it impossible to compute post dominance / control dependence in the current setting. So instead of Terminate, we add a special Branch to NTLs, whose condition is the special Always node, which corresponds to True, except that it cannot be folded away. This way we don't need any special machinery in the scheduler, since it's just a regular Branch. R=titzer@chromium.org Review URL: https://codereview.chromium.org/875263004 Cr-Commit-Position: refs/heads/master@{#26294}
-
- 23 Dec, 2014 1 commit
-
-
bmeurer authored
TEST=cctest,unittests R=jochen@chromium.org Review URL: https://codereview.chromium.org/821913002 Cr-Commit-Position: refs/heads/master@{#25935}
-
- 22 Dec, 2014 1 commit
-
-
Benedikt Meurer authored
Following the Google/Chromium coding style wrt. virtual, OVERRIDE and FINAL specifications. TEST=unittests R=jochen@chromium.org Review URL: https://codereview.chromium.org/816453005 Cr-Commit-Position: refs/heads/master@{#25924}
-
- 29 Oct, 2014 3 commits
-
-
titzer@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/686213002 Cr-Commit-Position: refs/heads/master@{#24995} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
This is a first step to refactoring OperatorProperties out of existence. The next step is to inline OperatorProperties::GetXXXCount into the callers. R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/680313003 Cr-Commit-Position: refs/heads/master@{#24983} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TEST=mjsunit,unittests R=dcarney@chromium.org Review URL: https://codereview.chromium.org/691513002 Cr-Commit-Position: refs/heads/master@{#24980} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Oct, 2014 1 commit
-
-
bmeurer@chromium.org authored
Branch can now have an optional hint, when the condition is likely true or false, and if such a hint is present the other basic block will be marked as deferred and placed at the end of the function. We currently use this feature for tagging int32/uint32 in change lowering, and for load/store bounds checks in simplified lowering. TEST=cctest,unittests R=dcarney@chromium.org Review URL: https://codereview.chromium.org/642883003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Oct, 2014 1 commit
-
-
bmeurer@chromium.org authored
Those floating point constant operators require bitwise handling of their parameters, otherwise 0.0 equals -0.0. This is solved in a general way by adding new base::bit_equal_to and base::bit_hash function objects. TEST=unittests R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/636953002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Oct, 2014 2 commits
-
-
bmeurer@chromium.org authored
Also remove the now obsolete ControlEffect operator. TEST=cctest,mjsunit,unittests R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/620803003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
As per discussion on the V8 team, this is the place we want them to live, not following the Chrome Style Guide for this. BUG=v8:3489 LOG=y R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/615393002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
This adds Float32Constant, ChangeFloat32ToFloat64 and TruncateFloat64ToFloat32 operators. TEST=compiler-unittests BUG=v8:3589 LOG=n R=titzer@chromium.org Review URL: https://codereview.chromium.org/594493002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=compiler-unittests,cctest R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/565753004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=compiler-unittests,cctest R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/555283004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=compiler-unittests BUG=v8:3489 LOG=n R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/540823002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
BUG=v8:3489 LOG=n R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/530693002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
Adds new ValueEffect operator to ensure proper scheduling of AllocateHeapNumber call nodes. Also includes some refactoring to reduce code duplication. TEST=compiler-unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/481903002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Aug, 2014 2 commits
-
-
bmeurer@chromium.org authored
Fix the ChangeLowering to properly use ControlEffect nodes to turn the control output of IfTrue nodes into an effect input for the Load nodes, and to properly use Finish nodes to ensure that allocation and store were both performed prior to actually using the allocated heap number. TEST=compiler-unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/479163002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Also refactor the unit tests and add support to easily match DAGs using CaptureEq() matcher. TEST=compiler-unittests BUG=v8:3489 LOG=n R=jarin@chromium.org Review URL: https://codereview.chromium.org/480863002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-