platform/upstream/v8.git
10 years agoSimplify Object::GetElementWithReceiver
jochen@chromium.org [Mon, 23 Jun 2014 09:09:36 +0000 (09:09 +0000)]
Simplify Object::GetElementWithReceiver

Don't inline GetPrototype() to avoid code duplication

BUG=none
R=dcarney@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRe-land "Clusterfuzz identified overflow check needed in dehoisting."
mvstanton@chromium.org [Mon, 23 Jun 2014 09:09:05 +0000 (09:09 +0000)]
Re-land "Clusterfuzz identified overflow check needed in dehoisting."

BUG=380092
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSimplify {Enable|Disable}AccessCheck
verwaest@chromium.org [Mon, 23 Jun 2014 09:04:17 +0000 (09:04 +0000)]
Simplify {Enable|Disable}AccessCheck

BUG=
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove AccessControl from AccessorPairs, as it's an invalid usecase of AllCan*
verwaest@chromium.org [Mon, 23 Jun 2014 09:02:16 +0000 (09:02 +0000)]
Remove AccessControl from AccessorPairs, as it's an invalid usecase of AllCan*

BUG=
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSimplify access checks performed by GetOwnProperty
verwaest@chromium.org [Mon, 23 Jun 2014 08:53:27 +0000 (08:53 +0000)]
Simplify access checks performed by GetOwnProperty

BUG=
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake our FOO::cast methods const.
svenpanne@chromium.org [Mon, 23 Jun 2014 08:51:13 +0000 (08:51 +0000)]
Make our FOO::cast methods const.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAn object should only be promoted to the old generation if it survived a scavenge...
hpayer@chromium.org [Mon, 23 Jun 2014 08:50:54 +0000 (08:50 +0000)]
An object should only be promoted to the old generation if it survived a scavenge operation.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Set host_arch to ia32 on machines with a 32bit userland but a 64bit kernel."
marja@chromium.org [Mon, 23 Jun 2014 08:47:07 +0000 (08:47 +0000)]
Revert "Set host_arch to ia32 on machines with a 32bit userland but a 64bit kernel."

This reverts r21909.

Reason: breaks NaCL build.

BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSet host_arch to ia32 on machines with a 32bit userland but a 64bit kernel.
jochen@chromium.org [Mon, 23 Jun 2014 08:19:54 +0000 (08:19 +0000)]
Set host_arch to ia32 on machines with a 32bit userland but a 64bit kernel.

I don't know if there are any v8 bots with that configuration, but it seems
like a good idea to have v8 be consistent with chromium and nacl here, so that
this works fine if such a bot is ever set up.

This is similar to https://codereview.chromium.org/342493002/ , but with a
detect_v8_host_arch.py script that handles the additional machine types that
standalone.gypi used to handle.

BUG=368384 possibly?
LOG=Y
R=jochen@chromium.org

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

Patch from Nico Weber <thakis@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce intrinsic to expose debug state to generated code.
yangguo@chromium.org [Mon, 23 Jun 2014 07:10:25 +0000 (07:10 +0000)]
Introduce intrinsic to expose debug state to generated code.

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd missing map check to optimized f.apply(...)
jarin@chromium.org [Mon, 23 Jun 2014 05:50:06 +0000 (05:50 +0000)]
Add missing map check to optimized f.apply(...)

This is a cutdown version of https://codereview.chromium.org/346473002/, which aimed to fix f.call and f.apply. Optimized f.call was removed by r21887, this is what was left.

BUG=386034
LOG=N
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix big-endian after r21774/r21803.
plind44@gmail.com [Fri, 20 Jun 2014 23:02:36 +0000 (23:02 +0000)]
MIPS: Fix big-endian after r21774/r21803.

Fix big-endian ordering of InstanceType and BitField by always loading
the pair as a 16-bit value, even in the API accessor. Clean up some
assertions.

