platform/upstream/v8.git
9 years ago[turbofan] Insert appropriate conversions for typed array stores.
jarin [Tue, 25 Nov 2014 08:40:18 +0000 (00:40 -0800)]
[turbofan] Insert appropriate conversions for typed array stores.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25496}

9 years agoFix platform unittests.
Benedikt Meurer [Tue, 25 Nov 2014 07:21:43 +0000 (08:21 +0100)]
Fix platform unittests.

Follow-up to 87db4ff1f4d76eecb8f19d62f4c04279d56bf229, which added
suppressions to unittests.status and a special case for Android to the
ThreadLocalStorageTest, both of which are unneccessary and should be
handled differently for the GTest based unittests.

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

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

Cr-Commit-Position: refs/heads/master@{#25495}

9 years agoReduce context disposal gc overhead.
hpayer [Mon, 24 Nov 2014 19:19:04 +0000 (11:19 -0800)]
Reduce context disposal gc overhead.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25494}

9 years agoDon't double smi-tag the mask used to check read-only / field mode in the dictionary...
verwaest [Mon, 24 Nov 2014 19:16:16 +0000 (11:16 -0800)]
Don't double smi-tag the mask used to check read-only / field mode in the dictionary-store-stub on X64

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25493}

9 years agoFix/suppress unittests broken on Android
cullinan [Mon, 24 Nov 2014 18:05:56 +0000 (10:05 -0800)]
Fix/suppress unittests broken on Android

cctest/test-threads/ThreadJoinSelf is suppressed for Android, but the
test has since been moved to unittests/Thread.SelfJoin. Move the
suppression to unittests.status.

unittests/ThreadLocalStorageTest.DoTest fails on older Android devices
as it assumes the availability of more TLS slots than many devices
implement. Test a smaller number of slots (32) on Android. Remove old
suppression of test-platform-tls/FastTLS (which no longer exists).

cctest/test-mark-compact/RegressJoinThreadsOnIsolateDeinit can't deal
with shared mappings. Check for 's' instead of '-'.

BUG=v8:3706
LOG=

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

Cr-Commit-Position: refs/heads/master@{#25492}

9 years ago[turbofan] Fix matching of the lea instruction.
jarin [Mon, 24 Nov 2014 17:45:20 +0000 (09:45 -0800)]
[turbofan] Fix matching of the lea instruction.

Resets the scaled exponent to 0 when the scaling match fails.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25491}

9 years agoLoad prototype from map in PropertyHandlerCompiler::CheckPrototypes.
ulan [Mon, 24 Nov 2014 17:44:12 +0000 (09:44 -0800)]
Load prototype from map in PropertyHandlerCompiler::CheckPrototypes.

BUG=v8:3629
LOG=N
TBR=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25490}

9 years agoDisable regress-3717 for gc-stress.
Yang Guo [Mon, 24 Nov 2014 16:29:05 +0000 (17:29 +0100)]
Disable regress-3717 for gc-stress.

TBR=ulan@chromium.org
BUG=v8:3723
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25489}

9 years agoRemove lineprocessor sample.
yangguo [Mon, 24 Nov 2014 16:22:56 +0000 (08:22 -0800)]
Remove lineprocessor sample.

This sample used to demonstrate the usage of the DebuggerAgent. The latter
has been removed, so this sample has no point anymore.

R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25488}

9 years agoRemove v8::StartupData::compressed_size.
yangguo [Mon, 24 Nov 2014 16:14:26 +0000 (08:14 -0800)]
Remove v8::StartupData::compressed_size.

R=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25487}

9 years agoCorrectly find shared function info for debugging when compiling eagerly.
yangguo [Mon, 24 Nov 2014 15:43:28 +0000 (07:43 -0800)]
Correctly find shared function info for debugging when compiling eagerly.

R=ulan@chromium.org
BUG=v8:3717
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25486}

9 years agoMake use of post-scoping information to compute feedback vector requirements.
Michael Stanton [Mon, 24 Nov 2014 14:59:55 +0000 (15:59 +0100)]
Make use of post-scoping information to compute feedback vector requirements.

This avoids allocating vector ic slots that we don't use.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25485}

9 years agoDictionary-mode PropertyDetails printing fixed.
ishell [Mon, 24 Nov 2014 14:55:35 +0000 (06:55 -0800)]
Dictionary-mode PropertyDetails printing fixed.

