Commit Graph

18183 Commits

Author SHA1 Message Date
bmeurer@chromium.org
b1e9d99bb2 [turbofan] Refactor code generation for calls.
R=jarin@chromium.org
TEST=cctest

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 06:25:02 +00:00
weiliang.lin@intel.com
ef21aa93b7 X87: Move register conventions out of the IC classes.
port r23391.

original commit message:
  Move register conventions out of the IC classes.
  A change to a convention shouldn't require recompilation of ic.h/.cc.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 04:49:41 +00:00
machenbach@chromium.org
37f220c27f [Auto-roll] Bump up version to 3.29.19.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 22:34:12 +00:00
akos.palfi@imgtec.com
b9e0b90612 MIPS: Minor-key-ify new LoadICTrampolineStub.
Port r23409 (31a0d5ae)

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 19:35:48 +00:00
akos.palfi@imgtec.com
4f4e209fca MIPS: Added vector-based loadic hydrogen stubs. Not yet callable.
Port r23405 (12573f34)

Original commit message:
The next step is to integrate the use of vector[slot] into the IC
infrastructure so it can do the right thing for a vector-based ic.
Then these stubs can be installed. For now, they immediately bail out
to the miss handler.

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 19:34:15 +00:00
vogelheim@chromium.org
881b15a1ca Partial revert of r23415. Original message:
> Enable more tests that no longer fail with TF.

It looks like "V8 Win32 - 1" still has issues. Try to revert only the affected test.

BUG=
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 18:30:01 +00:00
balazs.kilvady@imgtec.com
6ff7b9ab0f MIPS: Move register conventions out of the IC classes.
Port r23391 (c3bf1dc)

Original commit message:
A change to a convention shouldn't require recompilation of ic.h/.cc.

BUG=
R=paul.lind@imgtec.com, vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 17:57:18 +00:00
balazs.kilvady@imgtec.com
6d08761317 MIPS: Minor-key-ify CallICStub and CallIC_ArrayStub.
Port r23403 (553b376)

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 17:43:13 +00:00
balazs.kilvady@imgtec.com
597a49ae51 MIPS: Change more PlatformCodeStubs to encode properties in the minor key.
Port r23394 (6366610)

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 17:38:41 +00:00
mstarzinger@chromium.org
f097880c12 Make filter for optimized code sharing finer.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 17:04:34 +00:00
rmcilroy@chromium.org
defea14cfb Fix external snapshot reading by removing an assumption that strings in the snapshot file are null-terminated.
R=vogelheim@chromium.org

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

Patch from André Baixo <baixo@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 16:56:49 +00:00
mstarzinger@chromium.org
b250a99031 Enable more tests that no longer fail with TF.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 16:42:09 +00:00
verwaest@chromium.org
fa70f154b7 Remove dead code from LookupResult
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 16:32:51 +00:00
titzer@chromium.org
9a9f95f4e4 Try again to fix Win32.
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 16:23:37 +00:00
titzer@chromium.org
dbe2a0665b Fix win32.
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 15:35:26 +00:00
titzer@chromium.org
6bbf6c5cb0 Schedule floating control.
This CL makes several changes to the scheduling algorithm to handle control
flow that is not connected to End. Such control nodes constitute "floating
control islands" that must be linearized by the schedule. This is done
by considering such nodes to be schedulable, and then editing the control
dependencies after a first pass of scheduling. Then a subsequent pass of
scheduling will place all nodes correctly into the fully connected graph.

R=mstarzinger@chromium.org, rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 15:25:07 +00:00
mstarzinger@chromium.org
ecca77ce76 Move context specialization flag into CompilationInfo.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 15:17:57 +00:00
mvstanton@chromium.org
d8b48c0a1d Minor-key-ify new LoadICTrampolineStub.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 14:56:35 +00:00
titzer@chromium.org
a4cdbfc43a Use an enum of Flags internally in CompilationInfo.
This is a first step in cleaning up CompilationInfo; a subsequent logical step
would be to inline most is_* and Set* and Mark* calls so that most callers
can use call info.SetFlag(CompilationInfo::kMyFlag), or at the very least,
rename them all to be consistent with their enum flag names.

R=yangguo@chromium.org, bmeuer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 14:41:58 +00:00
ulan@chromium.org
102b3bdad4 Fix ASAN after r23404.
TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 14:35:54 +00:00
mvstanton@chromium.org
5becf4b20d Compilation fix.
Unnecessary assert irritated builder.

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 14:26:10 +00:00
mvstanton@chromium.org
76e22ca629 Added vector-based loadic hydrogen stubs. Not yet callable.
The next step is to integrate the use of vector[slot] into the IC
infrastructure so it can do the right thing for a vector-based ic.
Then these stubs can be installed. For now, they immediately bail out
to the miss handler.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 14:12:47 +00:00
ulan@chromium.org
939f24b817 Handle empty allocation list in CodeRange properly.
BUG= 407566,v8:3540
LOG=Y
TEST=cctest/test-spaces/Regress3540
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:14:46 +00:00
yangguo@chromium.org
2e42f62981 Minor-key-ify CallICStub and CallIC_ArrayStub.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:10:01 +00:00
titzer@chromium.org
261b142fc0 Introduce subclass wrappers for STL containers that make them a lot easier
to use with Zone. For example, subclasses add constructors that wrap a Zone
in a zone_allocator to save clients this verbosity.