R=danno@chromium.org, mtbrandy@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Support LiveEdit.
palfia@homejinni.com [Fri, 20 Jun 2014 20:52:57 +0000 (20:52 +0000)]
MIPS: Support LiveEdit.

Port r21895 (210f7aa)

BUG=368580
LOG=Y
R=jkummerow@chromium.org, palfia@homejinni.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Make object accessors more const-correct.
palfia@homejinni.com [Fri, 20 Jun 2014 20:36:49 +0000 (20:36 +0000)]
MIPS: Make object accessors more const-correct.

Port r21897 (1b152ae)

Fix MIPS implementation of READ_DOUBLE_FIELD() to use const parameter.

Original commit message:
Getting closer to making our IsFOO and FOO::cast methods
const-correct...

BUG=
R=gergely@homejinni.com, jkummerow@chromium.org

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoArray.concat: properly go to dictionary mode when required
jkummerow@chromium.org [Fri, 20 Jun 2014 15:40:21 +0000 (15:40 +0000)]
Array.concat: properly go to dictionary mode when required

BUG=chromium:387031
LOG=y
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix stack capture on overflow for Error.stackTraceLimit == Infinity
wingo@igalia.com [Fri, 20 Jun 2014 14:27:55 +0000 (14:27 +0000)]
Fix stack capture on overflow for Error.stackTraceLimit == Infinity

Bug found by Andrew Paprocki <andrew@ishiboo.com>.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoClean up unused stuff in atomicops_internals_{tsan,x86_gcc}.h
jkummerow@chromium.org [Fri, 20 Jun 2014 12:58:48 +0000 (12:58 +0000)]
Clean up unused stuff in atomicops_internals_{tsan,x86_gcc}.h

This ports crrev.com/278081 and crrev.com/271506 to V8.

R=glider@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agotest-parsing: Add functionality to specify "always true flags".
marja@chromium.org [Fri, 20 Jun 2014 12:28:13 +0000 (12:28 +0000)]
test-parsing: Add functionality to specify "always true flags".

Many parsing tests need to pin a certain flag, and apart from the pinned flag,
we want to keep the "test with all combinations" behavior for the non-pinned
flags.

R=ulan@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM: Avoid duplicate vmla when merging vmul and vadd
rodolph.perfetta@arm.com [Fri, 20 Jun 2014 11:26:17 +0000 (11:26 +0000)]
ARM: Avoid duplicate vmla when merging vmul and vadd

Avoid generating duplicate vmla instructions for vmul/vadd sequences where the
vmul has more than one use.

For example: function f(a, b, c) { return (a * b) + c + (a * b); }

Previously, this would produce a vmul for the subexpression (a * b), then vmla
for (a * b) + c, then vmla for (a * b) + [(a * b) + c].

Now it produces vmul, vadd, vadd, as expected.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove obsolete --harmony-promises flag from tests.
mstarzinger@chromium.org [Fri, 20 Jun 2014 10:47:50 +0000 (10:47 +0000)]
Remove obsolete --harmony-promises flag from tests.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake object accessors more const-correct.
svenpanne@chromium.org [Fri, 20 Jun 2014 10:31:17 +0000 (10:31 +0000)]
Make object accessors more const-correct.

Getting closer to making our IsFOO and FOO::cast methods const-correct...

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoParser: Refactor strict mode checks for functions
marja@chromium.org [Fri, 20 Jun 2014 09:45:05 +0000 (09:45 +0000)]
Parser: Refactor strict mode checks for functions

Moves the strict mode checks and error reporting for the function and
parameter names into a separate CheckStrictFunctionNameAndParameters()
function in ParserBase. Parsing of arrow functions will then use this
new function instead of duplicating the error code.

BUG=
R=marja@chromium.org

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

Patch from Adrián Pérez de Castro <aperez@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSupport LiveEdit on ARM
alph@chromium.org [Fri, 20 Jun 2014 09:41:14 +0000 (09:41 +0000)]
Support LiveEdit on ARM