BUG=chromium:435974
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25484}

9 years agoReland of "Enable inobject double fields unboxing for 64-bit archs."
ishell [Mon, 24 Nov 2014 14:54:26 +0000 (06:54 -0800)]
Reland of "Enable inobject double fields unboxing for 64-bit archs."

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

Cr-Commit-Position: refs/heads/master@{#25483}

9 years agoReland of "TransitionArray::Search() now returns insertion index if the entry was...
ishell [Mon, 24 Nov 2014 14:31:31 +0000 (06:31 -0800)]
Reland of "TransitionArray::Search() now returns insertion index if the entry was not found."

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

Cr-Commit-Position: refs/heads/master@{#25482}

9 years agoEnsure external snapshot is only set once.
baixo [Mon, 24 Nov 2014 12:44:34 +0000 (04:44 -0800)]
Ensure external snapshot is only set once.

BUG=421063

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

Cr-Commit-Position: refs/heads/master@{#25481}

9 years agoThe file snapshot_blob_host.bin was supposed to be generated when building the host...
baixo [Mon, 24 Nov 2014 12:43:28 +0000 (04:43 -0800)]
The file snapshot_blob_host.bin was supposed to be generated when building the host toolset. However, the file snapshot_blob.bin was being generated instead, under every set of conditions.

Because of this, every time we build the host toolset, snapshot_blob_host.bin is not found. This causes the target (v8_external_snapshot) that generates such file to be run. This target generates snapshot_blob.bin instead of snapshot_blob_host.bin. This in turn causes all the targets that depend on snapshot_blob.bin to run again.

After this, we still don't have snapshot_blob_host.bin. So the next time we build, the whole process described above happens again.

BUG=421063

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

Cr-Commit-Position: refs/heads/master@{#25480}

9 years ago[turbofan] Combine Word32And with Int32Add and negative power of two.
Benedikt Meurer [Mon, 24 Nov 2014 12:30:20 +0000 (13:30 +0100)]
[turbofan] Combine Word32And with Int32Add and negative power of two.

TEST=unittests
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25479}

9 years agoDon't verify evacuation when it is not completed.
hpayer [Mon, 24 Nov 2014 11:58:26 +0000 (03:58 -0800)]
Don't verify evacuation when it is not completed.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25478}

9 years ago[turbofan] Dump graph in RPO order as text.
Ben L. Titzer [Mon, 24 Nov 2014 11:54:59 +0000 (12:54 +0100)]
[turbofan] Dump graph in RPO order as text.

R=bmeurer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25477}

9 years agoFix RegExp.source for uncompiled regexp.
yangguo [Mon, 24 Nov 2014 11:21:45 +0000 (03:21 -0800)]
Fix RegExp.source for uncompiled regexp.

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

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

Cr-Commit-Position: refs/heads/master@{#25476}

9 years ago[turbofan] Recognize sign extension of 8-bit and 16-bit values on arm64.
baptiste.afsa [Mon, 24 Nov 2014 11:00:10 +0000 (03:00 -0800)]
[turbofan] Recognize sign extension of 8-bit and 16-bit values on arm64.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25475}

9 years agoAdded test cases for truncating stores.
svenpanne [Mon, 24 Nov 2014 10:42:15 +0000 (02:42 -0800)]
Added test cases for truncating stores.

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

Cr-Commit-Position: refs/heads/master@{#25474}

9 years agodon't use to-be-deprecated Value::To* without isolate parameter
dcarney [Mon, 24 Nov 2014 10:30:39 +0000 (02:30 -0800)]
don't use to-be-deprecated Value::To* without isolate parameter

R=svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25473}

9 years agoFix alignment of Code::kConstantPoolOffset.
andrew_low [Mon, 24 Nov 2014 10:22:09 +0000 (02:22 -0800)]
Fix alignment of Code::kConstantPoolOffset.

This is needed for 64bit alignment sensitive platforms (PowerPC)
Exposed bugs with new GC compare and swap changes updating the
field.

Example failing test:
out/ppc64.debug/cctest  test-decls/ExistsInPrototype

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25472}

9 years agoremove some isolate::currents from api.cc
dcarney [Mon, 24 Nov 2014 09:44:47 +0000 (01:44 -0800)]
remove some isolate::currents from api.cc

R=svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25471}

