Commit Graph

18640 Commits

Author SHA1 Message Date
mstarzinger@chromium.org
1823249261 Cleanup and simplify TurboFan generic lowering.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 14:49:07 +00:00
rossberg@chromium.org
c90c951b6c Fix tests
TBR=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 13:36:08 +00:00
rossberg@chromium.org
98dc857e2f Use unsigned type bitsets to limit undefined behaviour
R=bmeurer@chromium.org, svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 13:03:53 +00:00
yangguo@chromium.org
a5b4beffd0 Remove V8_HOST_CAN_READ_UNALIGNED and its uses.
R=jkummerow@chromium.org
BUG=chromium:412967
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 12:42:02 +00:00
bmeurer@chromium.org
578aeb0b0c [turbofan] Some common operators are globally shared singletons.
TEST=compiler-unittests,cctest
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 11:59:26 +00:00
mstarzinger@chromium.org
9a2ca5ed15 Enable typed pipeline on ARM and ARM64 for TurboFan.
R=bmeurer@chromium.org
BUG=v8:3553
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 11:32:05 +00:00
sigurds@chromium.org
4ec63ff97e Reland
- "Switch inlining to use simplified instead of machine loads."
- "Add copy support in inliner."

Reland fixes:
 - size_t conversion for 64bit arches
 - Don't call front() on empty vector
   (triggers assertion on windows)
 - turbo_inlining now implies turbo_types, as
   it requires simplified lowering.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 11:06:37 +00:00
jarin@chromium.org
e401262400 Reland "Change the order of arguments of the (One|Two)ByteSeqStringSetChar intrinsic."
This relands commit r23899.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 10:58:43 +00:00
yangguo@chromium.org
d6c7c3f875 Simplify test-debug/ProcessDebugMessagesThreaded and add debug output.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 10:47:32 +00:00
mstarzinger@chromium.org
ab27b867c5 Allow more runtime functions to accept Int32s instead of Smis.
R=yangguo@chromium.org
TEST=mjsunit/array-join

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 10:43:27 +00:00
v8-autoroll@chromium.org
3f1fc7796c [Auto-roll] Bump up version to 3.29.61.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 10:01:31 +00:00
baptiste.afsa@arm.com
bca9d01dc5 [turbofan] Tests and fixes for ARM64 load/store with immediate offset.
R=bmeurer@chromium.org, ulan@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 09:31:26 +00:00
baptiste.afsa@arm.com
42054156ce [turbofan] Fix double register swap in ARM and ARM64 backends.
R=bmeurer@chromium.org, mstarzinger@chromium.org
BUG=v8:3553
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 09:18:43 +00:00
marja@chromium.org
eb19fc013a Add script streaming API.
Blink will use this API to stream script data into V8 as the scripts
load. During loading, V8 can already parse the scripts. They will be then
compiled and executed when the loading is complete.

This is a reincarnation of https://codereview.chromium.org/366153002/
with fixes.

BUG=
R=jochen@chromium.org, rossberg@chromium.org, svenpanne@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 09:12:08 +00:00
bmeurer@chromium.org
4de58e49fd [arm] Disable --turbo-types by default instead of ignoring the flag.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 08:50:38 +00:00
jarin@chromium.org
bc0674d0a7 Revert "Change the order of arguments of the (One|Two)ByteSeqStringSetChar intrinsic."
This reverts commit r23899.

TBR=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 08:49:22 +00:00
jkummerow@chromium.org
b4375b77ec Fix Smi vs. HeapObject confusion in HConstants.
Representation and HType should agree with each other.

BUG=chromium:412215
LOG=y
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 08:44:14 +00:00
weiliang.lin@intel.com
9e9328bd56 X87: Eliminate Turbofan shims with CodeFactory
port r23877.

original commit message:

  Turbofan needs a code handle and a CallInterfaceDescriptor. At the same time we spread knowledge about how to create the initial IC code object too widely. Consolidate code creation and unify it with a descriptor via CodeFactory.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 08:43:27 +00:00