BUG=368580
LOG=Y
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCheck alpha-sorting of includes during presubmit.
mstarzinger@chromium.org [Fri, 20 Jun 2014 08:40:11 +0000 (08:40 +0000)]
Check alpha-sorting of includes during presubmit.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdded Message::GetScripOrigin.
yurys@chromium.org [Fri, 20 Jun 2014 07:44:05 +0000 (07:44 +0000)]
Added Message::GetScripOrigin.
Replaced Message::GetResourceName with GetScriptOrigin().ResourceName().

Now, GetScriptOrigin().ResourceName() function returns the resource name or sourceURL (from //# sourceURL=) for the script from where the function causing the error originates.

Method GetScriptResourceName() deprecated. Use GetScriptOrigin()->ResourceName() instead.

Blink: https://codereview.chromium.org/260513004/
R=yangguo@chromium.org, yurys@chromium.org

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

Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago--verify-predictable mode added for ensuring that GC behaves deterministically.
ishell@chromium.org [Fri, 20 Jun 2014 07:35:48 +0000 (07:35 +0000)]
--verify-predictable mode added for ensuring that GC behaves deterministically.
In order to be able to use it one should pass verifypredictable=on to the make tool or specify v8_enable_verify_predictable=1 in GYP_DEFINES.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake the internal parts of our external API a bit more const-correct.
svenpanne@chromium.org [Fri, 20 Jun 2014 07:20:44 +0000 (07:20 +0000)]
Make the internal parts of our external API a bit more const-correct.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Optimize Function.prototype.call"
dcarney@chromium.org [Wed, 18 Jun 2014 14:04:41 +0000 (14:04 +0000)]
Revert "Optimize Function.prototype.call"

This reverts commit r21840.

R=danno@chromium.org
LOG=y
BUG=chromium:385565

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove invalid string length check to the factory.
yangguo@chromium.org [Wed, 18 Jun 2014 13:26:02 +0000 (13:26 +0000)]
Move invalid string length check to the factory.

R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix LStoreCodeEntry to treat the code_object parameter as input.
jarin@chromium.org [Wed, 18 Jun 2014 11:17:52 +0000 (11:17 +0000)]
Fix LStoreCodeEntry to treat the code_object parameter as input.

The bug seems to trigger only with array_index_dehoisting off in
the snapshot, so it is hard to test for (ideas?).

R=mvstanton@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIC misses should not count towards execution pauses in plots.
yangguo@chromium.org [Wed, 18 Jun 2014 11:05:31 +0000 (11:05 +0000)]
IC misses should not count towards execution pauses in plots.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd safe numerics classes, imported from Chromium.
jkummerow@chromium.org [Wed, 18 Jun 2014 11:01:54 +0000 (11:01 +0000)]
Add safe numerics classes, imported from Chromium.

Not used for anything yet.

R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Parser: Delay internalizing strings and values." (r21841)
marja@chromium.org [Wed, 18 Jun 2014 07:30:56 +0000 (07:30 +0000)]
Revert "Parser: Delay internalizing strings and values." (r21841)

Plus the fixes on top.

Reason: regresses benchmarks (JSBench) and perf (morejs).

TBR=rossberg@chromium.org
BUG=385404
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Interrupts must not mask stack overflow.
weiliang.lin@intel.com [Wed, 18 Jun 2014 03:31:30 +0000 (03:31 +0000)]
X87: Interrupts must not mask stack overflow.

port r21874

original commit message:
   Interrupts must not mask stack overflow.
   BUG=385002
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Interrupts must not mask stack overflow.
kilvadyb@homejinni.com [Tue, 17 Jun 2014 17:06:08 +0000 (17:06 +0000)]
MIPS: Interrupts must not mask stack overflow.

Port r21874 (bfea2c0)

BUG=385002
LOG=N

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUntangle RNG from v8 core
jochen@chromium.org [Tue, 17 Jun 2014 16:27:19 +0000 (16:27 +0000)]
Untangle RNG from v8 core

This will allow for using the RNG from platform files without depending on
isolates.

BUG=none
R=bmeurer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: update owners.
plind44@gmail.com [Tue, 17 Jun 2014 15:34:03 +0000 (15:34 +0000)]
MIPS: update owners.

BUG=
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDrop obsolete ES6 TODOs about activating extended mode.
mstarzinger@chromium.org [Tue, 17 Jun 2014 15:22:38 +0000 (15:22 +0000)]
Drop obsolete ES6 TODOs about activating extended mode.

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove unnecessary virtual methods in the serializer.
yangguo@chromium.org [Tue, 17 Jun 2014 14:24:19 +0000 (14:24 +0000)]
Remove unnecessary virtual methods in the serializer.

R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRename arguments object support functions to new scheme.
mstarzinger@chromium.org [Tue, 17 Jun 2014 14:10:16 +0000 (14:10 +0000)]
Rename arguments object support functions to new scheme.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoInterrupts must not mask stack overflow.
yangguo@chromium.org [Tue, 17 Jun 2014 13:54:49 +0000 (13:54 +0000)]
Interrupts must not mask stack overflow.

R=jarin@chromium.org
BUG=385002
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReduce number of writes to DependentCode array when inserting dependent IC.
ulan@chromium.org [Tue, 17 Jun 2014 13:22:34 +0000 (13:22 +0000)]
Reduce number of writes to DependentCode array when inserting dependent IC.

BUG=305878
LOG=Y
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix: AstValueFactory must be internalized before ThrowPendingError.
marja@chromium.org [Tue, 17 Jun 2014 11:48:37 +0000 (11:48 +0000)]
Fix: AstValueFactory must be internalized before ThrowPendingError.

R=rossberg@chromium.org
BUG=385193
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDo GC if CodeRange fails to allocate a block.
ulan@chromium.org [Tue, 17 Jun 2014 08:20:12 +0000 (08:20 +0000)]
Do GC if CodeRange fails to allocate a block.

BUG=305878
LOG=Y
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoThrow syntax error when a getter/setter has the wrong number of params
marja@chromium.org [Tue, 17 Jun 2014 07:23:26 +0000 (07:23 +0000)]
Throw syntax error when a getter/setter has the wrong number of params

We used to allow any number of parameters in getters and setters to
match JSC. This is a violation of ES5.1 and both SpiderMonkey and
Chakra throw on these syntax errors.

BUG=v8:3371
LOG=Y
R=marja@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Grow big old generation slower.", tanks SplayHarder.
hpayer@chromium.org [Tue, 17 Jun 2014 06:10:43 +0000 (06:10 +0000)]
Revert "Grow big old generation slower.", tanks SplayHarder.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDo not eliminate bounds checks for "<const> - x".
jarin@chromium.org [Mon, 16 Jun 2014 13:43:50 +0000 (13:43 +0000)]
Do not eliminate bounds checks for "<const> - x".

Before this change, bounds check elimination treated "<const> - x" as
"x - <const>".

R=yangguo@chromium.org
BUG=385054
TEST=test/mjsunit/regress/regress-385054.js
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd unit test for regression in GVN caused by field type tracking.
bmeurer@chromium.org [Mon, 16 Jun 2014 13:21:42 +0000 (13:21 +0000)]
Add unit test for regression in GVN caused by field type tracking.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "GVN fix, preventing loads hoisting above stores to the same field when HObjec...
bmeurer@chromium.org [Mon, 16 Jun 2014 13:03:59 +0000 (13:03 +0000)]
Revert "GVN fix, preventing loads hoisting above stores to the same field when HObjectAccess's representation is not the same."

This reverts commit r21830 for tanking performance on Deltablue.

TBR=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReuse AstValueFactory when optimizing.
marja@chromium.org [Mon, 16 Jun 2014 10:42:39 +0000 (10:42 +0000)]
Reuse AstValueFactory when optimizing.

HOptimizedGraphBuilder::TryInline creates a temporary CompilationInfo and
destroys it, but we don't want the AstValueFactory to be destroyed at the same
time. Reuse the upper CompilationInfo's AstValueFactory.

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix representation of Phis for mutable-heapnumber-in-object-literal properties
jkummerow@chromium.org [Mon, 16 Jun 2014 08:41:29 +0000 (08:41 +0000)]
Fix representation of Phis for mutable-heapnumber-in-object-literal properties

BUG=v8:3392
LOG=y
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix x87 compile
jochen@chromium.org [Fri, 13 Jun 2014 16:56:50 +0000 (16:56 +0000)]
Fix x87 compile

TBR=marja@chormium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove dependency on Vector from platform files
jochen@chromium.org [Fri, 13 Jun 2014 16:43:27 +0000 (16:43 +0000)]
Remove dependency on Vector from platform files

Add wrappers to utils.h instead.

BUG=none
R=jkummerow@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix windows build (size_t vs. int) some more.
marja@chromium.org [Fri, 13 Jun 2014 15:08:57 +0000 (15:08 +0000)]
Fix windows build (size_t vs. int) some more.

TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix windows build (size_t vs. int).
marja@chromium.org [Fri, 13 Jun 2014 14:24:56 +0000 (14:24 +0000)]
Fix windows build (size_t vs. int).

Sadly, Vector ctor takes an argument "int length".

TBR=dcarney@chromium.org, mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix gn build.
marja@chromium.org [Fri, 13 Jun 2014 13:45:49 +0000 (13:45 +0000)]
Fix gn build.

TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix clang build after r21839
jkummerow@chromium.org [Fri, 13 Jun 2014 13:39:01 +0000 (13:39 +0000)]
Fix clang build after r21839

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoParser: Delay internalizing strings and values.
marja@chromium.org [Fri, 13 Jun 2014 13:31:56 +0000 (13:31 +0000)]
Parser: Delay internalizing strings and values.

This is needed so that we can run Parser on a non-main thread (independent
of the Isolate and the V8 heap).

BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoOptimize Function.prototype.call
verwaest@chromium.org [Fri, 13 Jun 2014 12:52:23 +0000 (12:52 +0000)]
Optimize Function.prototype.call

- May inline the function, or call it directly, instead of going through call
- Supports arguments object escaping when it escapes to builtins (preparation for slice.call(arguments, ...) optimization)
- Both .call and .apply now support inlining when calling builtins indirectly

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

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

Patch from Petka Antonov <p.antonov@partner.samsung.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHave one, long-lived map for bound functions.
jkummerow@chromium.org [Fri, 13 Jun 2014 12:19:04 +0000 (12:19 +0000)]
Have one, long-lived map for bound functions.

This avoids creating a new map for every bound function. Bonus: some cleanup in Runtime_FunctionBindArguments.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoKeep maps when resetting elements.
jkummerow@chromium.org [Fri, 13 Jun 2014 12:12:42 +0000 (12:12 +0000)]
Keep maps when resetting elements.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReland "Rename kIs64BitArch with kRequiresCodeRange."
svenpanne@chromium.org [Fri, 13 Jun 2014 11:06:42 +0000 (11:06 +0000)]
Reland "Rename kIs64BitArch with kRequiresCodeRange."

R=svenpanne@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove one more arch-specific target name.
jkummerow@chromium.org [Fri, 13 Jun 2014 11:02:34 +0000 (11:02 +0000)]
Remove one more arch-specific target name.

One more target had the architecture added to its name since r14209
originally landed and was missed when that change was reverted. Remove
the architecture from v8_libbase as well.

BUG=
R=jkummerow@chromium.org

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

Patch from Richard Coles <torne@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEmulate MLS on pre-ARMv6T2. Cleaned up thumbee vs. thumb2 confusion.
svenpanne@chromium.org [Fri, 13 Jun 2014 10:50:11 +0000 (10:50 +0000)]
Emulate MLS on pre-ARMv6T2. Cleaned up thumbee vs. thumb2 confusion.

This should unbreak things on the Raspberry Pi.

LOG=y
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAllow all Names to be fast property names
jkummerow@chromium.org [Fri, 13 Jun 2014 09:59:39 +0000 (09:59 +0000)]
Allow all Names to be fast property names

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse generic representation when normalizing boilerplate properties
jkummerow@chromium.org [Fri, 13 Jun 2014 09:46:29 +0000 (09:46 +0000)]
Use generic representation when normalizing boilerplate properties

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMark timed range in the profile plot.
yangguo@chromium.org [Fri, 13 Jun 2014 09:07:56 +0000 (09:07 +0000)]
Mark timed range in the profile plot.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisable regress/regress-2653 until deopt_every_n_garbage_collections is fixed.
ulan@chromium.org [Fri, 13 Jun 2014 08:05:34 +0000 (08:05 +0000)]
Disable regress/regress-2653 until deopt_every_n_garbage_collections is fixed.

BUG=3389
LOG=N
R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoGVN fix, preventing loads hoisting above stores to the same field when HObjectAccess...
ishell@chromium.org [Fri, 13 Jun 2014 07:51:45 +0000 (07:51 +0000)]
GVN fix, preventing loads hoisting above stores to the same field when HObjectAccess's representation is not the same.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Fixed flooring division by a power of 2, once again...
weiliang.lin@intel.com [Fri, 13 Jun 2014 07:03:11 +0000 (07:03 +0000)]
X87: Fixed flooring division by a power of 2, once again...

port r21769

original message:
    Avoid right shifts by zero bits: On ARM it actually means shifting by
    32 bits (correctness issue) and on other platforms they are useless
    (performance issue). This is fix for the fix in r20544.

    BUG=v8:3259
    LOG=y
R=weiliang.lin@intel.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFixed undefined behavior in RNG.
svenpanne@chromium.org [Fri, 13 Jun 2014 06:36:09 +0000 (06:36 +0000)]
Fixed undefined behavior in RNG.

We're basically trading undefined behavior for implementation defined
behavior, which should be OK for UBSan. :-) The generated code should
be identical, at least I checked that for GCC 4.6.3 on x64.