9 years agoRevert of Enable inobject double fields unboxing for 64-bit archs. (patchset #3 id...
ishell [Sat, 22 Nov 2014 20:32:55 +0000 (12:32 -0800)]
Revert of Enable inobject double fields unboxing for 64-bit archs. (patchset #3 id:40001 of https://codereview.chromium.org/753503002/)

Reason for revert:
GCMole and gc-stress issues.

Original issue's description:
> Enable inobject double fields unboxing for 64-bit archs.

TBR=verwaest@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25470}

9 years agoEnable inobject double fields unboxing for 64-bit archs.
ishell [Sat, 22 Nov 2014 17:30:15 +0000 (09:30 -0800)]
Enable inobject double fields unboxing for 64-bit archs.

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

Cr-Commit-Position: refs/heads/master@{#25469}

9 years agoharmony-scoping: Disallow cross-script assignment to const
dslomov [Fri, 21 Nov 2014 18:09:25 +0000 (10:09 -0800)]
harmony-scoping: Disallow cross-script assignment to const

R=rossberg@chromium.org
BUG=v8:2198
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25468}

9 years agoRevert "Remove deprecated ShouldSelfOptimize machinery."
mstarzinger [Fri, 21 Nov 2014 17:28:18 +0000 (09:28 -0800)]
Revert "Remove deprecated ShouldSelfOptimize machinery."

This reverts commit 9da92c1a336e because of performance regressions.

R=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25467}

9 years ago[turbofan]: remove optimization of adds/subs to inc and dec
danno [Fri, 21 Nov 2014 13:18:40 +0000 (05:18 -0800)]
[turbofan]: remove optimization of adds/subs to inc and dec

They generally cause regressions on most modern Intel chips. Replace them with
addl/subl.

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

Cr-Commit-Position: refs/heads/master@{#25466}

9 years ago[turbofan] put late ssa deconstruction in register allocator behind a flag
dcarney [Fri, 21 Nov 2014 13:13:49 +0000 (05:13 -0800)]
[turbofan] put late ssa deconstruction in register allocator behind a flag

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25465}

9 years agoRip out bzip compression for native sources.
yangguo [Fri, 21 Nov 2014 12:45:10 +0000 (04:45 -0800)]
Rip out bzip compression for native sources.

R=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25464}

9 years agoSlightly improve tests that rely on lazy compilation.
yangguo [Fri, 21 Nov 2014 12:40:53 +0000 (04:40 -0800)]
Slightly improve tests that rely on lazy compilation.

R=rossberg@chromium.org
BUG=v8:3712
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25463}

9 years agoIntroduce a flag to change the new space growth factor
jochen [Fri, 21 Nov 2014 12:14:22 +0000 (04:14 -0800)]
Introduce a flag to change the new space growth factor

A useful value would be 4, so we get 1, 4, 16MB (instead of the default
value 2 which leads to 1, 2, 4, 8, 16)

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

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

Cr-Commit-Position: refs/heads/master@{#25462}

9 years ago[turbofan] put spill slot reuse behind a flag
dcarney [Fri, 21 Nov 2014 11:32:56 +0000 (03:32 -0800)]
[turbofan] put spill slot reuse behind a flag

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25461}

9 years agoARM64: skip flaky mozilla/ecma/Date/15.9.5.26-1 until it is fixed.
ulan [Fri, 21 Nov 2014 11:24:42 +0000 (03:24 -0800)]
ARM64: skip flaky mozilla/ecma/Date/15.9.5.26-1 until it is fixed.

BUG=v8:3716
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25460}

9 years agoRemove deprecated ShouldSelfOptimize machinery.
mstarzinger [Fri, 21 Nov 2014 11:23:34 +0000 (03:23 -0800)]
Remove deprecated ShouldSelfOptimize machinery.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25459}

9 years agoFix mozilla expectations after regexp change.
Yang Guo [Fri, 21 Nov 2014 11:23:07 +0000 (12:23 +0100)]
Fix mozilla expectations after regexp change.

TBR=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25458}

9 years agoCorrectly escape RegExp source.
yangguo [Fri, 21 Nov 2014 10:50:12 +0000 (02:50 -0800)]
Correctly escape RegExp source.

