platform/upstream/v8.git
9 years agoMIPS64: Megamorphic KeyedLoadIC needs special handling for vector ics.
balazs.kilvady [Mon, 2 Feb 2015 17:50:10 +0000 (09:50 -0800)]
MIPS64: Megamorphic KeyedLoadIC needs special handling for vector ics.

Port 16843e239d95f5e8eaaa06d2a0a6e371298fe11f

Original commit message:
When --vector-ics is true, we still tail-call to the hand-written
megamorphic KeyedLoadIC (formerly "generic"). Now that this code uses
the megamorphic cache, it needs to deal properly with the vector and
slot registers. Achieve this with a sentinel vectors/slot combo.

BUG=

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

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

9 years agoWhitespace change to test goma activation.
Michael Achenbach [Mon, 2 Feb 2015 15:57:45 +0000 (16:57 +0100)]
Whitespace change to test goma activation.

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

9 years agoInitialize CompilationInfo::osr_expr_stack_height correctly.
titzer [Mon, 2 Feb 2015 14:29:56 +0000 (06:29 -0800)]
Initialize CompilationInfo::osr_expr_stack_height correctly.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoMegamorphic KeyedLoadIC needs special handling for vector ics.
mvstanton [Mon, 2 Feb 2015 13:55:00 +0000 (05:55 -0800)]
Megamorphic KeyedLoadIC needs special handling for vector ics.

When --vector-ics is true, we still tail-call to the hand-written
megamorphic KeyedLoadIC (formerly "generic"). Now that this code uses
the megamorphic cache, it needs to deal properly with the vector and
slot registers. Achieve this with a sentinel vectors/slot combo.

R=dcarney@chromium.org
BUG=

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

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

9 years agoCheck global object behind global proxy for extensibility
verwaest [Mon, 2 Feb 2015 12:49:00 +0000 (04:49 -0800)]
Check global object behind global proxy for extensibility

BUG=454091
LOG=Y

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

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

9 years agoUse weak cells in CheckPropertyCell.
ulan [Mon, 2 Feb 2015 12:47:51 +0000 (04:47 -0800)]
Use weak cells in CheckPropertyCell.

BUG=v8:3629
LOG=N

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

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

9 years agoSpeed up tests for OSR of for-in and for-of loops.
titzer [Mon, 2 Feb 2015 11:51:55 +0000 (03:51 -0800)]
Speed up tests for OSR of for-in and for-of loops.

R=marja@chromium.org
BUG=

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

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

9 years ago[turbofan] push virtual register field down to InstructionOperand
dcarney [Mon, 2 Feb 2015 11:38:29 +0000 (03:38 -0800)]
[turbofan] push virtual register field down to InstructionOperand

BUG=

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

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

9 years ago[turbofan] Fix OSR into functions where the expression stack is not empty.
titzer [Mon, 2 Feb 2015 10:19:52 +0000 (02:19 -0800)]
[turbofan] Fix OSR into functions where the expression stack is not empty.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoshell.cc race condition
cwhan.tunz [Mon, 2 Feb 2015 08:08:16 +0000 (00:08 -0800)]
shell.cc race condition

BUG=v8:3850
LOG=N

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

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

9 years agoMIPS64: Fix bugs after hole-nan value change.
paul.lind [Mon, 2 Feb 2015 00:00:01 +0000 (16:00 -0800)]
MIPS64: Fix bugs after hole-nan value change.

TEST=mjsunit/regress/regress-undefined-nan{2,3}, mjsunit/elements-transition, mjsunit/elide-double-hole-check-*
BUG=

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

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

9 years agoWhitespace change to trigger bots.
Michael Achenbach [Sun, 1 Feb 2015 10:30:32 +0000 (11:30 +0100)]
Whitespace change to trigger bots.

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