jarin@chromium.org
91e97f8371 Change the order of arguments of the (One|Two)ByteSeqStringSetChar intrinsic.
This makes the syntactic order consistent with the evaluation order.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 08:18:29 +00:00
weiliang.lin@intel.com
0ada8cfe03 X87: Added CallInterfaceDescriptors to all code stubs.
port r23854.

original commit message:

  Added CallInterfaceDescriptors to all code stubs. A handful
  of code stubs are too complex to be described this way, and
  they are encoded with the macro
  DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR().

  Along the way:
  * allowed inheritance of CallInterfaceDescriptors.
  * Defined static Register methods for some of the new
    CallInterfaceDescriptors. We could go a lot further here, but
    it doesn't have to be done immediately.
  * Added Representation arrays to some CallInterfaceDescriptors,
    especially where future hydrogen versions of the stubs could
    benefit from this knowledge.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 07:51:39 +00:00
bmeurer@chromium.org
78f3df63c6 [turbofan] Most simplified operators are globally shared singletons.
TEST=compiler-unittests,cctest
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 07:06:50 +00:00
weiliang.lin@intel.com
788c535476 X87: Rename ascii to one-byte where applicable.
port r23840.

original commit message:

  Rename ascii to one-byte where applicable.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 07:02:11 +00:00
weiliang.lin@intel.com
e3ab5b5824 X87: Get CallInterfaceDescriptor directly from CodeStub.
port r23778.

original commit message:

  Get CallInterfaceDescriptor directly from CodeStub.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 06:41:13 +00:00
bmeurer@chromium.org
baa5a2d623 Disable typed pipeline for non-turbofan arch's after r23859.
BUG=
R=bmeurer@chromium.org

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

Patch from Paul Lind <paul.lind@imgtec.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 05:49:01 +00:00
v8-autoroll@chromium.org
e709585e76 [Auto-roll] Bump up version to 3.29.60.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 05:01:15 +00:00
bmeurer@chromium.org
04a5401950 [turbofan] Mark operator constructors as const in MachineOperatorBuilder.
TEST=compiler-unittests
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 04:35:19 +00:00
weiliang.lin@intel.com
ad05a1db17 X87: Initialize CodeStubInterfaceDescriptor in the constructor.
port r23773.

original commit message:

  Initialize CodeStubInterfaceDescriptor in the constructor.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 02:12:15 +00:00
weiliang.lin@intel.com
77e53fc884 X87: Encapsulate megamorphic load/tail-call in hydrogen
port r23772.

original commit message:

  To aid vector-based load ic work, we need to be able to handle
  the megamorphic load case in hydrogen. A simple approach is to
  wrap the probe activity in a hydrogen instruction.

  The instruction is novel in that it always tail-calls away.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 01:39:25 +00:00
v8-autoroll@chromium.org
52eadef745 [Auto-roll] Bump up version to 3.29.58.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 20:31:35 +00:00
balazs.kilvady@imgtec.com
9f44180db7 MIPS: Turbofan needs a code handle and a CallInterfaceDescriptor.
Port r23877 (bd09296)

Original commit message:
At the same time we spread knowledge about how to create the initial IC code object too widely. Consolidate code creation and unify it with a descriptor via CodeFactory.

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 17:02:28 +00:00
mstarzinger@chromium.org
b930ef1012 Fix typed lowering of JSAdd on non-number inputs.
R=rossberg@chromium.org
TEST=mjsunit/regress/regress-3476

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 16:09:21 +00:00
jkummerow@chromium.org
9951770a30 Nuke support for running MSan without a simulator.
We've abandoned that approach. The ARM64 simulator is the only supported way of
running V8 under MSan.

R=jkummerow@chromium.org

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