R=ulan@chromium.org
BUG=v8:3229
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25457}

9 years agoAssert to protect against polymorphic string loads fires on valid stores.
Michael Stanton [Fri, 21 Nov 2014 10:28:55 +0000 (11:28 +0100)]
Assert to protect against polymorphic string loads fires on valid stores.

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

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

Cr-Commit-Position: refs/heads/master@{#25456}

9 years agoFix for 435073: CHECK failure in CHECK(p->IsSmi()) failed.
Michael Stanton [Fri, 21 Nov 2014 10:14:08 +0000 (11:14 +0100)]
Fix for 435073: CHECK failure in CHECK(p->IsSmi()) failed.

The bug was an error when copying arrays in crankshaft. If it's a holey smi
array, the copy must be done as FAST_HOLEY_ELEMENTS to prevent representation
changes from being inserted that deopt on encountering the hole.

Also, prevent inlining array pop() and shift() if the length is read-only.

BUG=435073
LOG=N
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25455}

9 years ago[turbofan] Avoid useless zero-extension on arm64.
Baptiste Afsa [Fri, 21 Nov 2014 10:00:40 +0000 (10:00 +0000)]
[turbofan] Avoid useless zero-extension on arm64.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25454}

9 years agodump compiler stats from d8 on direct exit from js
dcarney [Fri, 21 Nov 2014 09:53:04 +0000 (01:53 -0800)]
dump compiler stats from d8 on direct exit from js

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25453}

9 years agoFix the compilation issue for turbofan unsupported backend which
chunyang.dai [Fri, 21 Nov 2014 09:22:31 +0000 (01:22 -0800)]
Fix the compilation issue for turbofan unsupported backend which
is introduced by https://chromium.googlesource.com/v8/v8/+/aed26c05a50b2a1257ef8accc67143825f2e1f60.
( [turbofan] Clean up and factor out branch generation logic.)

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25452}

9 years agoMIPS: [turbofan] Clean up and factor out branch generation logic.
Akos Palfi [Fri, 21 Nov 2014 01:15:35 +0000 (02:15 +0100)]
MIPS: [turbofan] Clean up and factor out branch generation logic.

Port aed26c05a50b2a1257ef8accc67143825f2e1f60

BUG=
R=paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#25451}

9 years agoCache template literal callSiteObj
caitpotter88 [Thu, 20 Nov 2014 22:37:31 +0000 (14:37 -0800)]
Cache template literal callSiteObj

BUG=v8:3230
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#25450}

9 years agoDo not put D8 and TEST natives into the external snapshot.
baixo [Thu, 20 Nov 2014 21:04:19 +0000 (13:04 -0800)]
Do not put D8 and TEST natives into the external snapshot.

D8 natives, in particular, will cause Windows static builds to not link due to another definition in the generated file d8-js.cc.

BUG=421063

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

Cr-Commit-Position: refs/heads/master@{#25449}

9 years agoRename String.prototype.contains to 'includes'.
dslomov [Thu, 20 Nov 2014 19:19:34 +0000 (11:19 -0800)]
Rename String.prototype.contains to 'includes'.

Per TC39 Nov 2014 decison.

R=arv@chromium.org,yangguo@chromium.org
LOG=Y

Committed: https://chromium.googlesource.com/v8/v8/+/b5379216e23ff0ec734e70361dd07057c2421c96

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

Cr-Commit-Position: refs/heads/master@{#25448}

9 years agoDo not bailout from optimizing functions that use f(x, arguments)
ulan [Thu, 20 Nov 2014 17:07:34 +0000 (09:07 -0800)]
Do not bailout from optimizing functions that use f(x, arguments)
if there is not enough type-feedback to detect that f is Function.prototype.apply.

BUG=v8:3709
LOG=N
TEST=mjsunit/regress/regress-3709

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

Cr-Commit-Position: refs/heads/master@{#25447}

9 years ago[turbofan] Clean up and factor out branch generation logic.
titzer [Thu, 20 Nov 2014 16:23:11 +0000 (08:23 -0800)]
[turbofan] Clean up and factor out branch generation logic.

R=dcarney@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25446}

9 years agoRemove superflous SharedFunctionInfo::uses_super call.
mstarzinger [Thu, 20 Nov 2014 16:21:56 +0000 (08:21 -0800)]
Remove superflous SharedFunctionInfo::uses_super call.

R=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25445}

9 years agoWhen optimizing deserialized code, make sure IC state is preserved.
yangguo [Thu, 20 Nov 2014 16:20:48 +0000 (08:20 -0800)]
When optimizing deserialized code, make sure IC state is preserved.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25444}