BUG=377790
LOG=y
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUpdate Lithium AddI, SubI, MulI, BitI, ShiftI, MathMinMax to support x32 port.
haitao.feng@intel.com [Fri, 13 Jun 2014 02:38:46 +0000 (02:38 +0000)]
Update Lithium AddI, SubI, MulI, BitI, ShiftI, MathMinMax to support x32 port.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSpecially handle the key of the LoadKeyed and StoreKeyed instruction for x32 port.
haitao.feng@intel.com [Fri, 13 Jun 2014 02:19:57 +0000 (02:19 +0000)]
Specially handle the key of the LoadKeyed and StoreKeyed instruction for x32 port.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix register usage after r21822.
palfia@homejinni.com [Fri, 13 Jun 2014 02:00:13 +0000 (02:00 +0000)]
MIPS: Fix register usage after r21822.

The at register is no longer in usage, so changed it to "scratch".

BUG=
R=plind44@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix r21780 - “Fixed flooring division by a power of 2, once again...”
plind44@gmail.com [Thu, 12 Jun 2014 20:25:47 +0000 (20:25 +0000)]
MIPS: Fix r21780 - “Fixed flooring division by a power of 2, once again...”

Initialize scratch register for all possible code paths.

TEST=mjsunit/compiler/division-by-constant.js
BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake timestamp of fuzz harness archives finer grained.
mstarzinger@chromium.org [Thu, 12 Jun 2014 18:55:09 +0000 (18:55 +0000)]
Make timestamp of fuzz harness archives finer grained.

