Commit Graph

18467 Commits

Author SHA1 Message Date
jarin@chromium.org
d8414c57fe Reland "More aggressive reuse of spill slots in the register allocator."
This relands r23532 (https://codereview.chromium.org/310003003). Flakes seem unrelated.

TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-31 07:27:38 +00:00
machenbach@chromium.org
616572535b [Auto-roll] Bump up version to 3.29.33.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-30 18:34:16 +00:00
jarin@chromium.org
c0d3e1faed Revert "More aggressive reuse of spill slots in the register allocator."
This reverts commit r23532 for introducing bunch of flakes.

TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-30 17:21:04 +00:00
jarin@chromium.org
5fba4891de More aggressive reuse of spill slots in the register allocator.
Two improvements:
- At phi nodes, we now try to merge operands into one spill slot and
  then reuse the spill slot for the phi.
- After register allocation we merge disjoint spill slots.

With this change, I see about 4% improvement in zlib.

BUG=
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-30 15:50:24 +00:00
machenbach@chromium.org
630572a52b [Auto-roll] Bump up version to 3.29.32.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 22:04:14 +00:00
rodolph.perfetta@arm.com
bfd5fb0693 [turbofan] Allow unittest to call TruncateDoubleToI.
Switches stack pointer if necessary.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 18:46:30 +00:00
machenbach@chromium.org
62d0eaf36e [Auto-roll] Bump up version to 3.29.31.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 18:34:15 +00:00
m.m.capewell@googlemail.com
5336e356a2 [arm64] Fix order of decoder visitor add functions
AppendVisitor and PrependVisitor implementations were switched.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 15:42:51 +00:00
balazs.kilvady@imgtec.com
78da4a3bd2 MIPS: Refactoring InterfaceDescriptors away from code-stubs.h - external.
Port r23515 (fe0bdbf)

Original commit message:
Clean up and create seperation between the concept of a call descriptor and a
code stub interface descriptor. The former is just concerned with how to call,
but the latter has many extra hints related to code generation and
deoptimization for the implementation of a particular code stub.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 15:28:26 +00:00
balazs.kilvady@imgtec.com
de2c668db8 MIPS: Refactoring InterfaceDescriptors away from code-stubs.h - internal.
Port r23515 (fe0bdbf)

Original commit message:
Clean up and create seperation between the concept of a call descriptor and a
code stub interface descriptor. The former is just concerned with how to call,
but the latter has many extra hints related to code generation and
deoptimization for the implementation of a particular code stub.

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 15:25:41 +00:00
rmcilroy@chromium.org
bf81e33283 Fix missing bracket in gyp file from r23522.
TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 15:11:00 +00:00
rmcilroy@chromium.org
1e14742ed2 Properly separate host and target builds when using external natives.
R=rmcilroy@chromium.org, vogelheim@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 15:04:59 +00:00
mstarzinger@chromium.org
1047a48c0c Workaround to avoid generic lowering breaking branches.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 15:01:50 +00:00
bmeurer@chromium.org
e552ffc687 Revert "Move base library definitions from v8.gyp to base.gyp."
This reverts commit r23518 for breaking Blink bots.

TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 12:30:50 +00:00
mstarzinger@chromium.org
e019dc7414 Fix Node::ReplaceUses to handle unused nodes.
R=bmeurer@chromium.org
TEST=cctest/test-node/NodeUseIteratorReplaceNoUses

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 12:14:52 +00:00
bmeurer@chromium.org
5a37d2276f Move base library definitions from v8.gyp to base.gyp.
Less confusion is best confusion.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 11:18:50 +00:00
bmeurer@chromium.org
5992acc242 Merge base unit tests into src to be in line with Chrome.
We still need the test/base-unittests folder until the test driver is
updated to handle unittests without the boilerplate.

TEST=base-unittests
R=svenpanne@chromium.org
BUG=v8:3489
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 10:53:08 +00:00
mvstanton@chromium.org
9514d34e14 Refactoring InterfaceDescriptors away from code-stubs.h
Clean up and create seperation between the concept of a call descriptor and a
code stub interface descriptor. The former is just concerned with how to call,
but the latter has many extra hints related to code generation and
deoptimization for the implementation of a particular code stub.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 10:40:02 +00:00
rodolph.perfetta@arm.com
fb7e3c8f95 ARM64: re-enable turbofan tests.
The tests were already passing.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 09:49:50 +00:00
svenpanne@chromium.org
dfda8950de More PNaCL fixes (without GYP/Makefile tweaks)
This is basically https://codereview.chromium.org/513923005/ with a
few changes:

   * Makefile.nacl and v8.gyp are untouched.

   * MAP_NORESERVE-handling is more defensive.

   * Added ugly busy-wait emulation of sem_timedwait.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 09:39:28 +00:00
yangguo@chromium.org
8938126d1b Port fdlibm implementation for Math.sinh.
R=rtoy@chromium.org
BUG=v8:3493
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 09:32:51 +00:00
sigurds@chromium.org
9091e87d8f Add more inlining unit tests.
- Scheduler can inline a function with a loop.
- Inlining strict into non-strict works correctly.
- Inlining non-strict into strict works correctly.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 08:58:51 +00:00
machenbach@chromium.org
e97bf94175 [Auto-roll] Bump up version to 3.29.30.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 08:04:16 +00:00
bmeurer@chromium.org
8c26a93fb2 [turbofan] Use enum instead of bool for parameter.
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
2014-08-29 06:42:41 +00:00
bmeurer@chromium.org
804ef93d99 Fix windows build.
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 05:45:16 +00:00
bmeurer@chromium.org
ffbe019e22 Fix cctest/test-run-properties/TypedArrayLoad.
Note: The test failure was unrelated to the fact that it run on actual
ARM hardware, but it was failing because the test relied on undefined
and implementation defined behaviour of the C++ compiler.

TBR=mstarzinger@chromium.org
TEST=cctest

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 05:37:55 +00:00
bmeurer@chromium.org
b23abba7e5 [turbofan] Explicitly mark call sites as patchable.
TEST=cctest,mjsunit
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 05:00:55 +00:00
machenbach@chromium.org
19197378a8 [Auto-roll] Bump up version to 3.29.28.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 21:34:14 +00:00
mstarzinger@chromium.org
d0ea36cb5b Move constructors for [Element/Field]Access into AccessBuilder.
R=titzer@chromium.org
TEST=cctest/test-simplified-lowering

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 17:53:24 +00:00
mstarzinger@chromium.org
9faf9200ab Skip failing test on ARM after r23492.
TBR=vogelheim@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 17:46:33 +00:00
mstarzinger@chromium.org
7c6759e982 Fix test failures after r23492.
R=vogelheim@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 17:28:57 +00:00
machenbach@chromium.org
daf64af43c [Auto-roll] Bump up version to 3.29.26.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 15:34:15 +00:00
mstarzinger@chromium.org
b2548ebddf Skip Windows failure after r23492.
TBR=vogelheim@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 15:19:05 +00:00
machenbach@chromium.org
8aa7bb8a10 Let benchmark runner add summary traces.
BUG=374740
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 14:42:24 +00:00
mstarzinger@chromium.org
cc8cec354c Preliminary lowering of typed array loads in TF.
R=titzer@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 14:35:11 +00:00
titzer@chromium.org
d6831dbd4b Use TruncateFloat64ToInt32 instead of ChangeFloat64ToInt32 in lowering of simplified operators NumberToInt32/NumberToUint32.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 13:31:55 +00:00
titzer@chromium.org
496697df4e 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
2014-08-28 13:17:38 +00:00
sigurds@chromium.org
7bdba61b02 Simplify inlining now that the scheduler is smart(er).
* Only control adjustment is to move everything from the inlinee's
  start block to the block the call was in.
* Add a unit test to ensure that the scheduler actually picks the
  right order when placing the code.

R=mstarzinger@chromium.org, titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 12:18:25 +00:00
yangguo@chromium.org
6b1dd6b268 Fix rare access violation during JS heap serialization.
R=yangguo@chromium.org

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

Patch from Slava Chigrin <vchigrin@yandex-team.ru>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 11:45:20 +00:00
balazs.kilvady@imgtec.com
0b1e18c231 MIPS: Fix [de]serialize problem of root objects.
BUG
TEST=mjsunit/deserialize-reference
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 11:27:21 +00:00
machenbach@chromium.org
d124493d6d Add android tools to v8's deps.
BUG=408510
LOG=n
R=hinoka@google.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 11:09:46 +00:00
jarin@chromium.org
2e1295d4dc Disable running some instruction selector test on unsupported backends.
BUG=
R=jarin@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 11:06:26 +00:00
yangguo@chromium.org
0c38c7df64 Fix serialization references to Cell objects.
R=yangguo@chromium.org

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

Patch from Slava Chigrin <vchigrin@yandex-team.ru>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 10:51:43 +00:00
machenbach@chromium.org
514fcde2a3 Revert "Revert "Remove C++11-ism, until all bots support it.""
This reverts commit 1f07f57a4a13985f3a48b06d2848dd3bff165b4f.

AOSP bot is still not ready.

TBR=svenpanne@chromium.org,vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 09:20:49 +00:00
sigurds@chromium.org
6afb739efe Fix build.
GCC needs definitions for constant members (clang doesn't).

TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 08:47:11 +00:00
sigurds@chromium.org
e7817a9e54 Remove dependency from generic lowering on compilation info for determining strictness and builtins.
This makes the graphs compositional for inlining (i.e. we can now inline a strict function into a non-strict function, or vice versa).

1) Store strict mode as parameter in StoreNamed/StoreProperty.

R=mstarzinger@chromium.org, titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 08:39:24 +00:00
svenpanne@chromium.org
a0d5fa72c5 Fix disassembly redirection from stdout into a file.
Pass \n, \r and \t through OStream without escaping.

BUG=
R=svenpanne@chromium.org

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

Patch from Vyacheslav Egorov <vegorov@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 07:30:58 +00:00
yangguo@chromium.org
0748ee42db Sub-minor-key-ify seven HydrogenCodeStubs.
- FastCloneShallowObjectStub
- StringAddStub
- LoadFastElementStub
- StoreFastElementStub
- TransitionElementsKindStub
- ArrayConstructorStubBase
- InternalArrayConstructorStubBase

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 07:12:16 +00:00
yangguo@chromium.org
3cfef1e09e Sub-minor-key-ify four HydrogenCodeStubs.
- FastNewContextStub
- FastCloneShallowArrayStub
- ToBooleanStub
- ElementsTransitionAndStoreStub.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 07:02:53 +00:00
machenbach@chromium.org
33c28c7152 Reland "Enable C++11 tests on windows."
TBR=svenpanne@chromium.org
BUG=400033
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 07:01:56 +00:00