9 years ago[turbofan] use double temp registers for stack-stack swap on arm64
Dan Carney [Thu, 20 Nov 2014 16:11:22 +0000 (17:11 +0100)]
[turbofan] use double temp registers for stack-stack swap on arm64

TBR=vogelheim@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25443}

9 years agoFix Regress3540 after r25441.
Ulan Degenbaev [Thu, 20 Nov 2014 15:42:32 +0000 (16:42 +0100)]
Fix Regress3540 after r25441.

BUG=
TBR=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25442}

9 years agoReserve code range block for evacuation.
ulan [Thu, 20 Nov 2014 14:52:23 +0000 (06:52 -0800)]
Reserve code range block for evacuation.

If we run out of code range, then GC wouldn't be able to compact code space,
because it wouldn't be able to allocate a new page. This can cause code space
fragmentation and OOM crashes.

BUG=chromium:430118
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25441}

9 years ago[turbofan] More aggressive reuse of spill slots in the register allocator.
dcarney [Thu, 20 Nov 2014 14:40:56 +0000 (06:40 -0800)]
[turbofan] More aggressive reuse of spill slots in the register allocator.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25440}

9 years ago[turbofan]: More optimizations to add and subtract operations on x64
Daniel Clifford [Thu, 20 Nov 2014 13:48:34 +0000 (14:48 +0100)]
[turbofan]: More optimizations to add and subtract operations on x64

- Use "leal" for subtraction of integer constant when non-constant input to
  subtract is used more than once.
- Use "incl", "decl", and "addl" when they are smaller/cheaper than their
  leal/addl/subl equivalant.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25439}

9 years ago[turbofan] remove redundant '& 0x1F' for shifts.
Rodolph Perfetta [Thu, 20 Nov 2014 13:09:04 +0000 (13:09 +0000)]
[turbofan] remove redundant '& 0x1F' for shifts.

JavaScript shifts perform an implicit '& 0x1F' on their right operand, this
patch removes it when the underlying architecture already does it.

BUG=
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25438}

9 years agoEnable TurboFan for Win64 targets.
mstarzinger [Thu, 20 Nov 2014 11:51:04 +0000 (03:51 -0800)]
Enable TurboFan for Win64 targets.

R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25437}

9 years agoFix lower bound violation
Andreas Rossberg [Thu, 20 Nov 2014 11:22:43 +0000 (12:22 +0100)]
Fix lower bound violation

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

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

Cr-Commit-Position: refs/heads/master@{#25436}

9 years agoDisable classes in sloppy mode unless --harmony-sloppy is set
Andreas Rossberg [Thu, 20 Nov 2014 10:51:49 +0000 (11:51 +0100)]
Disable classes in sloppy mode unless --harmony-sloppy is set

Also clean up flag names a little.

Baseline: https://codereview.chromium.org/713413003/

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

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

Cr-Commit-Position: refs/heads/master@{#25435}

9 years agoConditional flags for tests - set JS stack size for simulators.
balazs.kilvady [Thu, 20 Nov 2014 09:46:55 +0000 (01:46 -0800)]
Conditional flags for tests - set JS stack size for simulators.

There are separated JS and C stacks on simulators so for some stack
extensive tests (like mozilla/js1_5/extensions/regress-355497) might
cause a C stack overflow and that overflow is not caught by V8. It is
not an issue on real HW. Increasing the C stack also solves the problem
but we have already FLAG_sim_stack_size flag to control the JS stack
size.

This patch makes it possible to add flags to tests conditionally in
.status files.

TEST=mozilla/js1_5/extensions/regress-355497
BUG=v8:3152
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25434}

9 years agoImplement log10 via fdlibm port.
yangguo [Thu, 20 Nov 2014 09:37:18 +0000 (01:37 -0800)]
Implement log10 via fdlibm port.

R=rtoy@chromium.org
BUG=v8:3579
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25433}