R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFor-of calls [Symbol.iterator]() on RHS to get iterator
wingo@igalia.com [Thu, 12 Jun 2014 17:31:54 +0000 (17:31 +0000)]
For-of calls [Symbol.iterator]() on RHS to get iterator

R=rossberg@chromium.org
BUG=http://code.google.com/p/v8/issues/detail?id=2735
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDrop dependency on Isolate* from platform.h
jochen@chromium.org [Thu, 12 Jun 2014 17:06:24 +0000 (17:06 +0000)]
Drop dependency on Isolate* from platform.h

BUG=none
R=dcarney@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove forced type changes when they can't deopt
m.m.capewell@googlemail.com [Thu, 12 Jun 2014 16:47:51 +0000 (16:47 +0000)]
Remove forced type changes when they can't deopt

Hydrogen attempts to force representation changes on certain operations in order
to deoptimise on the change rather than the operation. However, these forced
changes are often unnecessary on 64-bit platforms, and cause poor code
generation, so this patch makes some of them conditional on whether it's
possible for deoptimisation to occur in the change.

On ARM64, this prevents sequences like:
                  ;;; <@46,#89> smi-tag
0x7ff282c7f050   144  lsl x4, x4, #32
                  ;;; <@48,#90> smi-untag
0x7ff282c7f054   148  asr x5, x4, #32
                  ;;; <@50,#31> mul-const-i-s
