platform/upstream/v8.git
9 years agoES6 unicode extensions, part 1.
marja [Tue, 2 Dec 2014 10:58:11 +0000 (02:58 -0800)]
ES6 unicode extensions, part 1.

Allows \u{xxxxx} in variable names and string literals (not yet in regexps).

Everything's behind the --harmony-unicode flag.

BUG=

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

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

9 years ago[turbofan] Initialize less frequently used types in typer.cc lazily.
titzer [Tue, 2 Dec 2014 10:43:00 +0000 (02:43 -0800)]
[turbofan] Initialize less frequently used types in typer.cc lazily.

R=jarin@chromium.org
BUG=

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

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

9 years agoParser: Removing debug code.
marja [Tue, 2 Dec 2014 10:31:40 +0000 (02:31 -0800)]
Parser: Removing debug code.

The mystery crash never reappeared once the debugging code was in place.

R=jochen@chromium.org
BUG=

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

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

9 years ago[turbofan] Make context specialization into a reducer.
titzer [Tue, 2 Dec 2014 10:02:38 +0000 (02:02 -0800)]
[turbofan] Make context specialization into a reducer.

R=bmeurer@chromium.org
BUG=

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

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

9 years agoFix idle time trace printing.
Hannes Payer [Tue, 2 Dec 2014 09:27:41 +0000 (10:27 +0100)]
Fix idle time trace printing.

BUG=
R=jochen@chromium.org

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

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

9 years agoAdd GetIdentityHash to v8::Name object API
yurys [Tue, 2 Dec 2014 09:13:16 +0000 (01:13 -0800)]
Add GetIdentityHash to v8::Name object API

v8::Object already has GetIdentityHash on it. This change adds its counterpart to v8::Name.

BUG=chromium:437416
LOG=Y

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

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