9 years agoRevert of Fix --max_old_space_size=4096 integer overflow. (patchset #1 id:1 of https...
Yang Guo [Sun, 1 Feb 2015 08:08:33 +0000 (09:08 +0100)]
Revert of Fix --max_old_space_size=4096 integer overflow. (patchset #1 id:1 of https://codereview.chromium.org/890563003/)

Reason for revert:
Win64 compile failure.

Original issue's description:
> Fix --max_old_space_size=4096 integer overflow.
>
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/6253aa8908c55535473ddbe1db8e5a6f5e559b73
> Cr-Commit-Position: refs/heads/master@{#26371}

TBR=svenpanne@chromium.org,ben@strongloop.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoFix --max_old_space_size=4096 integer overflow.
Yang Guo [Sat, 31 Jan 2015 20:45:28 +0000 (21:45 +0100)]
Fix --max_old_space_size=4096 integer overflow.

R=yangguo@chromium.org

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

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

9 years agoadd maps and sets to zone containers
dcarney [Sat, 31 Jan 2015 14:34:51 +0000 (06:34 -0800)]
add maps and sets to zone containers

R=bmeurer@chromium.org

BUG=

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Sat, 31 Jan 2015 14:33:41 +0000 (06:33 -0800)]
Update V8 DEPS.

Rolling v8/build/gyp to 4d7c139b1820c5fcb993868c61f170a02cda8a40

TBR=machenbach@chromium.org

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

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

9 years agoMIPS: Remove unnecessary printf lines from assembler tests.
balazs.kilvady [Fri, 30 Jan 2015 19:43:32 +0000 (11:43 -0800)]
MIPS: Remove unnecessary printf lines from assembler tests.

BUG=

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

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

9 years agoMIPS: Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
balazs.kilvady [Fri, 30 Jan 2015 19:13:22 +0000 (11:13 -0800)]
MIPS: Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".

Port c65ae4f10c7273956e88db433f626b26a1377caf

BUG=

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

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

9 years agoAdd param_after_rest error message after r26362
caitpotter88 [Fri, 30 Jan 2015 17:18:39 +0000 (09:18 -0800)]
Add param_after_rest error message after r26362

BUG=v8:2159
LOG=N
R=marja@chromium.org, arv@chromium.org

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

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

9 years agoMIPS: Fix bug in elements transition code for smi to double transitions.
Dusan Milosavljevic [Fri, 30 Jan 2015 16:47:44 +0000 (17:47 +0100)]
MIPS: Fix bug in elements transition code for smi to double transitions.

This fixes intermittent sin-cos test failures when corrupted values are returned
for referent sin and cos functions in test which require factorial value
to be calculated.

TEST=mjsunit/sin-cos
BUG=
R=balazs.kilvady@imgtec.com

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

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

9 years agoAdd new script to create release branches.
machenbach [Fri, 30 Jan 2015 16:46:41 +0000 (08:46 -0800)]
Add new script to create release branches.

BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

TEST=./script_test.py
TEST=tools/release/create_release.py -r machenbach@chromium.org -a machenbach@chromium.org --dry-run

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

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

9 years agoDo not embed interceptor in handler.
ulan [Fri, 30 Jan 2015 16:34:40 +0000 (08:34 -0800)]
Do not embed interceptor in handler.

BUG=v8:3629
LOG=N

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

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

9 years agoImplement parsing of ES6 Rest Parameters
caitpotter88 [Fri, 30 Jan 2015 15:21:41 +0000 (07:21 -0800)]
Implement parsing of ES6 Rest Parameters

BUG=v8:2159
LOG=N
R=marja@chromium.org, arv@chromium.org

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

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

9 years agoCallIC used an invalid mechanism to detect if it was in optimized code.
mvstanton [Fri, 30 Jan 2015 15:07:02 +0000 (07:07 -0800)]
CallIC used an invalid mechanism to detect if it was in optimized code.

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

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

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

9 years agoDo not embedd store callback in handler.
ulan [Fri, 30 Jan 2015 14:54:43 +0000 (06:54 -0800)]
Do not embedd store callback in handler.

BUG=v8:3629
LOG=N

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

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

9 years agoAlways emit bailout id for inlining property access (even for keyed access).
jarin [Fri, 30 Jan 2015 14:35:27 +0000 (06:35 -0800)]
Always emit bailout id for inlining property access (even for keyed access).

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

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

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

9 years agoLoad callback data from weak cell instead of embedding it in handler.
ulan [Fri, 30 Jan 2015 14:31:15 +0000 (06:31 -0800)]
Load callback data from weak cell instead of embedding it in handler.

BUG=v8:3629
LOG=N

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

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

9 years agoDo not inline array push for arrays with dictionary mode elements.
jarin [Fri, 30 Jan 2015 13:51:32 +0000 (05:51 -0800)]
Do not inline array push for arrays with dictionary mode elements.

BUG=chromium:452878
LOG=n

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

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

9 years agoFix the test-code-stubs tests.
bmeurer [Fri, 30 Jan 2015 13:35:58 +0000 (05:35 -0800)]
Fix the test-code-stubs tests.

R=svenpanne@chromium.org

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

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

9 years ago[turbofan] Fix usage of ThisFunction parameter in OSR.
titzer [Fri, 30 Jan 2015 13:09:32 +0000 (05:09 -0800)]
[turbofan] Fix usage of ThisFunction parameter in OSR.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoLayout descriptor sharing issue fixed.
ishell [Fri, 30 Jan 2015 12:55:15 +0000 (04:55 -0800)]
Layout descriptor sharing issue fixed.

BUG=chromium:437713, v8:3832
LOG=Y

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

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

9 years agoMIPS: Add MEGAMORPHIC state support for KeyedLoadIC.
balazs.kilvady [Fri, 30 Jan 2015 12:45:10 +0000 (04:45 -0800)]
MIPS: Add MEGAMORPHIC state support for KeyedLoadIC.

Port 491eb81780873aafd4d7f6638d20f26839383c68

BUG=

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

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

9 years agoupdate vector ics to handle megamorphic keyed loads
dcarney [Fri, 30 Jan 2015 12:40:57 +0000 (04:40 -0800)]
update vector ics to handle megamorphic keyed loads

R=mvstanton@chromium.org

BUG=

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

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

9 years agoVisit code objects in native contexts only during full GCs.
hpayer [Fri, 30 Jan 2015 11:26:28 +0000 (03:26 -0800)]
Visit code objects in native contexts only during full GCs.

BUG=

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

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

9 years ago[turbofan] cleanup MoveOptimizer a little
dcarney [Fri, 30 Jan 2015 10:58:22 +0000 (02:58 -0800)]
[turbofan] cleanup MoveOptimizer a little

BUG=

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

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

9 years agofix gcc after r26345
Dan Carney [Fri, 30 Jan 2015 10:11:56 +0000 (11:11 +0100)]
fix gcc after r26345

BUG=
R=bmeurer@chromium.org

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

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

9 years agoAvoid using ProcessArguments for static calls.
mstarzinger [Fri, 30 Jan 2015 09:56:10 +0000 (01:56 -0800)]
Avoid using ProcessArguments for static calls.

R=titzer@chromium.org

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

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

9 years agoMake GCC happy with test-cpu-profiler.
Benedikt Meurer [Fri, 30 Jan 2015 09:48:50 +0000 (10:48 +0100)]
Make GCC happy with test-cpu-profiler.

TBR=svenpanne@chromium.org

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

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

9 years agoReland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
bmeurer [Fri, 30 Jan 2015 09:29:25 +0000 (01:29 -0800)]
Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".

R=svenpanne@chromium.org

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

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

9 years agoAdd MEGAMORPHIC state support for KeyedLoadIC
dcarney [Fri, 30 Jan 2015 09:17:01 +0000 (01:17 -0800)]
Add MEGAMORPHIC state support for KeyedLoadIC

BUG=

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

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

9 years agoCollect phantom callback data only once during gc. For scavenges, just consider the...
hpayer [Fri, 30 Jan 2015 08:22:52 +0000 (00:22 -0800)]
Collect phantom callback data only once during gc. For scavenges, just consider the young handles referenced by young generation.

BUG=

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

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

9 years agoContribution of PowerPC port (continuation of 422063005) - AIX Common1
michael_dawson [Fri, 30 Jan 2015 08:01:53 +0000 (00:01 -0800)]
Contribution of PowerPC port (continuation of 422063005) - AIX Common1

Contribution of PowerPC port (continuation of 422063005 and 817143002). This patch covers
the key changes needed to the common files needed to support AIX. Subsequent
patches will cover:
- changes to update the ppc directories so they are current with the changes
in the rest of the project.
- remaining AIX changes not resolved by 4.8 compiler
- individual optimizations for PPC

This is based off of the GitHub repository
https://github.com/andrewlow/v8ppc

R=danno@chromium.org, svenpanne@chromium.org
BUG=

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

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

9 years agoRevert "Make GCC happy again." and "Initial switch to Chromium-style CHECK_* and...
Benedikt Meurer [Fri, 30 Jan 2015 07:19:40 +0000 (08:19 +0100)]
Revert "Make GCC happy again." and "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".

This reverts commit 6a4c0a3bae60b1a2239f35e3b759bd215e3886fe and commit
0deaa4b629faeae6832046c294dc7c034a0a6653 for breaking GCC bots.

TBR=svenpanne@chromium.org

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

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

9 years agoMake GCC happy again.
Benedikt Meurer [Fri, 30 Jan 2015 06:56:23 +0000 (07:56 +0100)]
Make GCC happy again.

R=svenpanne@chromium.org

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

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

9 years agoInitial switch to Chromium-style CHECK_* and DCHECK_* macros.
bmeurer [Fri, 30 Jan 2015 06:25:08 +0000 (22:25 -0800)]
Initial switch to Chromium-style CHECK_* and DCHECK_* macros.

R=svenpanne@chromium.org

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Fri, 30 Jan 2015 04:31:53 +0000 (20:31 -0800)]
Update V8 DEPS.

Rolling v8/build/gyp to 104e21ecf6f28c47d2e729d572aa790b85225ee0

TBR=machenbach@chromium.org

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

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

9 years agoImplemented new syntax for ImportDeclarations
adamk [Fri, 30 Jan 2015 03:26:50 +0000 (19:26 -0800)]
Implemented new syntax for ImportDeclarations

Also had to split ParseImportsList and ParseExportClause into separate
methods as they have different rules about reserved words and arguments/eval.

Added lots more test cases, including some export cases that were missed before
due to incorrect checking of reserved words.

BUG=v8:1569
LOG=n

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

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

9 years agoLexical declarations should not be allowed in Statement
arv [Fri, 30 Jan 2015 03:09:57 +0000 (19:09 -0800)]
Lexical declarations should not be allowed in Statement

For example let and class should only be allowed inside function/block/script.

We have to continue to support const in statements in sloppy mode for backwards compatibility.

BUG=3831
LOG=Y
R=dslomov@chromium.org, adamk

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

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

9 years agoMove object literal checking into checker classes
arv [Thu, 29 Jan 2015 23:12:25 +0000 (15:12 -0800)]
Move object literal checking into checker classes

This removes the duplicate property check from object literals.

Instead we repurpose the ObjectLiteralChecker into two cases, implemented
by two subclasses to ObjectLiteralCheckerBase called ObjectLiteralChecker
and ClassLiteralChecker.

The object literal checker now only checks for duplicate __proto__ fields in
object literals.

The class literal checker checks for duplicate constructors, non constructor
fields named constructor as well as static properties named prototype.

BUG=v8:3819
LOG=Y
R=adamk, dslomov@chromium.org

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

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

9 years agoMIPS: Fix 'Load API accessor from descriptor instead of embedding it in handler.'
balazs.kilvady [Thu, 29 Jan 2015 18:33:47 +0000 (10:33 -0800)]
MIPS: Fix 'Load API accessor from descriptor instead of embedding it in handler.'

Fix a typo in 6ea31f7eee230228c9d34362360b8b9f08e79815

BUG=

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

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

9 years agoRevert of Use a WeakCell in the CallIC type vector. (patchset #4 id:80001 of https...
machenbach [Thu, 29 Jan 2015 18:01:13 +0000 (10:01 -0800)]
Revert of Use a WeakCell in the CallIC type vector. (patchset #4 id:80001 of https://codereview.chromium.org/881433002/)

Reason for revert:
Breaks a regression test on linux isloates, and linux with gcc 4.8.

Original issue's description:
> Use a WeakCell in the CallIC type vector.
>
> This allows us to clear the IC on a more sedate schedule, just
> like Load and Store ICs.
>
> R=ulan@chromium.org
> BUG=
>
> Committed: https://crrev.com/bcc79d33ca6d97d9ecfcfcf110a6ea84a0225389
> Cr-Commit-Position: refs/heads/master@{#26332}

TBR=ulan@chromium.org,mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

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

9 years ago[turbofan] Fix OSR compilations of for-in.
titzer [Thu, 29 Jan 2015 17:40:10 +0000 (09:40 -0800)]
[turbofan] Fix OSR compilations of for-in.

R=mstarzinger@chromium.org
LOG=Y
BUG=

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

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

9 years agoUse a WeakCell in the CallIC type vector.
mvstanton [Thu, 29 Jan 2015 17:36:30 +0000 (09:36 -0800)]
Use a WeakCell in the CallIC type vector.

This allows us to clear the IC on a more sedate schedule, just
like Load and Store ICs.

R=ulan@chromium.org
BUG=

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

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

9 years agoLoad API holder from prototype chain instead embedding it in handler.
ulan [Thu, 29 Jan 2015 17:18:41 +0000 (09:18 -0800)]
Load API holder from prototype chain instead embedding it in handler.

BUG=v8:3629
LOG=N

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

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

9 years agoIntroduce ProcessYoungWeakReferences and process weak list of allocation sites just...
hpayer [Thu, 29 Jan 2015 16:54:30 +0000 (08:54 -0800)]
Introduce ProcessYoungWeakReferences and process weak list of allocation sites just during full GCs.

BUG=

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

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

9 years agostore InstructionOperands directly in Instruction
dcarney [Thu, 29 Jan 2015 16:00:09 +0000 (08:00 -0800)]
store InstructionOperands directly in Instruction

BUG=

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

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

9 years agoDo not create unresolved variables when parsing arrow functions lazily
aperez [Thu, 29 Jan 2015 15:53:07 +0000 (07:53 -0800)]
Do not create unresolved variables when parsing arrow functions lazily

Arrow function parameter lists are parsed as expressions. When an identifier
is found a VariableProxy is created and added to the list of unresolved
variables for the scope. When parsing a function lazily, the scope has been
already resolved, so with this patch only the VariableProxy is created,
without adding it as an unresolved variable in the scope.

BUG=v8:3501
LOG=Y

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

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

9 years ago[turbofan] Make sure there is space for lazy deopt patching before the constant pool.
jarin [Thu, 29 Jan 2015 15:30:16 +0000 (07:30 -0800)]
[turbofan] Make sure there is space for lazy deopt patching before the constant pool.

BUG=chromium:446647
LOG=n
R=bmeurer@chromium.org

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

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

9 years agoLoad API call data from function instead of embedding it in handler.
ulan [Thu, 29 Jan 2015 15:26:26 +0000 (07:26 -0800)]
Load API call data from function instead of embedding it in handler.

BUG=v8:3629
LOG=N

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

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

9 years agoRetrieve recent v8 release information based on tags.
machenbach [Thu, 29 Jan 2015 14:21:31 +0000 (06:21 -0800)]
Retrieve recent v8 release information based on tags.

BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

TEST=./script_test.py
TEST=tools/release/releases.py -c path/to/src

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

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

9 years ago[V8] Added Script::is_debugger_script flag for embedders
kozyatinskiy [Thu, 29 Jan 2015 14:01:13 +0000 (06:01 -0800)]
[V8] Added Script::is_debugger_script flag for embedders

In DevTools we need one more flag for script origin - is debugger script. We already have "is shared origin" flag. The new flag added by analogy with the old but new has accessor in script object.

R=yurys@chromium.org

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

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

9 years ago[turbofan] Improve JSON output
danno [Thu, 29 Jan 2015 12:14:55 +0000 (04:14 -0800)]
[turbofan] Improve JSON output

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

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

9 years agoAdd try release mode to test runner.
machenbach [Thu, 29 Jan 2015 10:22:50 +0000 (02:22 -0800)]
Add try release mode to test runner.

Also refactor the configuration of modes to have the level
of abstraction in one json dict.

In a follow up CL, the new mode could be added to quickcheck
and release trybots.

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

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

9 years agoBump max-inlined-nodes-cumulative
verwaest [Thu, 29 Jan 2015 10:11:22 +0000 (02:11 -0800)]
Bump max-inlined-nodes-cumulative

BUG=

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

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

9 years agoLoad API accessor from descriptor instead of embedding it in handler.
ulan [Thu, 29 Jan 2015 09:57:56 +0000 (01:57 -0800)]
Load API accessor from descriptor instead of embedding it in handler.

BUG=v8:3629
LOG=N

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

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

9 years ago[turbofan] Remove use of generic algorithm from Scheduler.
titzer [Thu, 29 Jan 2015 09:56:42 +0000 (01:56 -0800)]
[turbofan] Remove use of generic algorithm from Scheduler.

R=mstarzinger@chromium.org
BUG=

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

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

9 years ago[turbofan] Gracefully bail out if OSR encounters a loop too deeply nested.
titzer [Thu, 29 Jan 2015 09:46:24 +0000 (01:46 -0800)]
[turbofan] Gracefully bail out if OSR encounters a loop too deeply nested.

R=jarin@chromium.org
BUG=

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

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

9 years agoFix register aliasing after r26306, r26275.
ulan [Thu, 29 Jan 2015 09:37:24 +0000 (01:37 -0800)]
Fix register aliasing after r26306, r26275.

BUG=

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

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

9 years ago[turbofan] Cleanup the NodeProperties.
bmeurer [Thu, 29 Jan 2015 09:17:45 +0000 (01:17 -0800)]
[turbofan] Cleanup the NodeProperties.

R=svenpanne@chromium.org

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

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

9 years agoMinor refactoring for Zone class and friends.
bmeurer [Thu, 29 Jan 2015 07:41:35 +0000 (23:41 -0800)]
Minor refactoring for Zone class and friends.

R=svenpanne@chromium.org

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

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

9 years agoDon't take iterable path in ArrayFrom if items[@@iterator] is null
caitpotter88 [Thu, 29 Jan 2015 02:36:03 +0000 (18:36 -0800)]
Don't take iterable path in ArrayFrom if items[@@iterator] is null

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

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

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

9 years agoImplement ParseExportDeclaration per latest ES6 spec draft
Adam Klein [Wed, 28 Jan 2015 19:18:37 +0000 (11:18 -0800)]
Implement ParseExportDeclaration per latest ES6 spec draft

One missing feature: anonymous function & class declarations
in "export default".

BUG=v8:1569
LOG=n
R=arv@chromium.org

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

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

9 years agoAdd Erik Arvidsson to OWNERS
Adam Klein [Wed, 28 Jan 2015 18:23:07 +0000 (10:23 -0800)]
Add Erik Arvidsson to OWNERS

R=rossberg@chromium.org

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

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

9 years agoMIPS: Continue learning for calls in crankshaft.
balazs.kilvady [Wed, 28 Jan 2015 17:17:31 +0000 (09:17 -0800)]
MIPS: Continue learning for calls in crankshaft.

Port 7d363783e14433032a4e8dd426fe0e27d1637fe5

Original commit message:
The type feedback vector makes this easy to do.
This is a re-land of https://codereview.chromium.org/868453005/
with a fix for the DCHECK failure.

BUG=

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

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

9 years agoExtract LoadAccessor into a masm function.
ulan [Wed, 28 Jan 2015 16:31:29 +0000 (08:31 -0800)]
Extract LoadAccessor into a masm function.

BUG=

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

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

9 years ago[turbofan] Add missing deopt for the assignment in the for-in statement.
jarin [Wed, 28 Jan 2015 16:16:09 +0000 (08:16 -0800)]
[turbofan] Add missing deopt for the assignment in the for-in statement.

BUG=chromium:416359
LOG=n
R=mstarzinger@chromium.org

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

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

9 years agoOnly add API-triggered compilation to compile-script histogram.
yangguo [Wed, 28 Jan 2015 15:55:04 +0000 (07:55 -0800)]
Only add API-triggered compilation to compile-script histogram.

R=vogelheim@chromium.org

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

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

9 years ago[turbofan] Use unboxed doubles in range types.
jarin [Wed, 28 Jan 2015 13:55:35 +0000 (05:55 -0800)]
[turbofan] Use unboxed doubles in range types.

BUG=
R=bmeurer@chromium.org

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

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

9 years agoLoad setter from map descriptor instead of embedding it in handler.
ulan [Wed, 28 Jan 2015 12:44:55 +0000 (04:44 -0800)]
Load setter from map descriptor instead of embedding it in handler.

BUG=v8:3629
LOG=N

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

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

9 years agoAdd missing FrameState to JSToName nodes.
mstarzinger [Wed, 28 Jan 2015 11:39:24 +0000 (03:39 -0800)]
Add missing FrameState to JSToName nodes.

R=jarin@chromium.org
TEST=mjsunit/regress/regress-crbug-451770
BUG=chromium:451770
LOG=N

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

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

9 years agoRemoved TRYSERVER_ROOT since this is not used anymore
sergiyb [Wed, 28 Jan 2015 11:04:21 +0000 (03:04 -0800)]
Removed TRYSERVER_ROOT since this is not used anymore

Instead PROJECT property is used by Rietveld to set patch_project, which is then
mapped to correct path in the recipe.

R=machenbach@chromium.org

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

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

9 years agoLet release scripts determine version based on tags.
machenbach [Wed, 28 Jan 2015 10:08:53 +0000 (02:08 -0800)]
Let release scripts determine version based on tags.

Also create new v8 versions based on the roll ref, which
has some more verification steps than the candidate ref.

Improve bailout regarding existing versions. Only create a
new version if the revisions is in the future.

BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

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

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

9 years agoContinue learning for calls in crankshaft.
mvstanton [Wed, 28 Jan 2015 09:03:05 +0000 (01:03 -0800)]
Continue learning for calls in crankshaft.

The type feedback vector makes this easy to do.
This is a re-land of https://codereview.chromium.org/868453005/
with a fix for the DCHECK failure.

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

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

9 years agoReland of "Steps towards unification of number bitset and range types."
jarin [Wed, 28 Jan 2015 08:42:15 +0000 (00:42 -0800)]
Reland of "Steps towards unification of number bitset and range types."

This reverts commit 76193749791eac9032f47db2f04efd78c0e120a9.

BUG=

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Wed, 28 Jan 2015 04:31:42 +0000 (20:31 -0800)]
Update V8 DEPS.

Rolling v8/tools/clang to 0825693c3460f23b1d78ad272999f850447ad333

TBR=machenbach@chromium.org

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

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

9 years agoBegin modernization of --harmony-modules
adamk [Tue, 27 Jan 2015 21:06:36 +0000 (13:06 -0800)]
Begin modernization of --harmony-modules

The approach taken in this CL is to incrementally move toward the
currently-specced version of modules in ES6. The biggest change in this
patch is separating the parsing of modules from the parsing of scripts,
getting rid of the 'module' keyword and thus disallowing modules-in-scripts
as well as modules-in-modules.

The syntax supported by import/export declarations has not yet been significantly
changed, with the major exception being that import declarations require a string
as the 'from' part.

Most of the existing tests have been disabled, with a first new test added
in cctest/test-parsing.

BUG=v8:1569
LOG=n

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

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

9 years agoMIPS: Use a trampoline stub to load the type feedback vector for CallICs.
balazs.kilvady [Tue, 27 Jan 2015 15:54:37 +0000 (07:54 -0800)]
MIPS: Use a trampoline stub to load the type feedback vector for CallICs.

Port 2a567faa3e7242359e29c63f8dc8c18104af0610

BUG=

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

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

9 years agoLand test case for RegExp.source.
yangguo [Tue, 27 Jan 2015 15:17:25 +0000 (07:17 -0800)]
Land test case for RegExp.source.

BUG=chromium:447561
LOG=N
TBR=mvstanton@chromium.org

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

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

9 years agoReland "Only use FreeSpace objects in the free list"
yangguo [Tue, 27 Jan 2015 14:56:51 +0000 (06:56 -0800)]
Reland "Only use FreeSpace objects in the free list"

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

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

9 years agoRescale histogram timers.
yangguo [Tue, 27 Jan 2015 14:08:15 +0000 (06:08 -0800)]
Rescale histogram timers.

R=vogelheim@chromium.org

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

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

9 years ago[turbofan] Ensure that NTLs are always properly connected to the end.
bmeurer [Tue, 27 Jan 2015 14:02:21 +0000 (06:02 -0800)]
[turbofan] Ensure that NTLs are always properly connected to the end.

Up until now we used a special Terminate node to artifically connect non
terminating loops to the End node, but this was kind of adhoc and didn't
work for the CFG. So without all kinds of weird hacks, the end block in
the CFG will not be connected to NTLs, which makes it impossible to
compute post dominance / control dependence in the current setting.

So instead of Terminate, we add a special Branch to NTLs, whose
condition is the special Always node, which corresponds to True, except
that it cannot be folded away. This way we don't need any special
machinery in the scheduler, since it's just a regular Branch.

R=titzer@chromium.org

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

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

9 years agoRevert of Continue learning for calls in optimized code when we have no type feedback...
mvstanton [Tue, 27 Jan 2015 13:06:57 +0000 (05:06 -0800)]
Revert of Continue learning for calls in optimized code when we have no type feedback. (patchset #4 id:60001 of https://codereview.chromium.org/868453005/)

Reason for revert:
Serializer tests broke. Need to debug and fix.

Original issue's description:
> Continue learning for calls in optimized code when we have no type feedback.
>
> Based on CL https://codereview.chromium.org/871063002/ which needs to land first.
>
> BUG=
>
> Committed: https://crrev.com/f5f2692b5ff70ac3cd06a903b7846174b97a2e55
> Cr-Commit-Position: refs/heads/master@{#26292}

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

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

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

9 years agoContinue learning for calls in optimized code when we have no type feedback.
mvstanton [Tue, 27 Jan 2015 12:32:57 +0000 (04:32 -0800)]
Continue learning for calls in optimized code when we have no type feedback.

Based on CL https://codereview.chromium.org/871063002/ which needs to land first.

BUG=

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

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

9 years agofix performance regression on intel call api stubs
dcarney [Tue, 27 Jan 2015 11:46:06 +0000 (03:46 -0800)]
fix performance regression on intel call api stubs

additionally, make the interface match the JSFunction interface

BUG=451405
LOG=N

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

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

9 years agoUse a trampoline stub to load the type feedback vector for CallICs.
mvstanton [Tue, 27 Jan 2015 11:23:51 +0000 (03:23 -0800)]
Use a trampoline stub to load the type feedback vector for CallICs.

BUG=

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

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

9 years agoDo not generalize field representations when making elements kind or observed transition.
ishell [Tue, 27 Jan 2015 11:18:55 +0000 (03:18 -0800)]
Do not generalize field representations when making elements kind or observed transition.

BUG=chromium:448711
LOG=y

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

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

9 years ago[x86] Disable AVX unless the operating system explicitly claims to support it.
bmeurer [Tue, 27 Jan 2015 09:59:18 +0000 (01:59 -0800)]
[x86] Disable AVX unless the operating system explicitly claims to support it.

BUG=chromium:452033, v8:3846
LOG=y
R=jkummerow@chromium.org

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

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

9 years agoRevert of Only use FreeSpace objects in the free list. (patchset #3 id:40001 of https...
yangguo [Tue, 27 Jan 2015 09:41:10 +0000 (01:41 -0800)]
Revert of Only use FreeSpace objects in the free list. (patchset #3 id:40001 of https://codereview.chromium.org/876613002/)

Reason for revert:
Test failures

Original issue's description:
> Only use FreeSpace objects in the free list.
>
> This solves an issue with the custom startup snapshot, in cases where
> deserializing the isolate requires more than one page per space.
>
> R=hpayer@chromium.org
>
> Committed: https://crrev.com/66964395108f03220cb6f45ddc73c5965e2c76a9
> Cr-Commit-Position: refs/heads/master@{#26285}

TBR=hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years ago[turbofan] Only replace nodes eagerly during simplified lowering if the types stay...
jarin [Tue, 27 Jan 2015 09:27:26 +0000 (01:27 -0800)]
[turbofan] Only replace nodes eagerly during simplified lowering if the types stay the same.

BUG=chromium:452427
LOG=n
R=bmeurer@chromium.org

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

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

9 years agoOnly use FreeSpace objects in the free list.
yangguo [Tue, 27 Jan 2015 09:20:22 +0000 (01:20 -0800)]
Only use FreeSpace objects in the free list.

This solves an issue with the custom startup snapshot, in cases where
deserializing the isolate requires more than one page per space.

R=hpayer@chromium.org

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

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