0x7ff282c7f058   152  lsl w6, w5, #3

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoOptimize prototype chain when creating initial maps for functions used as constructors
jkummerow@chromium.org [Thu, 12 Jun 2014 16:41:56 +0000 (16:41 +0000)]
Optimize prototype chain when creating initial maps for functions used as constructors

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd non-miss slow path to LoadIC_Normal.
jkummerow@chromium.org [Thu, 12 Jun 2014 16:38:37 +0000 (16:38 +0000)]
Add non-miss slow path to LoadIC_Normal.

This avoids endless IC patching cycles between "normal" and "nonexistent" handlers when objects having and not having the property are seen alternatingly

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix unsigned comparison.
plind44@gmail.com [Thu, 12 Jun 2014 15:42:14 +0000 (15:42 +0000)]
MIPS: Fix unsigned comparison.

TEST=mjsunit/regress/regress-3380
BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRewrite GetPropertyAttribute to use the LookupIterator
verwaest@chromium.org [Thu, 12 Jun 2014 15:08:33 +0000 (15:08 +0000)]
Rewrite GetPropertyAttribute to use the LookupIterator

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Reland 21774: Generate KeyedLoadGeneric with Hydrogen
weiliang.lin@intel.com [Thu, 12 Jun 2014 15:05:01 +0000 (15:05 +0000)]
X87: Reland 21774: Generate KeyedLoadGeneric with Hydrogen

