Commit Graph

18388 Commits

Author SHA1 Message Date
m.m.capewell@googlemail.com
89cb23f3fd [turbofan] Add/sub ARM64 lhs immediate tests
Addition supports lhs immediates by commuting. Subtraction supports only zero
lhs immediates, through use of the zero register.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 13:41:19 +00:00
ulan@chromium.org
04d2830a89 Do not clear weak monomorphic IC after context disposal.
BUG=404020
LOG=Y
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 13:40:11 +00:00
jochen@chromium.org
bb41c50d4d Turn on job-based sweeping
Embedders that don't use a v8::Platform yet will have to do so.

BUG=v8:3104
LOG=y
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 12:54:22 +00:00
mstarzinger@chromium.org
bf3d436b57 Fix typed lowering of JSUnaryNot to work with graph reducer.
R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/UnaryNot[Effects]

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 12:17:43 +00:00
mvstanton@chromium.org
3a7b5b44c1 InterfaceDescriptor becomes CallInterfaceDescriptor.
There was no difference between these two classes in a hierarchical
relationship.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 12:15:25 +00:00
ulan@chromium.org
ae2b08f420 Trace idle notification.
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 12:06:16 +00:00
machenbach@chromium.org
9a57c544f8 [Auto-roll] Bump up version to 3.29.36.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 11:34:15 +00:00
mstarzinger@chromium.org
53f4203667 Fix assertion in JSLoadContext typer.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 11:17:39 +00:00
machenbach@chromium.org
fee7bcccca Add mapping of test groups to test driver.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 10:48:36 +00:00
bmeurer@chromium.org
b22724966b [turbofan] Merge compiler unit tests into src.
BUG=v8:3489
LOG=n
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 10:26:12 +00:00
bmeurer@chromium.org
40da0e5ee6 Use the "enum hack" to fix the SmiTagging constants.
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
2014-09-01 10:24:04 +00:00
jarin@chromium.org
5fe360b9cd Fix typo in math-hyperbolic test.
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 10:23:07 +00:00
yangguo@chromium.org
fa1bf00e6a Port fdlibm implementation for Math.cosh.
R=rtoy@chromium.org
BUG=v8:3494
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:36:00 +00:00
jarin@chromium.org
a668cd6fc8 Context deoptimization and removal of the deoptimization block in Turbofan
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
2014-09-01 09:31:14 +00:00
mvstanton@chromium.org
8786006022 Multiple stubs can point to the same calling convention.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:18:39 +00:00
bmeurer@chromium.org
58a5d15ba7 Merge heap unit tests into src.
Also rip out the unused runtime-unittests; will be added back on-demand.

BUG=v8:3489
LOG=n
R=ulan@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:12:50 +00:00
yangguo@chromium.org
7be66cf5d7 Do not expose termination exceptions to the Exception API.
R=verwaest@chromium.org
BUG=403509
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:11:44 +00:00
jarin@chromium.org
73da434b8e Fix manual allocation folding of RegExpConstructResult.
R=mstarzinger@chromium.org
BUG=409533
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 08:08:31 +00:00
svenpanne@chromium.org
db2f83ca01 Removed dead #define.
It used the wrong tests, anyway...

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 07:23:18 +00:00
bmeurer@chromium.org
4edcff907f Refactor libplatform unit tests to use GTest/GMock.
Also migrate them to src.

BUG=v8:3489
LOG=n
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 07:13:55 +00:00
machenbach@chromium.org
6cd03e7fb0 [Auto-roll] Bump up version to 3.29.34.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-31 10:04:16 +00:00
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