9 years agoRevert of Rename String.prototype.contains to 'includes'. (patchset #1 id:1 of https...
machenbach [Thu, 20 Nov 2014 09:03:44 +0000 (01:03 -0800)]
Revert of Rename String.prototype.contains to 'includes'. (patchset #1 id:1 of https://codereview.chromium.org/742963002/)

Reason for revert:
Breaks test262-es6:
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/1289

Original issue's description:
> Rename String.prototype.contains to 'includes'.
>
> Per TC39 Nov 2014 decison.
>
> R=arv@chromium.org,yangguo@chromium.org
> LOG=Y
>
> Committed: https://chromium.googlesource.com/v8/v8/+/b5379216e23ff0ec734e70361dd07057c2421c96

TBR=arv@chromium.org,yangguo@chromium.org,dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25432}

9 years agoRemove --clever-optimizations
jochen [Thu, 20 Nov 2014 08:54:27 +0000 (00:54 -0800)]
Remove --clever-optimizations

We should always be clever

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

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

Cr-Commit-Position: refs/heads/master@{#25431}

9 years agoRename String.prototype.contains to 'includes'.
dslomov [Thu, 20 Nov 2014 00:31:59 +0000 (16:31 -0800)]
Rename String.prototype.contains to 'includes'.

Per TC39 Nov 2014 decison.

R=arv@chromium.org,yangguo@chromium.org
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25430}

9 years agoRemove Weak{Map,Set}.prototype.clear.
dslomov [Wed, 19 Nov 2014 21:52:49 +0000 (13:52 -0800)]
Remove Weak{Map,Set}.prototype.clear.

Per Nov 2014 TC39 decision.

R=adamk@chromium.org
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25429}

9 years agoReduce ErrorsFutureStrictReservedWords test to make it faster
arv [Wed, 19 Nov 2014 20:31:01 +0000 (12:31 -0800)]
Reduce ErrorsFutureStrictReservedWords test to make it faster

Since checking all possible combinations is taking so long this
reduces the test to test the odd cases (let, yield and static) as
well as a single ordinary case.

BUG=v8:3707
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25428}

9 years agoRemoved unnecessary generalization of all fields in Map::GeneralizeRepresentation...
ishell [Wed, 19 Nov 2014 18:10:12 +0000 (10:10 -0800)]
Removed unnecessary generalization of all fields in Map::GeneralizeRepresentation() (introduced in r25082).

This generalization caused unnecessary map deprecation when the transition tree of the split map is full.

BUG=chromium:431807
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25427}

9 years ago[turbofan]: delay ssa deconstruction in register allocator
dcarney [Wed, 19 Nov 2014 16:23:33 +0000 (08:23 -0800)]
[turbofan]: delay ssa deconstruction in register allocator

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25426}

9 years agoMIPS64: Prepare additonal code for turbofan landing.
Dusan Milosavljevic [Wed, 19 Nov 2014 16:08:23 +0000 (17:08 +0100)]
MIPS64: Prepare additonal code for turbofan landing.

TEST=
BUG=
R=paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#25425}

9 years agoMIPS64: Add turbofan support for mips64.
Dusan Milosavljevic [Wed, 19 Nov 2014 15:44:39 +0000 (16:44 +0100)]
MIPS64: Add turbofan support for mips64.

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

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

Cr-Commit-Position: refs/heads/master@{#25424}

9 years agoAllow stepping into Object.observe handlers.
aandrey [Wed, 19 Nov 2014 15:16:30 +0000 (07:16 -0800)]
Allow stepping into Object.observe handlers.

BUG=chromium:432468
R=yangguo@chromium.org, adamk@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25423}

9 years agoOne instead of two runtime calls when initializing regexp.
yangguo [Wed, 19 Nov 2014 14:13:44 +0000 (06:13 -0800)]
One instead of two runtime calls when initializing regexp.

R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25422}

9 years agoRevert "Re-land r25392 Use a stub in crankshaft for grow store arrays."
Michael Stanton [Wed, 19 Nov 2014 14:08:30 +0000 (15:08 +0100)]
Revert "Re-land r25392 Use a stub in crankshaft for grow store arrays."

Due to performance issue.
TBR=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25421}