Port r21781 (4869c528)

BUG=
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Active use of Hydrogen-generated generic KeyedLoad IC"
danno@chromium.org [Thu, 12 Jun 2014 14:59:51 +0000 (14:59 +0000)]
Revert "Active use of Hydrogen-generated generic KeyedLoad IC"

Due to mirror-object test failure (although I'm pretty sure I was framed)

R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoActive use of Hydrogen-generated generic KeyedLoad IC
danno@chromium.org [Thu, 12 Jun 2014 14:23:29 +0000 (14:23 +0000)]
Active use of Hydrogen-generated generic KeyedLoad IC

R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDon't use LOG() from platform.
jochen@chromium.org [Thu, 12 Jun 2014 14:11:27 +0000 (14:11 +0000)]
Don't use LOG() from platform.

All places that use OS::Allocate either CHECK() that the result is non-NULL,
or use a reasonable fallback if they can't mmap memory.

BUG=none
R=mstarzinger@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agobuild fix after r21807
dcarney@chromium.org [Thu, 12 Jun 2014 13:25:03 +0000 (13:25 +0000)]
build fix after r21807

TBR=mstarzinger@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoGrow big old generation slower.
hpayer@chromium.org [Thu, 12 Jun 2014 12:39:51 +0000 (12:39 +0000)]
Grow big old generation slower.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoremove this == null
dcarney@chromium.org [Thu, 12 Jun 2014 12:01:01 +0000 (12:01 +0000)]
remove this == null

R=danno@chromium.org

BUG=chromium:381910

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSign extend the dehoisted key at the definition point for x64 port only; for x32...
haitao.feng@intel.com [Thu, 12 Jun 2014 12:00:14 +0000 (12:00 +0000)]
Sign extend the dehoisted key at the definition point for x64 port only; for x32 port, we need to sign extend the dehoisted key at the use points.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd v8::Promise::Then.
rossberg@chromium.org [Thu, 12 Jun 2014 11:33:30 +0000 (11:33 +0000)]
Add v8::Promise::Then.

Blink needs v8::Promise::Then to implement ScriptPromise::then.
Blink-side CL: https://codereview.chromium.org/316453002

BUG=371288
LOG=Y
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDo away with variable length memcpy to Set/Get registers in simulator
svenpanne@chromium.org [Thu, 12 Jun 2014 11:20:31 +0000 (11:20 +0000)]
Do away with variable length memcpy to Set/Get registers in simulator

About a 32% boost.

Before - 5:31

Richards: 84.5
DeltaBlue: 128
Crypto: 65.3
RayTrace: 203
EarleyBoyer: 149
RegExp: 23.4
Splay: 121
NavierStokes: 98.9
----
Score (version 7): 93.8

After - 4:10

Richards: 107
DeltaBlue: 175
Crypto: 93.9
RayTrace: 258
EarleyBoyer: 186
RegExp: 32.7
Splay: 165
NavierStokes: 124
----
Score (version 7): 124

R=jacob.bramley@arm.com, svenpanne@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=21448

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

Patch from Fritz Koenig <frkoenig@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Revert "Reland 21774: Generate KeyedLoadGeneric with Hydrogen""
danno@chromium.org [Thu, 12 Jun 2014 09:58:10 +0000 (09:58 +0000)]
Revert "Revert "Reland 21774: Generate KeyedLoadGeneric with Hydrogen""

This CL tickled an unrelated arm64 bug which was is fixed separately.

The MIPS port (originally landed 21784) is also included.

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove duplicate code in SetPropertyPostInterceptor
verwaest@chromium.org [Thu, 12 Jun 2014 09:56:54 +0000 (09:56 +0000)]
Remove duplicate code in SetPropertyPostInterceptor

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Rename kIs64BitArch with kRequiresCodeRange."
danno@chromium.org [Thu, 12 Jun 2014 09:55:25 +0000 (09:55 +0000)]
Revert "Rename kIs64BitArch with kRequiresCodeRange."

TBR=haitao.feng@intel.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRename kIs64BitArch with kRequiresCodeRange.
haitao.feng@intel.com [Thu, 12 Jun 2014 09:43:51 +0000 (09:43 +0000)]
Rename kIs64BitArch with kRequiresCodeRange.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove unnecessary HCompareNumericAndBranch when generating HShr instruction.
haitao.feng@intel.com [Thu, 12 Jun 2014 09:40:59 +0000 (09:40 +0000)]
Remove unnecessary HCompareNumericAndBranch when generating HShr instruction.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix register mixup in arm64's Crankshafted typeof() == 'object'
danno@chromium.org [Thu, 12 Jun 2014 09:20:59 +0000 (09:20 +0000)]
Fix register mixup in arm64's Crankshafted typeof() == 'object'

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd @@iterator for generator objects
wingo@igalia.com [Thu, 12 Jun 2014 08:53:07 +0000 (08:53 +0000)]
Add @@iterator for generator objects

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00