Commit Graph

9141 Commits

Author SHA1 Message Date
rossberg@chromium.org
cae6842a74 Undo some unintended changes from the Turbofan merge
R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/435423002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:19:32 +00:00
bmeurer@chromium.org
ee52dffb37 Another Win64 fix.
TBR=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/444643002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:06:17 +00:00
bmeurer@chromium.org
1709c81f3b Remove broken _WIN64 checks.
TBR=hpayer@chromium.org

Review URL: https://codereview.chromium.org/440863002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 12:38:19 +00:00
bmeurer@chromium.org
947899e1e1 Fix compilation on arm64.
TBR=hpayer@chromium.org

Review URL: https://codereview.chromium.org/435413002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 12:09:01 +00:00
bmeurer@chromium.org
70e7a119e6 Cleanup V8_TURBOFAN_TARGET definition.
Move to globals.h so we do no longer skip any number of
tests. Introduce V8_TURBOFAN_BACKEND, which is 1 if we
actually have a backend and want to compile it, but don't
run the tests.

R=titzer@chromium.org

Review URL: https://codereview.chromium.org/444503003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:53:32 +00:00
sigurds@chromium.org
77838cf522 Verifier must ensure that start and end node of graph are set.
BUG=
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/444583004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:42:57 +00:00
sigurds@chromium.org
8322577eeb Make start node a value input to parameter nodes.
BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/437183002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:47:39 +00:00
rodolph.perfetta@arm.com
14f175d2a7 ARM64: fixed a couple of typos in TF
BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/427713003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 15:17:19 +00:00
titzer@chromium.org
a638717dbe Add support for untagged LoadField, StoreField, LoadElement, and StoreElement simplfied operators. This is needed for untagged accesses of typed array backing stores and generally cleans up.
R=bmeurer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/439223004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 12:39:15 +00:00
bmeurer@chromium.org
d07a2eb806 Rename ASSERT* to DCHECK*.
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.

R=jochen@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/430503007

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
bmeurer@chromium.org
35f0976895 [turbofan] Support for combining branches with <Operation>WithOverflow.
Also unify the handling of binops in the InstructionSelector
backends.

TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/415403005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 08:18:37 +00:00
mstarzinger@chromium.org
f5b0a37485 Extend TF test coverage to unsupported targets.
R=titzer@chromium.org
TEST=all

Review URL: https://codereview.chromium.org/416233003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 13:51:23 +00:00
mstarzinger@chromium.org
c1f60c6c1f Paint the tree green for TF some more.
TBR=titzer@chromium.org

Review URL: https://codereview.chromium.org/434023003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 13:08:05 +00:00
bmeurer@chromium.org
ba12ca16a2 [turbofan] Add support for Int32SubWithOverflow.
TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/432373002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 12:18:20 +00:00
bmeurer@chromium.org
6161d4305d [arm] Unify instruction selector for Word32Neg.
Previously code generation for Word32Neg (implemented as Word32Xor
with -1) was somewhat adhoc and not complete. Now it's uniform
and supports the full range of operand2's.

TEST=cctest/test-instruction-selector-arm,cctest/test-run-machops
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/434923002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 11:14:47 +00:00
titzer@chromium.org
ee7f97c8a0 TF: Rename ConvertXToY machine operators to ChangeXToY.
R=bmeurer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/435923002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 10:54:58 +00:00
mstarzinger@chromium.org
204f1ce879 Extend TF test coverage to supported targets.
R=danno@google.com, titzer@chromium.org
TEST=all

Review URL: https://codereview.chromium.org/432313002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 10:47:01 +00:00
bmeurer@chromium.org
6ccb8704f2 [turbofan] Add Int32AddWithOverflow machine operator.
TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/436593002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 09:32:58 +00:00
mstarzinger@chromium.org
4491e0e12e Implement lowering of JSStoreContext to machine operators.
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/420073004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 09:23:07 +00:00
titzer@chromium.org
42fa27187e TF: Lowering representation changes to machine operators (WIP: need inline allocation for some). Move tests related to lowering representation changes into test-changes-lowering.cc.
R=bmeurer@chromium.org, bmeuer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/437583002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 08:16:19 +00:00
danno@chromium.org
d9900a2071 Fix Win64 build
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/434623003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 16:22:27 +00:00
mstarzinger@chromium.org
16692be6e4 Ensure environment does not contain nil values.
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/436553003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 15:19:41 +00:00
titzer@chromium.org
b7999fd2f5 TF: Clear upper bits of ConvertFloat64ToUint32 because Win64.
R=bmeurer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/436623002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 15:06:54 +00:00
titzer@chromium.org
b904441b10 TF: Disable Win64 as a TurboFan target until calling conventions are sorted out.
R=danno@chromium.org
BUG=

Review URL: https://codereview.chromium.org/423713003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 14:17:58 +00:00
mstarzinger@chromium.org
e4894b366a Unify InstanceofStub interface descriptors.
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/437483003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 12:07:30 +00:00
danno@chromium.org
218395ebaa Fix MIPS build: use stubbed-out TF implementation
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/426833005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:59:49 +00:00
titzer@chromium.org
d521ed2507 TF: Add ConvertFloat64ToUint32 and ConvertUint32ToFloat64 machine operators.
R=bmeurer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/431473004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:45:22 +00:00
mstarzinger@chromium.org
67388ea26a Implement lowering of JSLoadContext to machine operators.
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/433853002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:20:36 +00:00
svenpanne@chromium.org
337a7f61b2 Fixed a few space leaks.
TBR=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/430133002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 10:17:25 +00:00
bmeurer@chromium.org
7309abeadb Fix detection of UBFX in case of Word32And with immediate.
TBR=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/438563002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 09:57:59 +00:00
bmeurer@chromium.org
bcbb39e0ef Fix android debug build.
TBR=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/430123002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 09:30:16 +00:00
bmeurer@chromium.org
0eecf982f9 [arm] Add support for ROR. Refactor operand2 handling.
This was the last missing bit for full "flexible second operand" /
operand2 support on ARM.

TEST=cctest/test-instruction-selector-arm,cctest/test-run-machops
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/434553002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 07:44:29 +00:00
danno@chromium.org
252cb8ba6e Fix 64-bit VS2010 build
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/420033003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 16:21:36 +00:00
mstarzinger@chromium.org
18bd8cadc4 Fix build failures with LLVM-GCC 4.2 on Mac (moar).
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/429863004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 15:34:09 +00:00
titzer@chromium.org
e1cfb29d1e Fix more XCode build problems.
R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/425283002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 15:13:37 +00:00
mstarzinger@chromium.org
fffc8619be Fix build failures with LLVM-GCC 4.2 on Mac (again).
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/431633002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 15:11:40 +00:00
jarin@chromium.org
937ec78093 Another attempt to make Visual C++ happy.
BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/429903004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 15:06:50 +00:00
mstarzinger@chromium.org
2f676714c9 Fix build failures with LLVM-GCC 4.2 on Mac.
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/431613004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 14:45:41 +00:00
titzer@chromium.org
5fe7ec916e Fix references to GenericNode::Type that should be templatized
R=mstarzinger@chromium.org, mstarzinger
BUG=

Review URL: https://codereview.chromium.org/428233003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 14:41:39 +00:00
jarin@chromium.org
3596cccedf Add delete operators for Instruction to make Visual C++ happy.
BUG=
R=danno@chromium.org

Review URL: https://codereview.chromium.org/428223002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 14:36:15 +00:00
danno@chromium.org
a1383e2250 Land the Fan (disabled)
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
2014-07-30 13:54:45 +00:00