9 years agoEnable "strict mode"; for debugger scripts
yurys [Wed, 19 Nov 2014 13:29:45 +0000 (05:29 -0800)]
Enable "strict mode"; for debugger scripts

BUG=v8:3708

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

Cr-Commit-Position: refs/heads/master@{#25420}

9 years agoUpdate default trybots.
machenbach [Wed, 19 Nov 2014 13:00:06 +0000 (05:00 -0800)]
Update default trybots.

Add new gn trybot and remove nosnap dbg for being too slow.
It can be used on demand.

BUG=chromium:353487
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25419}

9 years agoMIPS: Skip some tests on big-endian boards.
paul.lind [Wed, 19 Nov 2014 12:52:05 +0000 (04:52 -0800)]
MIPS: Skip some tests on big-endian boards.

Skip one hard fail, and two frequent flakes while we investigate.

BUG=
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25418}

9 years agoPropertyDetails cleanup: NORMAL property type merged with FIELD.
ishell [Wed, 19 Nov 2014 11:45:17 +0000 (03:45 -0800)]
PropertyDetails cleanup: NORMAL property type merged with FIELD.

First step towards replacing PropertyType with two enums: {DATA,ACCESSOR} x {CONST,WRITABLE}.

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

Cr-Commit-Position: refs/heads/master@{#25417}

9 years agoDo fewer encoding checks in FlatStringReader used in the JSON stringifier.
yangguo [Wed, 19 Nov 2014 11:16:47 +0000 (03:16 -0800)]
Do fewer encoding checks in FlatStringReader used in the JSON stringifier.

R=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25416}

9 years agoFix Unhandled ReferenceError in debug-debugger.js
Yury Semikhatsky [Wed, 19 Nov 2014 10:25:21 +0000 (13:25 +0300)]
Fix Unhandled ReferenceError in debug-debugger.js

This fixes following exception in Sky on attempt to set a breakpoint
"Unhandled: Uncaught ReferenceError: break_point is not defined"
I think this happens in Sky but not in Chrome because Sky scripts are executed in strict mode.

BUG=None
LOG=N
R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25415}

9 years agoX87: Re-land r25392 Use a stub in crankshaft for grow store arrays.
chunyang.dai [Wed, 19 Nov 2014 09:28:10 +0000 (01:28 -0800)]
X87: Re-land r25392 Use a stub in crankshaft for grow store arrays.

port 47f55baeaff0d59366772db95b6c0328a216f611 (r25397)

original commit message:

  Re-land r25392 Use a stub in crankshaft for grow store arrays.

  Code was vulnerable to different evaluation order in Clang.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25414}

9 years agofix typo in pipeline.cc
Dan Carney [Wed, 19 Nov 2014 08:55:13 +0000 (09:55 +0100)]
fix typo in pipeline.cc

TBR=bmeurer@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25413}

9 years ago[turbofan] Smartify typing of NumberToInt32 and NumberToUint32.
Benedikt Meurer [Wed, 19 Nov 2014 07:40:22 +0000 (08:40 +0100)]
[turbofan] Smartify typing of NumberToInt32 and NumberToUint32.

According to ES5 9.5 and 9.6, NaN, -inf, +inf, -0 and 0 all truncate to
zero for both ToInt32 and ToUint32, so we can be a lot smarter in the
typer, loosing less information upon truncation (i.e. x | 0 and x >>> 0).

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25412}

9 years agoRevert "Forward declaration for Isolate / Platform in libplatform.h." and "Fixes...
Benedikt Meurer [Wed, 19 Nov 2014 07:27:48 +0000 (08:27 +0100)]
Revert "Forward declaration for Isolate / Platform in libplatform.h." and "Fixes d8 on windows following.".

This reverts commit 0f57ce8f1a3d6b4f3a4b65739d719b8467ff5d9c.
and 3245b8cb832f4a948aff9fb1c271cc08c4690d3b for breaking Chromium
compile.

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25411}

9 years agoImplement ES6 String.raw behind --harmony-templates
caitpotter88 [Wed, 19 Nov 2014 04:44:35 +0000 (20:44 -0800)]
Implement ES6 String.raw behind --harmony-templates

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25410}

9 years agoFixes d8 on windows following.
bulach [Tue, 18 Nov 2014 21:11:19 +0000 (13:11 -0800)]
Fixes d8 on windows following.

