- 06 Nov, 2014 2 commits
-
-
bmeurer@chromium.org authored
This does the following optimization during ChangeLowering: ChangeTaggedToFloat64(JSToNumber(x)) => if IsSmi(x) then ChangeSmiToFloat64(x) else let y = JSToNumber(x) in if IsSmi(y) then ChangeSmiToFloat64(y) else LoadHeapNumberValue(y) Also cleanup/rearrange some code duplication in ChangeLowering. R=dcarney@chromium.org Review URL: https://codereview.chromium.org/703103003 Cr-Commit-Position: refs/heads/master@{#25195} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TEST=cctest/test-changes-lowering,mjsunit/asm,unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/704463004 Cr-Commit-Position: refs/heads/master@{#25180} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Nov, 2014 3 commits
-
-
titzer@chromium.org authored
R=mstarzinger@chromium.org, bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/694063005 Cr-Commit-Position: refs/heads/master@{#25110} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TEST=unittests R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/703473004 Cr-Commit-Position: refs/heads/master@{#25107} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/694353006 Cr-Commit-Position: refs/heads/master@{#25106} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Nov, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=cctest,mjsunit,unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/697663003 Cr-Commit-Position: refs/heads/master@{#25061} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Oct, 2014 1 commit
-
-
bmeurer@chromium.org authored
Also remove the LEA matching from x64, since it was never really effective. We'll optimize that once we're correct. TEST=cctest,unittests R=dcarney@chromium.org Review URL: https://codereview.chromium.org/652363006 Cr-Commit-Position: refs/heads/master@{#25024} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25024 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
-
- 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
-
- 16 Sep, 2014 1 commit
-
-
mstarzinger@chromium.org authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/562203004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=compiler-unittests,cctest R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/547233003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23864 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
-
- 05 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=cctest,compiler-unittests,mjsunit R=mstarzinger@chromium.org, titzer@chromium.org Review URL: https://codereview.chromium.org/545153002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
The "enum hack" (see Item 2 of "Effective C++") is the only known portable way to define constant integral values within template classes. Fixes the weird work-arounds required for certain GCC versions. R=jarin@chromium.org, rossberg@chromium.org Review URL: https://codereview.chromium.org/527603002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=compiler-unittests R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/517123004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Aug, 2014 1 commit
-
-
titzer@chromium.org authored
Add MachineSignature, which is an encapsulation of the machine types for parameters and return values in a graph. This utility will be used to simplify Linkage and fix representation inference to work with graphs where parameters and return values are something other than tagged. It will also make testing representation inference a lot easier, since we can then exactly nail down the machine types of parameters and returns. This CL also adds c-signature.h, which demonstrates how to convert C function signatures into MachineSignatures. The CSignatures will be used in tests to make it easier and simpler to codegen tests. R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/515173002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Aug, 2014 1 commit
-
-
titzer@chromium.org authored
Disable some changes tests on ARM64. Also, fix the changes lowering to not use the more expensive TruncateFloat64ToInt32, but to use ChangeFloat64ToInt32/ChangeFloat64ToUint32, as it was before. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/512753002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Aug, 2014 3 commits
-
-
bmeurer@chromium.org authored
Also refactor some common code in ChangeLowering. TEST=cctest,compiler-unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/488043002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TEST=compiler-unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/491433002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Fix ChangeLowering to use TruncateFloat64ToInt32. TEST=cctest,compiler-unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/484103002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23214 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 3 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
TBR=rossberg@chromium.org Review URL: https://codereview.chromium.org/485653002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23146 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
-
- 14 Aug, 2014 1 commit
-
-
titzer@chromium.org authored
MachineType now tracks both the representation and the value type of machine quantities and is used uniformly throughout TurboFan. These types can now express uint8, int8, uint16, and int16, i.e. signed and unsigned smallish integers. Note that currently only uint8 and uint16 are implemented in the TF backends. R=bmeurer@chromium.org, mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/470593002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Aug, 2014 3 commits
-
-
jochen@chromium.org authored
Breaks compilation on Mac64 | TEST=compiler-unittests | R=jarin@chromium.org | | Committed: https://code.google.com/p/v8/source/detail?r=23077 TBR=bmeurer@chromium.org,jarin@chromium.org LOG=n BUG=none Review URL: https://codereview.chromium.org/456843004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TEST=compiler-unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/466673004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
ChangeLowering is a Reducer to lower simplified change operators to machine subgraphs. This initial version supports ChangeBitToBool, ChangeBoolToBit, ChangeTaggedToFloat64 and ChangeInt32ToTagged. TEST=compiler-unittests/change-lowering-unittest BUG=v8:3489 LOG=n R=jarin@chromium.org Review URL: https://codereview.chromium.org/460593003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-