9 years agoRevert of Use weak cells in map checks in polymorphic ICs. (patchset #8 id:140001...
machenbach [Tue, 2 Dec 2014 08:16:43 +0000 (00:16 -0800)]
Revert of Use weak cells in map checks in polymorphic ICs. (patchset #8 id:140001 of https://codereview.chromium.org/753993003/)

Reason for revert:
[Sheriff] Speculative revert for breaking chromium asan (roll blocker):
http://build.chromium.org/p/client.v8/builders/Linux%20ASan%20LSan%20Tests%20%281%29/builds/1683

Original issue's description:
> Use weak cells in map checks in polymorphic ICs.
>
> BUG=v8:3663
> LOG=N

TBR=mvstanton@chromium.org,akos.palfi@imgtec.com,weiliang.lin@intel.com,ulan@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3663

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

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

9 years agoRevert of MIPS: Use weak cells in map checks in polymorphic ICs. (patchset #1 id...
machenbach [Tue, 2 Dec 2014 08:15:30 +0000 (00:15 -0800)]
Revert of MIPS: Use weak cells in map checks in polymorphic ICs. (patchset #1 id:1 of https://codereview.chromium.org/767623003/)

Reason for revert:
Need to revert the ported CL:
https://codereview.chromium.org/771033003/

Original issue's description:
> MIPS: Use weak cells in map checks in polymorphic ICs.
>
> Port 45a36948e1bb0f02d395ecbcfe6306553898268b
>
> Fix typo in the mips ports.
>
> BUG=

TBR=ulan@chromium.org,danno@chromium.org,akos.palfi@imgtec.com,balazs.kilvady@imgtec.com,gergely.kis@imgtec.com,dusan.milosavljevic@imgtec.com,paul.lind@imgtec.com
NOTREECHECKS=true
NOTRY=true
BUG=

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

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

9 years ago[ia32] Introduce vex prefix version of float64 arithmetic binop
weiliang.lin [Tue, 2 Dec 2014 08:09:39 +0000 (00:09 -0800)]
[ia32] Introduce vex prefix version of float64 arithmetic binop

port 50c4d8826b838596cda892d76ec84eb7a0eab9c1

BUG=

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

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

9 years ago[turbofan] Workaround inconsistency of the type system.
bmeurer [Tue, 2 Dec 2014 07:30:36 +0000 (23:30 -0800)]
[turbofan] Workaround inconsistency of the type system.

R=svenpanne@chromium.org

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

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

9 years agoGet rid of the unused __my_bool__ macro.
bmeurer [Tue, 2 Dec 2014 07:25:36 +0000 (23:25 -0800)]
Get rid of the unused __my_bool__ macro.

R=svenpanne@chromium.org

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

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

9 years agoSet V8_CC_GNU or V8_CC_MSVC for clang in gcc / cl mode.
thakis [Tue, 2 Dec 2014 05:23:09 +0000 (21:23 -0800)]
Set V8_CC_GNU or V8_CC_MSVC for clang in gcc / cl mode.

Also, remove V8_CC_CLANG since it's not read anywhere (and ideally shouldn't
be).

Clang tries to be compatible with gcc in clang mode, and with msvc in clang-cl
mode. It wants to go down the same code paths that these compilers want to go
down in most cases.

For example, V8PRIxPTR was set incorrectly on Windows 64-bit before this change
since macros.h assumed that checking for V8_CC_MSVC is enough to find LLP64
systems, but V8_CC_MSVC wasn't set for clang.  Most other existing checks for
V8_CC_MSVC should be taken for clang-cl too (and for the remaining ones,
clang-cl is happy with either code path).

Likewise, V8_IMMEDIATE_CRASH is currently set to a suboptimal value with clang
since __builtin_trap() is only used if V8_CC_GNU is set.

Including clang in the gcc and cl macros is also what chromium does.

BUG=chromium:82385
LOG=y

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

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

9 years ago[turbofan] Add checked load/store operators.
Benedikt Meurer [Tue, 2 Dec 2014 04:48:57 +0000 (05:48 +0100)]
[turbofan] Add checked load/store operators.

TEST=mjsunit,cctest,unittests
R=jarin@chromium.org

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

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

9 years agoMIPS: Use weak cells in map checks in polymorphic ICs.
paul.lind [Mon, 1 Dec 2014 22:26:37 +0000 (14:26 -0800)]
MIPS: Use weak cells in map checks in polymorphic ICs.

Port 45a36948e1bb0f02d395ecbcfe6306553898268b

Fix typo in the mips ports.

BUG=

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

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

9 years agoharmony-classes: Fix some issues with syntactic restriction on super(...).
dslomov [Mon, 1 Dec 2014 20:13:44 +0000 (12:13 -0800)]
harmony-classes: Fix some issues with syntactic restriction on super(...).

R=arv@chromium.org
BUG=v8:3330
LOG=N

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

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

9 years agoUse just one marking deque.
hpayer [Mon, 1 Dec 2014 17:02:54 +0000 (09:02 -0800)]
Use just one marking deque.

BUG=

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

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

9 years ago[turbofan] Add a PhaseScope for initialization.
titzer [Mon, 1 Dec 2014 16:15:36 +0000 (08:15 -0800)]
[turbofan] Add a PhaseScope for initialization.

R=dcarney@chromium.org
BUG=

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

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

9 years agoImproved Makefile.android's readability a bit.
svenpanne [Mon, 1 Dec 2014 14:30:25 +0000 (06:30 -0800)]
Improved Makefile.android's readability a bit.

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

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

9 years agoDo not call Heap::IterateAndMarkPointersToFromSpace() for unboxed double fields.
ishell [Mon, 1 Dec 2014 14:19:11 +0000 (06:19 -0800)]
Do not call Heap::IterateAndMarkPointersToFromSpace() for unboxed double fields.

BUG=chromium:437143
LOG=N

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

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

9 years agoAndroid ARM: enable PIE.
ulan [Mon, 1 Dec 2014 14:06:18 +0000 (06:06 -0800)]
Android ARM: enable PIE.

BUG=

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

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

9 years ago[turbofan] NodeMarker in ControlReducer.
titzer [Mon, 1 Dec 2014 11:50:37 +0000 (03:50 -0800)]
[turbofan] NodeMarker in ControlReducer.

R=mstarzinger@chromium.org
BUG=

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

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

9 years ago[x64] introduce vex prefix version of float64 arithmetic binop
Weiliang Lin [Mon, 1 Dec 2014 10:45:02 +0000 (11:45 +0100)]
[x64] introduce vex prefix version of float64 arithmetic binop

BUG=
R=bmeurer@chromium.org

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

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

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

9 years agoUse weak cells in map checks in polymorphic ICs.
ulan [Mon, 1 Dec 2014 10:41:01 +0000 (02:41 -0800)]
Use weak cells in map checks in polymorphic ICs.

BUG=v8:3663
LOG=N

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

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

9 years ago[turbofan]: Use "leal" more prevasively on x64
danno [Mon, 1 Dec 2014 10:04:32 +0000 (02:04 -0800)]
[turbofan]: Use "leal" more prevasively on x64

Only use "addl" and "subl" in cases that have been measured to be
faster (currently only immediate operations).

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

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

9 years agoFix clang++ warnings on -Wtautological-constant-out-of-range-compare
halton.huo [Mon, 1 Dec 2014 09:17:24 +0000 (01:17 -0800)]
Fix clang++ warnings on -Wtautological-constant-out-of-range-compare

BUG=v8:3730
LOG=N
R=dslomov@chromium.org

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

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

9 years agoMake sure we have non-zero idle time even after rounding to size_t
jochen [Mon, 1 Dec 2014 09:15:03 +0000 (01:15 -0800)]
Make sure we have non-zero idle time even after rounding to size_t

BUG=v8:3728
R=machenbach@chromium.org
LOG=n

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

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

9 years agoIntroduce a kill-switch for shipping features.
dslomov [Fri, 28 Nov 2014 20:07:11 +0000 (12:07 -0800)]
Introduce a kill-switch for shipping features.

R=rossberg@chromium.org
TBR=hpayer@chromium.org

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

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

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

9 years agoAbstract platform in perf runner.
machenbach [Fri, 28 Nov 2014 18:39:41 +0000 (10:39 -0800)]
Abstract platform in perf runner.

This is basically a refactoring that extracts desktop
specific code into a separate class.

Also adds flags for android runs (not used yet).

BUG=chromium:374740
LOG=n
TEST=python -m unittest run_perf_test
NOTRY=true

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

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

9 years agoRemove deprecated NodeData class.
mstarzinger [Fri, 28 Nov 2014 18:38:31 +0000 (10:38 -0800)]
Remove deprecated NodeData class.

R=titzer@chromium.org

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

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

9 years agoRevert of Introduce a kill-switch for shipping features. (patchset #2 id:20001 of...
dslomov [Fri, 28 Nov 2014 18:27:45 +0000 (10:27 -0800)]
Revert of Introduce a kill-switch for shipping features. (patchset #2 id:20001 of https://codereview.chromium.org/763273002/)

Reason for revert:
Reverted for breaking nosnap: http://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20nosnap/builds/1003/steps/Check/logs/Threading3

Original issue's description:
> Introduce a kill-switch for shipping features.
>
> R=rossberg@chromium.org
>
> Committed: https://chromium.googlesource.com/v8/v8/+/d6285620868b15c84eb9affa59f6b4e869f074b8

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

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

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

9 years agoStage @@toStringTag (--harmony-tostring)
dslomov [Fri, 28 Nov 2014 15:41:34 +0000 (07:41 -0800)]
Stage @@toStringTag (--harmony-tostring)

R=rossberg@chromium.org,caitpotter88@gmail.com
LOG=Y

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

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

9 years agoDe-generify the GenericNode.
mstarzinger [Fri, 28 Nov 2014 15:21:33 +0000 (07:21 -0800)]
De-generify the GenericNode.

R=titzer@chromium.org

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

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

9 years agoExpose generator object internal properties via mirrors.
aandrey [Fri, 28 Nov 2014 14:48:58 +0000 (06:48 -0800)]
Expose generator object internal properties via mirrors.

BUG=v8:3292
R=yangguo@chromium.org, wingo@igalia.com
LOG=N

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

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

9 years agoIntroduce a kill-switch for shipping features.
Dmitry Lomov [Fri, 28 Nov 2014 14:32:07 +0000 (15:32 +0100)]
Introduce a kill-switch for shipping features.

R=rossberg@chromium.org

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

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

9 years agoDe-generify the GenericGraph.
mstarzinger [Fri, 28 Nov 2014 14:21:01 +0000 (06:21 -0800)]
De-generify the GenericGraph.

R=titzer@chromium.org

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

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

9 years agoMIPS64: Fix MULT in simulator to conform the spec.
Dusan Milosavljevic [Fri, 28 Nov 2014 13:35:00 +0000 (14:35 +0100)]
MIPS64: Fix MULT in simulator to conform the spec.

TEST=mjsunit/numops-fuzz-part4
BUG=
R=balazs.kilvady@imgtec.com

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

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

9 years ago[turbofan] Add NodeMarker and use it in the GraphReducer.
Ben L. Titzer [Fri, 28 Nov 2014 13:04:49 +0000 (14:04 +0100)]
[turbofan] Add NodeMarker and use it in the GraphReducer.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoSerializer: use opcode to signal new chunk.
yangguo [Fri, 28 Nov 2014 12:07:40 +0000 (04:07 -0800)]
Serializer: use opcode to signal new chunk.

R=mvstanton@chromium.org

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

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

9 years agoRemove deprecated pieces from generic algorithm.
mstarzinger [Fri, 28 Nov 2014 11:57:08 +0000 (03:57 -0800)]
Remove deprecated pieces from generic algorithm.

R=titzer@chromium.org

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

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

9 years agoUse incremental marking deque in idle notification.
hpayer [Fri, 28 Nov 2014 11:53:59 +0000 (03:53 -0800)]
Use incremental marking deque in idle notification.

BUG=

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

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

9 years agoMake resources config ready for android test runner.
machenbach [Fri, 28 Nov 2014 11:35:37 +0000 (03:35 -0800)]
Make resources config ready for android test runner.

This switches off the resources feature. It will be solely
used for configuring files to be copied to android devices
in a follow up CL.

TBR=svenpanne@chromium.org
NOTRY=true

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

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

9 years agoadd fast path for hashing small cons strings
dcarney [Fri, 28 Nov 2014 11:07:34 +0000 (03:07 -0800)]
add fast path for hashing small cons strings

R=yangguo@chromium.org
LOG=N

BUG=437280

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

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

9 years agoRemove duplicate code for searching SharedFunctionInfo.
mstarzinger [Fri, 28 Nov 2014 11:06:16 +0000 (03:06 -0800)]
Remove duplicate code for searching SharedFunctionInfo.

R=mvstanton@chromium.org

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

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

9 years agoUse deadline in IdleNotification.
hpayer [Fri, 28 Nov 2014 10:59:18 +0000 (02:59 -0800)]
Use deadline in IdleNotification.

BUG=417668
LOG=n

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

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

9 years agoAdd test flags feature to perf runner.
machenbach [Fri, 28 Nov 2014 10:34:28 +0000 (02:34 -0800)]
Add test flags feature to perf runner.

TBR=svenpanne@chromium.org
NOTRY=true

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

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

9 years agoFix candidate lookup in auto push script.
machenbach [Fri, 28 Nov 2014 08:11:35 +0000 (00:11 -0800)]
Fix candidate lookup in auto push script.

NOTRY=true
BUG=chromium:431669
LOG=n
TBR=jkummerow@chromium.org
TEST=./script_test.py

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

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

9 years agoFix nosnap build
Dmitry Lomov [Fri, 28 Nov 2014 06:22:45 +0000 (07:22 +0100)]
Fix nosnap build

TBR=rossberg@chromium.org

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

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

9 years agoX87: Flesh out vector ic state query and set mechanisms.
chunyang.dai [Fri, 28 Nov 2014 04:18:03 +0000 (20:18 -0800)]
X87: Flesh out vector ic state query and set mechanisms.

port c142994f742b52cd59aa15d0961d4b0034bcbf88

original commit message:

    Flesh out vector ic state query and set mechanisms.

    The IC system now fully integrates the vector concept and can
    handle loads and keyed loads vector-based.

BUG=

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

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

9 years agoharmony-classes: Implement 'super(...)' call syntactic restriction.
dslomov [Fri, 28 Nov 2014 04:08:48 +0000 (20:08 -0800)]
harmony-classes: Implement 'super(...)' call syntactic restriction.

R=rossberg@chromium.org,arv@chromium.org
BUG=v8:3330
LOG=N

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

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

9 years agoMIPS: Flesh out vector ic state query and set mechanisms.
Balazs Kilvady [Thu, 27 Nov 2014 23:39:47 +0000 (00:39 +0100)]
MIPS: Flesh out vector ic state query and set mechanisms.

Port c142994f742b52cd59aa15d0961d4b0034bcbf88

Original commit message:
The IC system now fully integrates the vector concept and can
handle loads and keyed loads vector-based.

BUG=
R=akos.palfi@imgtec.com

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

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

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

9 years agoSet clang directory in gyp.
machenbach [Thu, 27 Nov 2014 17:18:03 +0000 (09:18 -0800)]
Set clang directory in gyp.

BUG=

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

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

9 years agoFlesh out vector ic state query and set mechanisms.
Michael Stanton [Thu, 27 Nov 2014 16:36:18 +0000 (17:36 +0100)]
Flesh out vector ic state query and set mechanisms.

The IC system now fully integrates the vector concept and can
handle loads and keyed loads vector-based.

BUG=
R=jkummerow@chromium.org

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

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

9 years ago[turbofan] Avoid repeatedly revisiting inputs in GraphReducer.
titzer [Thu, 27 Nov 2014 16:24:08 +0000 (08:24 -0800)]
[turbofan] Avoid repeatedly revisiting inputs in GraphReducer.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoSet @@toStringTag on GeneratorFunction prototype.
dslomov [Thu, 27 Nov 2014 16:09:31 +0000 (08:09 -0800)]
Set @@toStringTag on GeneratorFunction prototype.

R=caitpotter88@gmail.com
BUG=v8:3502
LOG=N

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

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

9 years agoMake TemplateLiteral hashing algorithm more memory efficient
caitpotter88 [Thu, 27 Nov 2014 15:47:42 +0000 (07:47 -0800)]
Make TemplateLiteral hashing algorithm more memory efficient

Previously, a separate string to be hashed (in order to help determine the need to
use a cached Template Call Site) was built up by joining UTF8 spans within a template.

Now, the hash key is generated from the original spans, removing the need to allocate a new
buffer and copy bytes into it.

BUG=

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

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

9 years agoRemove deprecated constant helpers from JSGenericLowering.
mstarzinger [Thu, 27 Nov 2014 14:13:46 +0000 (06:13 -0800)]
Remove deprecated constant helpers from JSGenericLowering.

R=bmeurer@chromium.org

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

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

9 years agoFix reduction result for branches in generic lowering.
mstarzinger [Thu, 27 Nov 2014 13:44:27 +0000 (05:44 -0800)]
Fix reduction result for branches in generic lowering.

R=bmeurer@chromium.org

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

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

9 years agoJust account for context disposal garbage collections in context disposal stats counters.
hpayer [Thu, 27 Nov 2014 13:10:52 +0000 (05:10 -0800)]
Just account for context disposal garbage collections in context disposal stats counters.

BUG=

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

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

9 years agoRe-land: Distinguish beween final incremental mark-compact and full mark-compact...
Hannes Payer [Thu, 27 Nov 2014 12:39:41 +0000 (13:39 +0100)]
Re-land: Distinguish beween final incremental mark-compact and full mark-compact event in IdleNotification.

BUG=
R=ulan@chromium.org

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

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

9 years agoJust finalize incremental marking when marking is done in idle notification.
hpayer [Thu, 27 Nov 2014 12:16:30 +0000 (04:16 -0800)]
Just finalize incremental marking when marking is done in idle notification.

BUG=

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

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

9 years agoStart immediate dominator propagation at entry to floating control.
mstarzinger [Thu, 27 Nov 2014 12:00:30 +0000 (04:00 -0800)]
Start immediate dominator propagation at entry to floating control.

R=titzer@chromium.org

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

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

9 years agoSwitch backedge table in scheduler to use ZoneVector.
mstarzinger [Thu, 27 Nov 2014 11:53:19 +0000 (03:53 -0800)]
Switch backedge table in scheduler to use ZoneVector.

R=jarin@chromium.org

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

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

9 years agoMIPS: harmony-scoping: make assignment to 'const' a late error.
balazs.kilvady [Thu, 27 Nov 2014 11:21:00 +0000 (03:21 -0800)]
MIPS: harmony-scoping: make assignment to 'const' a late error.

Port 6ac4de87a8b01500b066a3e401e921d2d84b42db

Original commit message:
Per TC39 Nov 2014 decision.

This patch also changes behavior for "legacy const": assignments to sloppy const in strict mode is now also a type error. This fixes v8:2243 and also brings us in compliance with other engines re assignment to function names (see updated webkit test), but might have bigger implications.
That change can easily be reverted by changing Variable::IsSignallingAssignmentToConst.

BUG=v8:3713,v8:2243
LOG=N

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

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

9 years agoIntroduce a new growth criterion for the new space behind a flag
jochen [Thu, 27 Nov 2014 10:52:47 +0000 (02:52 -0800)]
Introduce a new growth criterion for the new space behind a flag

With this flag, we grow if more than 10% survived the last scavenge.

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

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

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

9 years agoJust print interesting idle notification events in --trace-idle-notification.
hpayer [Thu, 27 Nov 2014 10:50:40 +0000 (02:50 -0800)]
Just print interesting idle notification events in --trace-idle-notification.

BUG=

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

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

9 years agoAdd support for downloading clang
jochen [Thu, 27 Nov 2014 10:29:41 +0000 (02:29 -0800)]
Add support for downloading clang

Still requires changes to gyp files to select the built-in clang as
compiler and make clang the default on the platforms we want it.

BUG=
R=dcarney@chromium.org,machenbach@chromium.org
LOG=n

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

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

9 years agoAdd interceptor support for symbols
dcarney [Thu, 27 Nov 2014 10:21:32 +0000 (02:21 -0800)]
Add interceptor support for symbols

a revival of https://codereview.chromium.org/467013003

R=rossberg@chromium.org

BUG=

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

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

9 years agoShip harmony-strings
dslomov [Thu, 27 Nov 2014 10:17:07 +0000 (02:17 -0800)]
Ship harmony-strings

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

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

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

9 years agoFast-to-slow migration should wipe out in-object space if it exists in the object...
ishell [Thu, 27 Nov 2014 10:10:48 +0000 (02:10 -0800)]
Fast-to-slow migration should wipe out in-object space if it exists in the object after migration.

BUG=chromium:436816
LOG=N

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

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

9 years agoEnsure double alignment when deserializing.
yangguo [Thu, 27 Nov 2014 09:22:10 +0000 (01:22 -0800)]
Ensure double alignment when deserializing.

R=rmcilroy@chromium.org
BUG=chromium:436510
LOG=N
TEST=compile with V8_OOL_CONSTANT_POOL=1, run d8 with --verify-heap --test

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

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

9 years ago[turbofan] add initial move optimizer
dcarney [Thu, 27 Nov 2014 09:19:31 +0000 (01:19 -0800)]
[turbofan] add initial move optimizer

R=bmeurer@chromium.org

BUG=

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

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

9 years agoX87: harmony-scoping: make assignment to 'const' a late error.
Chunyang Dai [Thu, 27 Nov 2014 07:19:47 +0000 (15:19 +0800)]
X87: harmony-scoping: make assignment to 'const' a late error.

port 6ac4de87a8b01500b066a3e401e921d2d84b42db

original commit message:
  harmony-scoping: make assignment to 'const' a late error.

  Per TC39 Nov 2014 decision. This patch also changes behavior for "legacy const":
  assignments to sloppy const in strict mode is now also a type error. This fixes
  v8:2243 and also brings us in compliance with other engines re assignment to function
  names (see updated webkit test), but might have bigger implications. That change can
  easily be reverted by changing Variable::IsSignallingAssignmentToConst.

BUG=
R=dslomov@chromium.org, weiliang.lin@intel.com

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

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

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

9 years agoMove linked list for RPO order into BasicBlock itself.
mstarzinger [Wed, 26 Nov 2014 17:39:06 +0000 (09:39 -0800)]
Move linked list for RPO order into BasicBlock itself.

R=titzer@chromium.org

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

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

9 years agoMap::CopyGeneralizeAllRepresentations() left incorrect layout descriptor in a new...
ishell [Wed, 26 Nov 2014 17:36:57 +0000 (09:36 -0800)]
Map::CopyGeneralizeAllRepresentations() left incorrect layout descriptor in a new map.

BUG=chromium:436820
LOG=N

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

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

9 years agoFix raw TemplateLiteral spans with non-ascii characters
caitpotter88 [Wed, 26 Nov 2014 17:15:47 +0000 (09:15 -0800)]
Fix raw TemplateLiteral spans with non-ascii characters

BUG=v8:3710

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

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

9 years agoAbort optimization in corner case.
titzer [Wed, 26 Nov 2014 16:57:45 +0000 (08:57 -0800)]
Abort optimization in corner case.

The %OptimizeFunctionOnNextCall sledgehammer can cause a function to be
marked for optimization before it's ever been compiled by fullcode.
This can lead to the situation where a function doesn't have optimization
disabled until we try to compile it optimized.

Basically, the assert should just handle this case more gracefully.

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

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

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

9 years agoDo not try to inline if the function has an illegal redeclaration.
jarin [Wed, 26 Nov 2014 16:32:37 +0000 (08:32 -0800)]
Do not try to inline if the function has an illegal redeclaration.

R=mvstanton@chromium.org
BUG=chromium:436896
LOG=n

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

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

9 years agoPush roll candidates based on candidate ref instead of lkgr.
machenbach [Wed, 26 Nov 2014 15:23:35 +0000 (07:23 -0800)]
Push roll candidates based on candidate ref instead of lkgr.

This pushes v8 to the candidates branch based on the
candidate ref, which is guaranteed to be the same for 8
hours.

The candidate ref is maintained by this bot:
http://build.chromium.org/p/client.v8/builders/Auto-roll%20-%20release%20process

NOTRY=true
BUG=chromium:431669
LOG=n

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

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

9 years agoReuse CFGBuilder in the scheduler to save memory.
mstarzinger [Wed, 26 Nov 2014 14:19:34 +0000 (06:19 -0800)]
Reuse CFGBuilder in the scheduler to save memory.

R=bmeurer@chromium.org

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

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

9 years agoMake GCTracer not reentrant.
hpayer [Wed, 26 Nov 2014 14:11:28 +0000 (06:11 -0800)]
Make GCTracer not reentrant.

BUG=

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

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

9 years agoSome micro-optimizations in the scheduler.
mstarzinger [Wed, 26 Nov 2014 13:13:34 +0000 (05:13 -0800)]
Some micro-optimizations in the scheduler.

R=bmeurer@chromium.org

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

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

9 years agoFix Windows 32.
Ben L. Titzer [Wed, 26 Nov 2014 13:06:32 +0000 (14:06 +0100)]
Fix Windows 32.

TBR=dcarney@chromium.org
BUG=

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

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

9 years ago[turbofan] Implement jump threading after register allocation.
titzer [Wed, 26 Nov 2014 12:41:46 +0000 (04:41 -0800)]
[turbofan] Implement jump threading after register allocation.

R=dcarney@chromium.org
BUG=

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

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

9 years agoStage ES6 block scoping.
dslomov [Wed, 26 Nov 2014 12:28:36 +0000 (04:28 -0800)]
Stage ES6 block scoping.

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

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

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

9 years agoIntroduce legacy const slots in correct context.
dslomov [Wed, 26 Nov 2014 12:16:19 +0000 (04:16 -0800)]
Introduce legacy const slots in correct context.

R=rossberg@chromium.org
BUG=chromium:410030
LOG=Y

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

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

9 years agoDon't use ConsStringIterator to compute string hashes
dcarney [Wed, 26 Nov 2014 11:53:27 +0000 (03:53 -0800)]
Don't use ConsStringIterator to compute string hashes

R=yangguo@chromium.org

BUG=

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

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

9 years ago[turbofan] Recognize rotate right.
rodolph.perfetta [Wed, 26 Nov 2014 11:49:35 +0000 (03:49 -0800)]
[turbofan] Recognize rotate right.

Extended the rotate left detection code.

BUG=

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

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

9 years agoharmony-scoping: make assignment to 'const' a late error.
dslomov [Wed, 26 Nov 2014 11:21:09 +0000 (03:21 -0800)]
harmony-scoping: make assignment to 'const' a late error.

Per TC39 Nov 2014 decision.

This patch also changes behavior for "legacy const": assignments to sloppy const in strict mode is now also a type error. This fixes v8:2243 and also brings us in compliance with other engines re assignment to function names (see updated webkit test), but might have bigger implications.
That change can easily be reverted by changing Variable::IsSignallingAssignmentToConst.

BUG=v8:3713,v8:2243
LOG=N

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

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

9 years ago[arm] Fix recognition of VNEG.
Benedikt Meurer [Wed, 26 Nov 2014 11:18:46 +0000 (12:18 +0100)]
[arm] Fix recognition of VNEG.

TEST=mjsunit,unittests
R=svenpanne@chromium.org

Committed: https://chromium.googlesource.com/v8/v8/+/2aed882fe74dbf9210159babe30fedccd900e7cf

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

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

9 years agoRevert of [arm] Fix recognition of VNEG. (patchset #3 id:40001 of https://codereview...
machenbach [Wed, 26 Nov 2014 11:07:08 +0000 (03:07 -0800)]
Revert of [arm] Fix recognition of VNEG. (patchset #3 id:40001 of https://codereview.chromium.org/762493006/)

Reason for revert:
Breaks arm compilation.

Original issue's description:
> [arm] Fix recognition of VNEG.
>
> TEST=mjsunit,unittests
> R=svenpanne@chromium.org
>
> Committed: https://chromium.googlesource.com/v8/v8/+/2aed882fe74dbf9210159babe30fedccd900e7cf

TBR=svenpanne@chromium.org,bmeurer@chromium.org
NOTREECHECKS=true
NOTRY=true

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

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

9 years ago[arm] Fix recognition of VNEG.
Benedikt Meurer [Wed, 26 Nov 2014 10:46:22 +0000 (11:46 +0100)]
[arm] Fix recognition of VNEG.

TEST=mjsunit,unittests
R=svenpanne@chromium.org

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

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

9 years agoDouble timeout for slow tests.
machenbach [Wed, 26 Nov 2014 09:34:54 +0000 (01:34 -0800)]
Double timeout for slow tests.

TBR=svenpanne@chromium.org

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

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

9 years agoMark slow tests as slow.
machenbach [Wed, 26 Nov 2014 08:51:35 +0000 (00:51 -0800)]
Mark slow tests as slow.

TBR=svenpanne@chromium.org

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

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

9 years agoDisable ParserSync test for now, it takes waaaaay too long.
svenpanne [Wed, 26 Nov 2014 08:15:46 +0000 (00:15 -0800)]
Disable ParserSync test for now, it takes waaaaay too long.

Running this in x64.release mode on a powerful HP620 takes 4 seconds,
this is at least 2 orders of magnitude too slow and leads to tons of
false positives on our build bots due to timeouts. As it is, the
cost-benefit ratio is far too low.

The whole approach needs to be changed: Instead of trying to exhaust
some search space in unit tests, this should be turned into a fuzzing
test where only a small but random number of things are tested. The
exhaustive approach can be done separately, but definitely not in the
unit tests.

BUG=v8:3707

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

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

9 years ago[x64] Introduce FMA3 instructions on scalar data elements.
Weiliang Lin [Wed, 26 Nov 2014 05:31:41 +0000 (06:31 +0100)]
[x64] Introduce FMA3 instructions on scalar data elements.

R=bmeurer@chromium.org

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

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

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

9 years ago[turbofan] Use special constant type for RPO block number operands.
titzer [Wed, 26 Nov 2014 05:16:31 +0000 (21:16 -0800)]
[turbofan] Use special constant type for RPO block number operands.

R=dcarney@chromium.org
BUG=

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

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

9 years agoDocument that Isolate::GetCurrent() must not be called before initialization
jochen [Wed, 26 Nov 2014 05:15:17 +0000 (21:15 -0800)]
Document that Isolate::GetCurrent() must not be called before initialization

Also, add a check for debug mode.

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

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

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

9 years agoRevert "Distinguish beween final incremental mark-compact and full mark-compact event...
Benedikt Meurer [Wed, 26 Nov 2014 05:12:25 +0000 (06:12 +0100)]
Revert "Distinguish beween final incremental mark-compact and full mark-compact event in IdleNotification."

This reverts commit d15d453fa5aaeeb1f7e010a1baf71e7b3306802b for
breaking cctest/test-api/Threading3.

TBR=hpayer@chromium.org

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

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

9 years agoMove C++ flags for Android to cxxflags section
jochen [Tue, 25 Nov 2014 15:42:20 +0000 (07:42 -0800)]
Move C++ flags for Android to cxxflags section

BUG=v8:3693
R=ulan@chromium.org
LOG=n

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

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

9 years agoForce inline Stirng::GetCharVector<>.
yangguo [Tue, 25 Nov 2014 15:29:50 +0000 (07:29 -0800)]
Force inline Stirng::GetCharVector<>.

R=mvstanton@chromium.org
BUG=chromium:436447

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

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