Broke by https://codereview.chromium.org/740493002/

BUG=
NOTRY=true
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#25409}

9 years agoForward declaration for Isolate / Platform in libplatform.h.
bulach [Tue, 18 Nov 2014 20:29:23 +0000 (12:29 -0800)]
Forward declaration for Isolate / Platform in libplatform.h.

Reduces dependencies on #include files, making it easier for other
build systems to include this library.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25408}

9 years agoClasses: Expand test to cover strict runtime behavior
arv [Tue, 18 Nov 2014 19:00:08 +0000 (11:00 -0800)]
Classes: Expand test to cover strict runtime behavior

This tests that the extends expression is treated as strict at
runtime and not just at parse time.

BUG=v8:3330
LOG=Y
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25407}

9 years agoharmony-scoping: better error messages for let declarations in sloppy mode.
dslomov [Tue, 18 Nov 2014 18:51:20 +0000 (10:51 -0800)]
harmony-scoping: better error messages for let declarations in sloppy mode.

R=rossberg@chromium.org
BUG=v8:2198
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25406}

9 years agoCopy unittests binary in android-sync.sh
cullinan [Tue, 18 Nov 2014 18:36:47 +0000 (10:36 -0800)]
Copy unittests binary in android-sync.sh

Without this change, `make android_arm.release.check` fails since the
unittests binary does not exist on the device.

BUG=v8:3695
LOG=

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

Cr-Commit-Position: refs/heads/master@{#25405}

9 years agoMIPS: Re-land r25392 Use a stub in crankshaft for grow store arrays.
Balazs Kilvady [Tue, 18 Nov 2014 18:22:11 +0000 (10:22 -0800)]
MIPS: Re-land r25392 Use a stub in crankshaft for grow store arrays.

Port 47f55baeaff0d59366772db95b6c0328a216f611

Original commit message:
Code was vulnerable to different evaluation order in Clang.

BUG=
R=paul.lind@imgtec.com

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

Patch from Balazs Kilvady <balazs.kilvady@imgtec.com>.

Cr-Commit-Position: refs/heads/master@{#25404}

9 years agoUse ZoneVector instead of ZoneList in the graph builder.
mstarzinger [Tue, 18 Nov 2014 17:48:44 +0000 (09:48 -0800)]
Use ZoneVector instead of ZoneList in the graph builder.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25403}

9 years agov8::String::Concat must not throw.
yangguo [Tue, 18 Nov 2014 15:51:05 +0000 (07:51 -0800)]
v8::String::Concat must not throw.

R=dcarney@chromium.org
BUG=chromium:420240
LOG=Y
API=v8::String::Concat may return empty handle on overflow.

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

Cr-Commit-Position: refs/heads/master@{#25402}

9 years agoRemove ambiguous getter for operator value counts.
mstarzinger [Tue, 18 Nov 2014 15:45:22 +0000 (07:45 -0800)]
Remove ambiguous getter for operator value counts.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25401}

9 years agoFix disabling all break points from within the debug event callback.
yangguo [Tue, 18 Nov 2014 14:57:39 +0000 (06:57 -0800)]
Fix disabling all break points from within the debug event callback.

BUG=chromium:432493
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25400}

9 years agoFix loop information computation for floating loops.
mstarzinger [Tue, 18 Nov 2014 14:55:43 +0000 (06:55 -0800)]
Fix loop information computation for floating loops.

R=jarin@chromium.org
TEST=cctest/test-scheduler/LoopedFloatingDiamond3

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

Cr-Commit-Position: refs/heads/master@{#25399}

9 years agoPrototype for a client-side performance trybot script.
Michael Achenbach [Tue, 18 Nov 2014 14:39:34 +0000 (15:39 +0100)]
Prototype for a client-side performance trybot script.

BUG=chromium:374740
LOG=n
TEST=tools/try_perf.py sunspider octane
R=phajdan.jr@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25398}

9 years agoRe-land r25392 Use a stub in crankshaft for grow store arrays.
Michael Stanton [Tue, 18 Nov 2014 14:30:45 +0000 (15:30 +0100)]
Re-land r25392 Use a stub in crankshaft for grow store arrays.

Code was vulnerable to different evaluation order in Clang.

R=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25397}