R=bmeurer@chromium.org, mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:09:08 +00:00
mstarzinger@chromium.org
88a842d628 Fix and re-enable test-api/InitializeAndDispose.
R=svenpanne@chromium.org
TEST=cctest/test-api/InitializeAndDispose

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:07:18 +00:00
loislo@chromium.org
7e6f653792 HeapProfiler: remove obsolete AddImplicitReferences
it hasn't been used since r149579. More than one year ago.

BUG=
R=marja@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:05:54 +00:00
verwaest@chromium.org
5164b9a473 Delete unused DescriptorArray::Append with whitenesswitness
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:01:55 +00:00
verwaest@chromium.org
2a37ab79ad Fixed inlining of constant values
Use CopyToRepresentation to elide HForceRepresentation of HConstant

BUG=v8:3529
LOG=y
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 11:34:25 +00:00
machenbach@chromium.org
f5af44f44f [Auto-roll] Bump up version to 3.29.18.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 11:04:37 +00:00
vogelheim@chromium.org
c53097a632 Fix memory leak. Make "V8 Linux - memcheck" build bot happy.
Flags::SetFlagsFromCommandLine allocates memory to hold copies of string
arguments when calling Flag::set_string_value(..., true) and presently
noone deallocates this. Resetting the flags will clear this memory.
Since Flags can be used throughout the entire V8 lifetime,
Dispose/Teardown seems like the right location to free this
memory.

This is rarely a problem in practice, but the memcheck buildbot (rightly)
complains.

BUG=
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 11:00:57 +00:00
yangguo@chromium.org
a6e503ad92 Change more PlatformCodeStubs to encode properties in the minor key.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 10:39:20 +00:00
bmeurer@chromium.org
630a8a7038 Next attempt to fix NaCl build.
TBR=yangguo@chromium.org

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 10:29:51 +00:00
yangguo@chromium.org
578bff3be0 Enable mjsunit/deserialize-reference for turbofan.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:56:23 +00:00
mvstanton@chromium.org
295448a4ea Move register conventions out of the IC classes.
A change to a convention shouldn't require recompilation of ic.h/.cc.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:50:09 +00:00
bmeurer@chromium.org
6ef5474c49 Fix build with ancient NaCl toolchain.
TBR=yanggou@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:48:46 +00:00
bmeurer@chromium.org
90c8932596 Replace our homegrown ARRAY_SIZE() with Chrome's arraysize().
Our own ARRAY_SIZE() was pretty bad at error checking. If you use
arrasize() in a wrong way, the compiler will issue an error instead of
silently doing the wrong thing. The previous ARRAY_SIZE() macro is still
available as ARRAYSIZE_UNSAFE() similar to Chrome.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:19:24 +00:00
mstarzinger@chromium.org
0d7f69aac5 Enable test cases that no longer timeout.
R=bmeurer@chromium.org
BUG=v8:3522,v8:3526
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:44:25 +00:00
bmeurer@chromium.org
279d74d3cf [turbofan] Get rid of DefineAsDoubleRegister() and friends.
TEST=compiler-unittests,cctest,mjsunit
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:30:18 +00:00
bmeurer@chromium.org
3e188ace5c [turbofan] Add backend support for load/store float32 values.
This is the bare minimum required to support typed arrays. Support for
working with float32 values will be added based on this.

TEST=compiler-unittests,cctest
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:29:12 +00:00
machenbach@chromium.org
fa908676c7 Revert "Enable C++11 tests on windows."
This reverts commit 23383 because XP bots time out.

TBR=svenpanne@chromium.org
BUG=400033
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:24:27 +00:00
machenbach@chromium.org
48bf3a1065 Whitespace change to verify MSVS2013 transition.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 07:22:46 +00:00
machenbach@chromium.org
46bd2aff47 Enable C++11 tests on windows.
TBR=svenpanne@chromium.org
BUG=400033
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 07:00:44 +00:00
weiliang.lin@intel.com
beec274d40 X87: Eliminate code duplication in lithium calls to vector-based LoadICs
port r23359.

original commit message:
  Eliminate code duplication in lithium calls to vector-based LoadICs

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 06:16:14 +00:00
weiliang.lin@intel.com
b5972802b1 X87: Move "slow handler" compiler code to handler-compiler
port r23347.

original commit message:

 Move "slow handler" compiler code to handler-compiler

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 05:25:36 +00:00
weiliang.lin@intel.com
8681a11022 X87: Move handler compilers to handler-compiler
port r23346.

original commit message:
  Move handler compilers to handler-compiler

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 03:56:24 +00:00
machenbach@chromium.org
801129919e Teach chromium_roll script to roll v8 git hashes.
TEST=script_test.py
R=hinoka@google.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 20:04:23 +00:00
balazs.kilvady@imgtec.com
62c53bcedd MIPS: Eliminate code duplication in lithium calls to vector-based LoadICs.
Port r23359 (2e682e9)

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 18:25:58 +00:00
balazs.kilvady@imgtec.com
0a67c5b85b MIPS: Encode CEntryStub properties in the minor key.
Port r23355 (1be1443)

Original commit message:
Eventually, all stubs should encode its properties in the minor key
so that stubs can be restored directly from the stub key.

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 18:07:09 +00:00
mstarzinger@chromium.org
bf71b5ab69 Enable TurboFan deopts for test-heap/NextCodeLinkIsWeak.
R=jarin@chromium.org
TEST=cctest/test-heap/NextCodeLinkIsWeak

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 16:39:25 +00:00