Patch from Sergey Matveev <earthdok@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 15:19:17 +00:00
mstarzinger@chromium.org
d27e94818a Also disable typed pipeline on ARM after r23859.
R=ulan@chromium.org
BUG=v8:3553
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 15:13:59 +00:00
rossberg@chromium.org
0d2e95d45b Update test262-es6
R=yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 13:39:37 +00:00
mvstanton@chromium.org
af495313d4 Turbofan needs a code handle and a CallInterfaceDescriptor. At the same time we spread knowledge about how to create the initial IC code object too widely. Consolidate code creation and unify it with a descriptor via CodeFactory.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 13:18:58 +00:00
yangguo@chromium.org
90dc5c9e66 Do not use wide reads in CopyCharsUnsigned.
R=jkummerow@chromium.org
BUG=chromium:412967
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 12:51:05 +00:00
mstarzinger@chromium.org
4bee89e03c Fix typed lowering of ToBoolean on NaN input.
R=rossberg@chromium.org
TEST=webkit/convert-nan-to-bool

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 12:38:16 +00:00
yangguo@chromium.org
9dcf34033b Expect access check in JSObject::DefineAccessor.
R=ulan@chromium.org, verwaest@chromium.org
BUG=chromium:411793
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 12:16:33 +00:00
rossberg@chromium.org
fc71f7fdb3 Fix inaccurate type condition in Hydrogen
R=bmeurer@chromium.org
BUG=chromium:412210
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 12:13:34 +00:00
balazs.kilvady@imgtec.com
4a5001ddd1 MIPS: Added CallInterfaceDescriptors to all code stubs.
Port r23854 (3870059)

Original commit message:
Added CallInterfaceDescriptors to all code stubs. A handful
of code stubs are too complex to be described this way, and
they are encoded with the macro
DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR().

Along the way:
* allowed inheritance of CallInterfaceDescriptors.
* Defined static Register methods for some of the new
  CallInterfaceDescriptors. We could go a lot further here, but
  it doesn't have to be done immediately.
* Added Representation arrays to some CallInterfaceDescriptors,
  especially where future hydrogen versions of the stubs could
  benefit from this knowledge.

BUG=
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 12:13:09 +00:00
ulan@chromium.org
1c76394503 Do full GC for small heaps in idle time handler.
BUG=407593
LOG=N
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:54:49 +00:00
ulan@chromium.org
032bc4bd84 Skip long running test variants for NaCL.
BUG=
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:49:39 +00:00
jkummerow@chromium.org
bd97fcaed0 Fix regress-crbug-412203.js
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:47:39 +00:00
marja@chromium.org
90af365ae3 Revert "Add script streaming API."
This reverts r23865

Revert "Fix compilation after r23865."

This reverts r23867

Reason: the test contains characters too special for Windows's taste.

TBR=ulan@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:29:28 +00:00
marja@chromium.org
96716c060d Fix compilation after r23865.
TBR=ulan@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:13:40 +00:00
alph@chromium.org
ec8f976113 Add AccessorInfo handling into heap profiler.
BUG=
R=svenpanne@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:08:40 +00:00
marja@chromium.org
61c9683d71 Add script streaming API.
Blink will use this API to stream script data into V8 as the scripts
load. During loading, V8 can already parse the scripts. They will be then
compiled and executed when the loading is complete.

BUG=
R=jochen@chromium.org, rossberg@chromium.org, svenpanne@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:06:26 +00:00
bmeurer@chromium.org
bfa3884ae0 [turbofan] Machine operators are globally shared singletons.
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
2014-09-11 10:37:49 +00:00
jkummerow@chromium.org
11f7584d0a Fix ElementsKind handling of prototypes in Array.concat
Double elements, typed elements, and sloppy arguments elements were all erroneously marked UNREACHABLE.

BUG=chromium:412203
LOG=n
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 10:04:13 +00:00
jkummerow@chromium.org
bf7b4c12c3 Add a script that can generate simple test cases for user-exposed JS builtins
(we won't check in any such tests; they can be generated on the fly when needed)

R=mbarbella@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 09:58:58 +00:00