jarin@chromium.org
00e90b7e6e
Remove deoptimization by patching the call stack.
...
We go back to patching the code for lazy deoptimization because ICs need the on-stack return address to read/update the IC address/state.
The change also fixes bunch of tests, mostly by adding more deoptimization points.
(We still need to add code to ensure lazy deopt patching does not overwrite ICs and other lazy deopts; this is coming next.)
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/568783002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 09:21:39 +00:00
rossberg@chromium.org
b2a8ad2c69
Fix over-long line
...
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/560553006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 09:11:57 +00:00
bmeurer@chromium.org
72bf3ad950
[turbofan] Remove extra attributes from SimplifiedOperatorBuilder methods.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/560103003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 09:09:45 +00:00
rossberg@chromium.org
be33a79d21
Fixpoint typing has to consider all imprecise nodes
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/568743003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 09:03:59 +00:00
v8-autoroll@chromium.org
fa3c92bd48
[Auto-roll] Bump up version to 3.29.63.0
...
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-13 09:31:36 +00:00
machenbach@chromium.org
f7ed963a9e
Whitespace change to kick off bots.
...
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-13 07:35:04 +00:00
yangguo@chromium.org
a5027daf1c
Revert "Remove V8_HOST_CAN_READ_UNALIGNED and its uses."
...
This reverts r23915.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/569783003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 21:11:09 +00:00
arv@chromium.org
6b660f2812
ES6: String(symbol) should work like symbol.toString
...
Using String as a function and passing a symbol should return the
same value as if Symbol.prototype.toString was called.
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string-constructor-string-value
BUG=v8:3554
LOG=Y
R=rossberg@chromium.org , rossberg
Review URL: https://codereview.chromium.org/564863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 16:17:27 +00:00
ulan@chromium.org
c44a69d985
Revert r23916, r23917 for breaking 64-bit tests.
...
"Use unsigned type bitsets to limit undefined behaviour".
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/563283003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 16:13:05 +00:00
ulan@chromium.org
dcf84d88b7
[turbofan] Use correct register_save_area_size with OOL constant pool.
...
Follow-up to r23843.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/565693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 15:09:51 +00:00
arv@chromium.org
477b75f1cb
Arrow functions: Cleanup handling of the prototype property
...
The old code did not work correctly in case of optimizations. I
found this out when implementing concise methods and we now plumb
through the function kind so we know what kind of Map to create for
the function.
BUG=v8:2700
LOG=y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/562253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 15:07:43 +00:00
v8-autoroll@chromium.org
cfcad1d303
[Auto-roll] Bump up version to 3.29.62.0
...
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 15:01:46 +00:00
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