- 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}
-
- 28 Jan, 2015 1 commit
-
-
mstarzinger authored
R=jarin@chromium.org TEST=mjsunit/regress/regress-crbug-451770 BUG=chromium:451770 LOG=N Review URL: https://codereview.chromium.org/880963002 Cr-Commit-Position: refs/heads/master@{#26305}
-
- 22 Jan, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org TEST=mjsunit/regress/regress-crbug-450642 BUG=chromium:450642 LOG=N Review URL: https://codereview.chromium.org/865833002 Cr-Commit-Position: refs/heads/master@{#26218}
-
- 14 Jan, 2015 1 commit
-
-
jarin authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/841443004 Cr-Commit-Position: refs/heads/master@{#26053}
-
- 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}
-
- 29 Oct, 2014 2 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
-
- 28 Oct, 2014 2 commits
-
-
bmeurer@chromium.org authored
Also add backend flags that tell whether integer division/modulus is generally safe, i.e. does not trap on overflow or divide by zero. TEST=unittests R=dcarney@chromium.org Review URL: https://codereview.chromium.org/681133004 Cr-Commit-Position: refs/heads/master@{#24942} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TEST=unittests R=dcarney@chromium.org Review URL: https://codereview.chromium.org/685723002 Cr-Commit-Position: refs/heads/master@{#24935} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Oct, 2014 1 commit
-
-
titzer@chromium.org authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/665223006 Cr-Commit-Position: refs/heads/master@{#24891} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Oct, 2014 1 commit
-
-
jarin@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/639883002 Cr-Commit-Position: refs/heads/master@{#24886} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Oct, 2014 2 commits
-
-
titzer@chromium.org authored
Terminate is need for non-terminating loops (NTLs) that can appear after optimizing control flow. It gathers the control and effect(s) from a NTL and connects them to end so that they are not dead-code removed. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/651843004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
- 14 Oct, 2014 1 commit
-
-
sigurds@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/649183003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Oct, 2014 1 commit
-
-
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
-
- 30 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
Also cleanup the interface, and make the parameter class/accessors explicit to work-around the type-unsafety of OpParameter<T>. TEST=compiler-unittests,cctest,mjsunit R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/613683002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Sep, 2014 1 commit
-
-
jarin@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/595863002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24289 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
-
- 04 Sep, 2014 2 commits
-
-
bmeurer@chromium.org authored
TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/544583002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Make Operator const-correct in preparation for allocating sharing Operators across different isolates (using LazyInstance). TEST=cctest,compiler-unittests,mjsunit R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/539933002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Sep, 2014 1 commit
-
-
sigurds@chromium.org authored
Reland fixes: - Verifier is now aware of sentinel value for FrameState chains. R=jarin@chromium.org Review URL: https://codereview.chromium.org/534573002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2014 3 commits
-
-
jarin@chromium.org authored
This reverts commit r23595. TBR=sigurds@chromium.org BUG= Review URL: https://codereview.chromium.org/528963002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sigurds@chromium.org authored
- Changes FrameState node to require a 5th input (use undefined as sentinel). - Adds outer_state pointer to FrameStateDescriptor. - Instruction selection dumps dependencies of FrameState chain into the instruction. - Code generator builds the translation for rec. FrameStates. (will require further integration tests) R=jarin@chromium.org Review URL: https://codereview.chromium.org/517323002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/526953004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Sep, 2014 1 commit
-
-
jarin@chromium.org authored
This adds context deoptimization to Turbofan and Crankshaft (also submitted separately as https://codereview.chromium.org/515723004/). The second patchset removes the deoptimization/continuation block from calls. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/522873002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Aug, 2014 1 commit
-
-
jarin@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/498493002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Aug, 2014 1 commit
-
-
jarin@chromium.org authored
Bunch of changes were necessary: - refactor attaching the frame states/lazy bailouts in AstGraphBuilder (essentialy reland of r23096), - attaching frame state to some JS nodes in a similar way to attaching context (this is quite ugly and we should take another look at this), - new bailout point for the debugger statement, - register allocation constraints for the frame states, - generating translations and deopt entries, attaching them to safepoints, - enabled one mjsunit test for debugger state that uses the generated frame state. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/492203002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Aug, 2014 2 commits
-
-
bmeurer@chromium.org authored
This affects arm64 and x64. Note that we do not yet optimize these conversions. Later we will add support for merging these conversion operators into other operations during instruction selection. TEST=cctest,compiler-unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/487723002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
-
titzer@chromium.org authored
Move some methods from OperatorProperties into Scheduler that are only related to scheduling. Now these methods take a Node* parameter, as decisions relating floating control need distinguish not just operators but nodes. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/474983003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
- 11 Aug, 2014 5 commits
-
-
jarin@chromium.org authored
This relands commit r23029 + adds missing lazy deopts for JSAdd operator inside VisitForInStatement. The added lazy deopt still refers to a bogus bailout id, but at least the graphs can be scheduled. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/450103004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
This reverts commit r23029. BUG= TBR=eisinger@chromium.org Review URL: https://codereview.chromium.org/460623002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
Deoptimizing binory operations, (Load|Store)(Property|Named), constructors. This also fixes safepoint lookup to account for lazily deoptimized code. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/453383002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
This reverts commit r23020. BUG= TBR=bmeurer@chromium.org Review URL: https://codereview.chromium.org/453363003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/444883006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Aug, 2014 1 commit
-
-
sigurds@chromium.org authored
* Move logic from NodeProperties to OperatorProperties when possible * Make NodeProperties delegeate to OperatorProperties git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jul, 2014 1 commit
-
-
danno@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/426233002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-