platform/upstream/v8.git
9 years agoskip failing test on arm64
dcarney [Wed, 11 Feb 2015 14:35:52 +0000 (06:35 -0800)]
skip failing test on arm64

LOG=N
BUG=v8:3884

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

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

9 years agoFix shared library build.
Yang Guo [Wed, 11 Feb 2015 14:32:15 +0000 (15:32 +0100)]
Fix shared library build.

TBR=vogelheim@chromium.org

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

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

9 years agoRemoved most of the bogus CompilationInfo constructor calls.
svenpanne [Wed, 11 Feb 2015 14:12:03 +0000 (06:12 -0800)]
Removed most of the bogus CompilationInfo constructor calls.

A CompilationInfo constructed from just an Isolate* and a Zone* is in
weird an inconsistent state (calling e.g. flags() on it will crash),
so we need to avoid them. This CL removes almost all of them, the
remaining 2 call sites in (for testing only) will be handled in a
separate CL. Things which have been changed:

  * Linkage is basically a decorator for CallDescriptor now.

  * ChangeLowering doesn't need Linkage at all.

  * JSGenericLowering doesn't need a full CompilationInfo*, just a
    single flag.

  * JSContextSpecializer doesn't need the full CompilationInfo, just a
    Context.

  * Removed unused CompilationInfo from SimplifiedLoweringTester.

This nicely decouples things already a bit more, but there's still
work to do...

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

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

9 years agoCatch graceful failures when deserializing in d8.
yangguo [Wed, 11 Feb 2015 14:10:02 +0000 (06:10 -0800)]
Catch graceful failures when deserializing in d8.

R=vogelheim@chromium.org

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

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

9 years agoWhitelist serialized objects wrt MSAN.
yangguo [Wed, 11 Feb 2015 14:03:10 +0000 (06:03 -0800)]
Whitelist serialized objects wrt MSAN.

R=jochen@chromium.org
BUG=chromium:457459
LOG=N

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

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

9 years agoUse just one to-space page for the promotion queue.
hpayer [Wed, 11 Feb 2015 13:39:29 +0000 (05:39 -0800)]
Use just one to-space page for the promotion queue.

BUG=454725
LOG=n

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

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

9 years ago[turbofan] Use heavy-handed graph duplication to do loop peeling for OSR.
titzer [Wed, 11 Feb 2015 13:26:35 +0000 (05:26 -0800)]
[turbofan] Use heavy-handed graph duplication to do loop peeling for OSR.

BUG=

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

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

9 years agoFix NewStringRangeError failure due to failing malloc.
yangguo [Wed, 11 Feb 2015 12:06:11 +0000 (04:06 -0800)]
Fix NewStringRangeError failure due to failing malloc.

R=jkummerow@chromium.org

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

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

9 years agoThrow on range error when creating a string via API.
yangguo [Wed, 11 Feb 2015 10:21:18 +0000 (02:21 -0800)]
Throw on range error when creating a string via API.

R=jkummerow@chromium.org
BUG=v8:3853
LOG=Y

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

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

9 years agoReland r26549 "Fix IsWeakObjectInOptimizedCode predicate to also include property...
ulan [Wed, 11 Feb 2015 09:59:41 +0000 (01:59 -0800)]
Reland r26549 "Fix IsWeakObjectInOptimizedCode predicate to also include property cells."

BUG=v8:3882
LOG=NO

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

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

9 years agonew classes: implement new.target passing to superclass constructor.
dslomov [Wed, 11 Feb 2015 09:47:32 +0000 (01:47 -0800)]
new classes: implement new.target passing to superclass constructor.

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

Committed: https://crrev.com/8aed43e82c6d2742fe5988603cb8841324cc942b
Cr-Commit-Position: refs/heads/master@{#26560}

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

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

9 years agoremove undetectable strings
dcarney [Wed, 11 Feb 2015 09:28:06 +0000 (01:28 -0800)]
remove undetectable strings

BUG=

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

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

9 years agoRemove obsolete Malloced::FatalProcessOutOfMemory.
mstarzinger [Wed, 11 Feb 2015 09:25:37 +0000 (01:25 -0800)]
Remove obsolete Malloced::FatalProcessOutOfMemory.

R=hpayer@chromium.org

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

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

9 years agoadd transitions for global properties in ics
dcarney [Wed, 11 Feb 2015 09:15:19 +0000 (01:15 -0800)]
add transitions for global properties in ics

R=verwaest@chromium.org

BUG=

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

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

9 years agoMake SNaN verification universal for all arches.
dusan.milosavljevic [Wed, 11 Feb 2015 09:05:16 +0000 (01:05 -0800)]
Make SNaN verification universal for all arches.

The mips HW prior to revision 5 has opposite encoding for NaNs.

TEST=mjsunit/regress/*, regress-1167, regress-undefined-nan2
BUG=

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

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

9 years agoRelaxed parameter types a bit.
svenpanne [Wed, 11 Feb 2015 08:52:32 +0000 (00:52 -0800)]
Relaxed parameter types a bit.

Somehow these changes didn't make it into https://codereview.chromium.org/915583002 ... :-/

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

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

9 years ago[vim] Pass correct -std flags to YCM libclang.
Benedikt Meurer [Wed, 11 Feb 2015 07:42:53 +0000 (08:42 +0100)]
[vim] Pass correct -std flags to YCM libclang.

TBR=verwaest@chromium.org

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

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

9 years agoRemove obsolete method ProfileTree::AddPathFromStart and the corresponding test.
loislo [Wed, 11 Feb 2015 07:26:59 +0000 (23:26 -0800)]
Remove obsolete method ProfileTree::AddPathFromStart and the corresponding test.

BUG=
LOG=n

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

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

9 years ago[vim] Add YouCompleteMe configuration.
bmeurer [Wed, 11 Feb 2015 07:11:56 +0000 (23:11 -0800)]
[vim] Add YouCompleteMe configuration.

R=verwaest@chromium.org

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

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

9 years ago[vim] Add ninja-powered CrBuild/CrCompileFile functions.
bmeurer [Wed, 11 Feb 2015 06:59:00 +0000 (22:59 -0800)]
[vim] Add ninja-powered CrBuild/CrCompileFile functions.

These are based on the ninja-build.vim file found in Chromium, adapted
to V8, and enhanced with goma support (automatically increase job limit
for ninja if goma is detected).

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Wed, 11 Feb 2015 04:34:47 +0000 (20:34 -0800)]
Update V8 DEPS.

Rolling v8/tools/clang to e64bdee4434b184d13a8f2cce79b65cd18e02ee2

TBR=machenbach@chromium.org

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

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

9 years agoRevert of new classes: implement new.target passing to superclass constructor. (patch...
dslomov [Wed, 11 Feb 2015 01:36:17 +0000 (17:36 -0800)]
Revert of new classes: implement new.target passing to superclass constructor. (patchset #9 id:150001 of https://codereview.chromium.org/908883002/)

Reason for revert:
Breaks Linux64 release

Original issue's description:
> new classes: implement new.target passing to superclass constructor.
>
> R=arv@chromium.org,rossberg@chromium.org
> BUG=v8:3834
> LOG=N
>
> Committed: https://crrev.com/8aed43e82c6d2742fe5988603cb8841324cc942b
> Cr-Commit-Position: refs/heads/master@{#26560}

TBR=arv@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3834

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

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

9 years agonew classes: implement new.target passing to superclass constructor.
dslomov [Wed, 11 Feb 2015 01:23:03 +0000 (17:23 -0800)]
new classes: implement new.target passing to superclass constructor.

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

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

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

9 years agoRemove Function.prototype.toMethod
arv [Tue, 10 Feb 2015 22:13:29 +0000 (14:13 -0800)]
Remove Function.prototype.toMethod

Function.prototype.toMethod was removed from ES6.

This removes the function and updates the tests to either
use %ToMethod or a dedicated syntax (using concise method
or a class).

BUG=v8:3330
LOG=N
R=dslomov@chromium.org, adamk

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

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

9 years agoFix usage of super in js perf test
Erik Arvidsson [Tue, 10 Feb 2015 21:15:42 +0000 (16:15 -0500)]
Fix usage of super in js perf test

BUG=none
LOG=N
R=adamk@chromium.org, adamk, dslomov@chromium.org

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

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

9 years agosuper is only allowed in methods, accessors and constructor
arv [Tue, 10 Feb 2015 19:51:18 +0000 (11:51 -0800)]
super is only allowed in methods, accessors and constructor

super() is only allowed in a class constructor.
super.p is allowed in methods, accessors and constructors.

The parser now checks the FunctionState to see what kind of function
we are currently inside.

BUG=v8:3330
LOG=N
R=dslomov@chromium.org, marja@chromium.org

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

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

9 years ago[strong] Introduce --use-strong flag
rossberg [Tue, 10 Feb 2015 19:12:51 +0000 (11:12 -0800)]
[strong] Introduce --use-strong flag

R=marja@chromium.org
BUG=

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

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

9 years agoEnable compiling mjsunit tests as ES6 modules
adamk [Tue, 10 Feb 2015 19:11:44 +0000 (11:11 -0800)]
Enable compiling mjsunit tests as ES6 modules

Adding the line "// MODULE" to an mjsunit file will now cause
run-tests.py to prefix the test case with "--module" in the
d8 commandline.

d8 has itself been updated to treat files preceded with "--module" as
modules (that is, it compiles them with ScriptCompiler::CompileModule,
and turns on --harmony-modules).

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

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

9 years agoMIPS64: Propagate DeoptInfo to cpu-profiler
balazs.kilvady [Tue, 10 Feb 2015 19:10:37 +0000 (11:10 -0800)]
MIPS64: Propagate DeoptInfo to cpu-profiler

Port 86cae1633caa31f2225b6932850fb13d3a21cf59

Original commit message:
1) Deoptimizer::Reason was replaced with Deoptimizer::DeoptInfo
because it also has raw position. Also the old name clashes with DeoptReason enum.

2) c_entry_fp assignment call was added to EntryGenerator::Generate
So we can calculate sp and have a chance to record the stack for the deopting function.
btw it makes the test stable.

3) new kind of CodeEvents was added to cpu-profiler

4) GetDeoptInfo method was extracted from PrintDeoptLocation.
So it could be reused in cpu profiler.

BUG=452067
LOG=n

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

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

9 years agoMIPS: Parsing: Make Scope not know about Isolate.
balazs.kilvady [Tue, 10 Feb 2015 19:09:25 +0000 (11:09 -0800)]
MIPS: Parsing: Make Scope not know about Isolate.

Port 5d68529be240a1fc9fcc67c8950ead4baf7604e4

Original commit message:
Scope, like Parser, must be able to operate independent of Isolate and the V8
heap (for background parsing). After the heap-independent phase, there is a heap
dependent phase, during which we do operations such as scope anaylysis.

This CL makes the phases explicit by not telling Scope about the Isolate too
early (during the heap-independent phase, Scope should know nothing about
Isolate). This decreases the probability of accidental code changes which would
add heap-dependent operations into the heap-independent phase.

BUG=

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

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

9 years agoRevert "Whitespace CL to test poller."
Michael Achenbach [Tue, 10 Feb 2015 17:00:41 +0000 (18:00 +0100)]
Revert "Whitespace CL to test poller."

This reverts commit f27de256c12ab0d5f152ab3ad66950caa5158d03.

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

9 years agoRevert of Fix IsWeakObjectInOptimizedCode predicate to also include property cells...
machenbach [Tue, 10 Feb 2015 16:58:39 +0000 (08:58 -0800)]
Revert of Fix IsWeakObjectInOptimizedCode predicate to also include property cells. (patchset #1 id:1 of https://codereview.chromium.org/909123002/)

Reason for revert:
Seems to fail several slow asserts (not on the try server):
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/1841

Original issue's description:
> Fix IsWeakObjectInOptimizedCode predicate to also include property cells.
>
> BUG=v8:3882
> LOG=NO
>
> Committed: https://crrev.com/f8c404849dd01b538e52d95412225c06a0101808
> Cr-Commit-Position: refs/heads/master@{#26549}

TBR=dcarney@chromium.org,ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3882

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

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

9 years agoRevert of Temporarily disable double fields unboxing. (patchset #1 id:1 of https...
ishell [Tue, 10 Feb 2015 16:42:16 +0000 (08:42 -0800)]
Revert of Temporarily disable double fields unboxing. (patchset #1 id:1 of https://codereview.chromium.org/893843004/)

Reason for revert:
Experiment is over, turning it on back.

Original issue's description:
> Temporarily disable double fields unboxing.
>
> Committed: https://crrev.com/51c59ede18831d1c1a1d70fa9fa456f946ac486b
> Cr-Commit-Position: refs/heads/master@{#26492}

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

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

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

9 years agoFix IsWeakObjectInOptimizedCode predicate to also include property cells.
ulan [Tue, 10 Feb 2015 16:09:12 +0000 (08:09 -0800)]
Fix IsWeakObjectInOptimizedCode predicate to also include property cells.

BUG=v8:3882
LOG=NO

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

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

9 years agoWhitespace CL to test poller.
Michael Achenbach [Tue, 10 Feb 2015 16:03:39 +0000 (17:03 +0100)]
Whitespace CL to test poller.

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

9 years agoFix cctest + unittest to work with an external snapshot.
vogelheim [Tue, 10 Feb 2015 15:38:01 +0000 (07:38 -0800)]
Fix cctest + unittest to work with an external snapshot.

To do so, extract startup_data_util from d8 and use it those executables.

BUG=

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

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

9 years agoParsing: Make Scope not know about Isolate.
marja [Tue, 10 Feb 2015 14:39:00 +0000 (06:39 -0800)]
Parsing: Make Scope not know about Isolate.

Scope, like Parser, must be able to operate independent of Isolate and the V8
heap (for background parsing). After the heap-independent phase, there is a heap
dependent phase, during which we do operations such as scope anaylysis.

This CL makes the phases explicit by not telling Scope about the Isolate too
early (during the heap-independent phase, Scope should know nothing about
Isolate). This decreases the probability of accidental code changes which would
add heap-dependent operations into the heap-independent phase.

R=rossberg@chromium.org
BUG=

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

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

9 years agoPropagate DeoptInfo to cpu-profiler
loislo [Tue, 10 Feb 2015 14:32:42 +0000 (06:32 -0800)]
Propagate DeoptInfo to cpu-profiler

1) Deoptimizer::Reason was replaced with Deoptimizer::DeoptInfo
because it also has raw position. Also the old name clashes with DeoptReason enum.

2) c_entry_fp assignment call was added to EntryGenerator::Generate
So we can calculate sp and have a chance to record the stack for the deopting function.
btw it makes the test stable.

3) new kind of CodeEvents was added to cpu-profiler

4) GetDeoptInfo method was extracted from PrintDeoptLocation.
So it could be reused in cpu profiler.

BUG=452067
LOG=n

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

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

9 years agoGet rid of PreParserScope.
marja [Tue, 10 Feb 2015 13:27:08 +0000 (05:27 -0800)]
Get rid of PreParserScope.

It's unnecessary; PreParser can just use normal Scopes for the things it needs
to track. Note: the only functionalities of PreParserScope were keeping track of
the scope stack, and for each scope, the scope type and language mode. Those are
now done by Scope. PreParser doesn't yet put variables into scopes (that will be
done in a follow up).

R=rossberg@chromium.org
BUG=

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Tue, 10 Feb 2015 12:52:46 +0000 (04:52 -0800)]
Update V8 DEPS.

Rolling v8/tools/clang to 4b5142322face2df2374a246dba98ae82be317b0

TBR=machenbach@chromium.org

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

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

9 years agoMassage the CodeStub class hierarchy a bit.
svenpanne [Tue, 10 Feb 2015 11:45:59 +0000 (03:45 -0800)]
Massage the CodeStub class hierarchy a bit.

Several tiny changes for the upcoming TurboFan-genrated handlers/stubs:

   * Relaxed the type of code_stub().

   * Made GetCodeKind() public, it effectly was like this, anyway.

   * Const-corrected GetStubType().

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

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

9 years agoCorrectly pointer-align code cache payload.
yangguo [Tue, 10 Feb 2015 11:19:57 +0000 (03:19 -0800)]
Correctly pointer-align code cache payload.

R=jochen@chromium.org

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

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

9 years agoReduce the number of iterations in some OSR tests by using an explicit %OptimizeOsr().
titzer [Tue, 10 Feb 2015 09:53:09 +0000 (01:53 -0800)]
Reduce the number of iterations in some OSR tests by using an explicit %OptimizeOsr().

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoAdd compile_commands.json to .gitignore.
bmeurer [Tue, 10 Feb 2015 09:04:17 +0000 (01:04 -0800)]
Add compile_commands.json to .gitignore.

R=dcarney@chromium.org

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

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

9 years agoFix the MachineSignature* parameters change for turbofan unsupported platform.
chunyang.dai [Tue, 10 Feb 2015 08:55:58 +0000 (00:55 -0800)]
Fix the MachineSignature* parameters change for turbofan unsupported platform.

   this issue is introduced by 30787d4e564efe7f85182bd5b1b99e9f40e265ca.
   (https://codereview.chromium.org/874693006).

   original commit message:

    Const-corrected some MachineSignature* parameters.

    Recipe: Add "const" to RawMachineAssembler constructor, fix breakage.

BUG=

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

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

9 years agoIgnore unsupport host architectures for binutils download.
Benedikt Meurer [Tue, 10 Feb 2015 07:51:28 +0000 (08:51 +0100)]
Ignore unsupport host architectures for binutils download.

BUG=v8:3880
LOG=n
TBR=svenpanne@chromium.org

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

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

9 years ago[linux] Improve link time with Chromium-bundled binutils.
bmeurer [Tue, 10 Feb 2015 07:26:59 +0000 (23:26 -0800)]
[linux] Improve link time with Chromium-bundled binutils.

Also enabled concurrent linking with gold on Linux.

Mostly copy and paste from Chromium with customization for
V8 where necessary.

BUG=v8:3880
LOG=n

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

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

9 years agoMIPS: [turbofan] Initial support for Switch.
akos.palfi [Tue, 10 Feb 2015 04:02:18 +0000 (20:02 -0800)]
MIPS: [turbofan] Initial support for Switch.

Port feb2890711e8072a9550abb89621929816fc9699

Original commit message:
Adds Switch and Case operators to TurboFan and handles them
appropriately in instruction selection and code generation.

BUG=

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

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

9 years agoMIPS: Assembler support for internal references.
balazs.kilvady [Mon, 9 Feb 2015 20:49:46 +0000 (12:49 -0800)]
MIPS: Assembler support for internal references.

Port 49cbe537e715c960fb9773af2e240133726f465b

BUG=

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

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

9 years agoAdd dummy implementation for turbofan unsupported platform.
chunyang.dai [Mon, 9 Feb 2015 18:43:09 +0000 (10:43 -0800)]
Add dummy implementation for turbofan unsupported platform.

   This function is defined in feb2890711e8072a9550abb89621929816fc9699.
   (https://codereview.chromium.org/892513003).

   original commit message:
    [turbofan] Initial support for Switch.

    Adds Switch and Case operators to TurboFan and handles them
    appropriately in instruction selection and code generation.

BUG=

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

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

9 years agoAdd a flag to over approximate the weak closure during GC
jochen [Mon, 9 Feb 2015 16:25:47 +0000 (08:25 -0800)]
Add a flag to over approximate the weak closure during GC

BUG=v8:3862
R=hpayer@chromium.org
LOG=n

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

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

9 years agoAdd DCHECKs to back reference deserialization.
yangguo [Mon, 9 Feb 2015 15:19:26 +0000 (07:19 -0800)]
Add DCHECKs to back reference deserialization.

R=jochen@chromium.org
BUG=chromium:441896
LOG=N

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

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

9 years agoIntroduce a compile method that takes context extensions
jochen [Mon, 9 Feb 2015 15:15:29 +0000 (07:15 -0800)]
Introduce a compile method that takes context extensions

BUG=chromium:456192
R=yangguo@chromium.org
LOG=y

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

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

9 years agoAdd payload checksum to code cache data.
yangguo [Mon, 9 Feb 2015 14:49:35 +0000 (06:49 -0800)]
Add payload checksum to code cache data.

R=jochen@chromium.org
BUG=chromium:441896
LOG=N

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

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

9 years ago[turbofan] make zone allocation of InstructionOperand explicit
dcarney [Mon, 9 Feb 2015 14:20:06 +0000 (06:20 -0800)]
[turbofan] make zone allocation of InstructionOperand explicit

BUG=

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

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

9 years agoRemove some busy-OSR loops from tests using %OptimizeOsr().
titzer [Mon, 9 Feb 2015 14:11:14 +0000 (06:11 -0800)]
Remove some busy-OSR loops from tests using %OptimizeOsr().

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoX87: Externalize deoptimization reasons.
chunyang.dai [Mon, 9 Feb 2015 14:10:07 +0000 (06:10 -0800)]
X87:  Externalize deoptimization reasons.

port 2491a639bf46da4bfdcf65329305ee3053aa5fec (r26463)

original commit message:

   Externalize deoptimization reasons.
   1) The hardcoded strings were converted into DeoptReason enum.

   2) Deopt comment were converted into a pair location and deopt reason entries so
      the deopt reason tracking mode would less affect the size of the RelocInfo table and heap.

   3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table.

BUG=

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

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

9 years agoRemove dependency on v8.h from TurboFan.
mstarzinger [Mon, 9 Feb 2015 13:13:15 +0000 (05:13 -0800)]
Remove dependency on v8.h from TurboFan.

R=bmeurer@chromium.org
TEST=presubmit

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

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

9 years ago[turbofan] remove one level of indirection in phi inputs
dcarney [Mon, 9 Feb 2015 13:02:41 +0000 (05:02 -0800)]
[turbofan] remove one level of indirection in phi inputs

BUG=

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

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

9 years agoMake it easier to test OSR with %OptimizeOsr() runtime call.
titzer [Mon, 9 Feb 2015 12:47:31 +0000 (04:47 -0800)]
Make it easier to test OSR with %OptimizeOsr() runtime call.

This call triggers OSR for the current function. And also allows explicitly testing OSR on the top-level code.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoadd support for all can read interceptors
dcarney [Mon, 9 Feb 2015 11:33:36 +0000 (03:33 -0800)]
add support for all can read interceptors

R=verwaest@chromium.org

BUG=

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

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

9 years ago[x64] Fix strict aliasing error with GCC.
bmeurer [Mon, 9 Feb 2015 10:43:56 +0000 (02:43 -0800)]
[x64] Fix strict aliasing error with GCC.

BUG=v8:3872
LOG=n
R=dcarney@chromium.org

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

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

9 years agoX87: Remove the obsolete OverwriteMode optimization.
cdai2 [Mon, 9 Feb 2015 10:27:16 +0000 (18:27 +0800)]
X87: Remove the obsolete OverwriteMode optimization.

port 634b0f20f4bbdad305c87fd8e196f4c05efbde1f (r26454).

original commit message:

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoX87: Fix assertion in full codegen for holed 'this'
cdai2 [Mon, 9 Feb 2015 10:24:36 +0000 (18:24 +0800)]
X87: Fix assertion in full codegen for holed 'this'

port 275e088abec213aa0be3eef748926e4be2c5c79f (r26423)

original commit message:

BUG=
R=weiliang.lin@intel.com

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

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

9 years agofix transition of typedarrays in ics
dcarney [Mon, 9 Feb 2015 09:50:06 +0000 (01:50 -0800)]
fix transition of typedarrays in ics

R=verwaest@chromium.org

BUG=

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

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

9 years agoX87: Retry "Use a WeakCell in the CallIC type vector."
cdai2 [Mon, 9 Feb 2015 09:29:04 +0000 (17:29 +0800)]
X87: Retry "Use a WeakCell in the CallIC type vector."

port 6fc97a19653e03a891d3cd397069d5a10b9ab325 (r26420)

original commit message:

  Retry "Use a WeakCell in the CallIC type vector."

  The first try failed because I needed to make a better distinction
  between clearing ICs according to policy at GC time or unconditional
  clearing (say, via %ClearFunctionTypeFeedback).

  It was also blocked by an issue in super constructor calls.
  This fix (https://codereview.chromium.org/892113002/) needs to land
  before checking in this CL.

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoCorrectly clean up natives sources on tear down.
yangguo [Mon, 9 Feb 2015 09:04:45 +0000 (01:04 -0800)]
Correctly clean up natives sources on tear down.

R=ulan@chromium.org

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

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

9 years ago[turbofan] Initial support for Switch.
bmeurer [Mon, 9 Feb 2015 08:56:01 +0000 (00:56 -0800)]
[turbofan] Initial support for Switch.

Adds Switch and Case operators to TurboFan and handles them
appropriately in instruction selection and code generation.

BUG=v8:3872
LOG=n

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

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

9 years agoX87: Introduce LanguageMode, drop StrictMode.
cdai2 [Mon, 9 Feb 2015 08:49:24 +0000 (16:49 +0800)]
X87: Introduce LanguageMode, drop StrictMode.

port c7851da4aefb644ab198ead1fa284932fd424797 (r26419)

original commit message:

  Introduce LanguageMode, drop StrictMode.

  This enables adding more language modes in the future.

  For maximum flexibility, LanguageMode is a bitmask, so we're not restricted to
  use a sequence of language modes which are progressively stricter, but we can
  express the language mode as combination of features.

  For now, LanguageMode can only be "sloppy" or "strict", and there are
  STATIC_ASSERTS in places which need to change when more modes are added.

  LanguageMode is a bit like the old LanguageMode when "extended" mode was still
  around (see https://codereview.chromium.org/8417035 and
  https://codereview.chromium.org/181543002 ) except that it's transmitted through
  all the layers (there's no StrictModeFlag).

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoFix build with GCC 4.6.
akos.palfi [Mon, 9 Feb 2015 08:11:03 +0000 (00:11 -0800)]
Fix build with GCC 4.6.

Fix build with GCC 4.6 after 158a87659f02ad4d5e41d2dc19eec1f0f4ded41f.

BUG=

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

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

9 years agoX87: new classes: special construct stub for derived classs and TDZ for `this`.
cdai2 [Mon, 9 Feb 2015 08:05:24 +0000 (16:05 +0800)]
X87: new classes: special construct stub for derived classs and TDZ for `this`.

port 6f97a4948f1495a9b9d60b7f495d0e0efeaa1006 (r26409)

original commit message:

   new classes: special construct stub for derived classs and TDZ for `this`.

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoX87: Super Constructor Calls need to use a vector slot, not an ic slot.
cdai2 [Mon, 9 Feb 2015 07:59:41 +0000 (15:59 +0800)]
X87: Super Constructor Calls need to use a vector slot, not an ic slot.

port 64f81870ee0bc51a32620be8face35e7cbd0da92 (r26414)

original commit message:

  Super Constructor Calls need to use a vector slot, not an ic slot.

  The Ast Call node is accustomed to using a vector IC slot for the
  cases when it uses a CallIC. The super constructor work alters this
  somewhat by using a CallConstructStub instead, however the
  CallConstructStub expects a vector slot and not a vector ic slot.
  This distinction needs to be maintained because slots and ic slots
  have different clearing strategies and are handled differently.

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoFix --max_old_space_size=4096 integer overflow.
ben [Mon, 9 Feb 2015 07:00:32 +0000 (23:00 -0800)]
Fix --max_old_space_size=4096 integer overflow.

BUG=v8:3857
LOG=N

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

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

9 years agoAdd StrongLoop, Inc. to AUTHORS.
Yang Guo [Mon, 9 Feb 2015 06:56:29 +0000 (07:56 +0100)]
Add StrongLoop, Inc. to AUTHORS.

TBR=marja@chromium.org

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

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

9 years agoX87: Megamorphic KeyedLoadIC needs special handling for vector ics
cdai2 [Mon, 9 Feb 2015 06:33:40 +0000 (14:33 +0800)]
X87: Megamorphic KeyedLoadIC needs special handling for vector ics

port 16843e239d95f5e8eaaa06d2a0a6e371298fe11f (r26381)

original commit message:

  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.

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoX87: Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros
chunyang.dai [Mon, 9 Feb 2015 06:08:42 +0000 (22:08 -0800)]
X87: Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros

port c65ae4f10c7273956e88db433f626b26a1377caf (r26346).

   fix one spelling error introduced by this CL.

original commit message:
  Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".

BUG=

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

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

9 years agoX87: Continue learning for calls in crankshaft.
cdai2 [Mon, 9 Feb 2015 05:18:28 +0000 (13:18 +0800)]
X87: Continue learning for calls in crankshaft.

port 7d363783e14433032a4e8dd426fe0e27d1637fe5.

original commit message:

  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.

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoX87: Add MEGAMORPHIC state support for KeyedLoadIC
chunyang.dai [Sat, 7 Feb 2015 09:31:08 +0000 (01:31 -0800)]
X87: Add MEGAMORPHIC state support for KeyedLoadIC

port 491eb81780873aafd4d7f6638d20f26839383c68 (r26345)

BUG=

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

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

9 years agoX87: Initial switch to Chromium-style CHECK_* and DCHECK_* macros
chunyang.dai [Sat, 7 Feb 2015 09:09:48 +0000 (01:09 -0800)]
X87: Initial switch to Chromium-style CHECK_* and DCHECK_* macros

port 0deaa4b629faeae6832046c294dc7c034a0a6653 (r26340)

     (code change in full-codegen-x87.cc is covered by r26340 ).

original commit message:

   Initial switch to Chromium-style CHECK_* and DCHECK_* macros.

BUG=

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

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

9 years agoX87: fix performance regression on intel call api stubs
chunyang.dai [Sat, 7 Feb 2015 08:43:40 +0000 (00:43 -0800)]
X87: fix performance regression on intel call api stubs

port b18ad510798d3a5e75f6b68656d8f8826571e782 (r26291)

original commit message:

  additionally, make the interface match the JSFunction interface

BUG=

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

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

9 years agoX87: Use a trampoline stub to load the type feedback vector for CallICs
chunyang.dai [Sat, 7 Feb 2015 07:52:17 +0000 (23:52 -0800)]
X87: Use a trampoline stub to load the type feedback vector for CallICs

port 2a567faa3e7242359e29c63f8dc8c18104af0610 (r26290)

original commit message:

  Use a trampoline stub to load the type feedback vector for CallICs.

BUG=

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

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

9 years agoX87: Remove the dependency of Zone on Isolate
cdai2 [Sat, 7 Feb 2015 06:21:53 +0000 (14:21 +0800)]
X87: Remove the dependency of Zone on Isolate

port c7b09aac317dd810d29b82061973199b80363b65 (r26252)

original commit message:

    Along the way:
    - Thread isolate parameter explicitly through code that used to
      rely on getting it from the zone.
    - Canonicalize the parameter position of isolate and zone for
      affected code
    - Change Hydrogen New<> instruction templates to automatically
      pass isolate

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoX87: new classes: change semantics of super(...) call and add new.target to construct...
cdai2 [Sat, 7 Feb 2015 06:20:27 +0000 (14:20 +0800)]
X87: new classes: change semantics of super(...) call and add new.target to construct stub.

port 22ce08ade63a9c4f28225db11a5b5d2726c5a8e7 (r26227)
original commit message:

  new classes: change semantics of super(...) call and add new.target to construct stub.

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Sat, 7 Feb 2015 04:24:55 +0000 (20:24 -0800)]
Update V8 DEPS.

Rolling v8/tools/clang to 5489bbf01a5292a6c44d4cad7875ba2cb4ac975b

TBR=machenbach@chromium.org

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

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

9 years agoRename ParseSourceElements in preparser too
arv [Fri, 6 Feb 2015 23:26:18 +0000 (15:26 -0800)]
Rename ParseSourceElements in preparser too

BUG=None
R=adamk
LOG=N

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

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

9 years agoAllow eval and arguments as property names
arv [Fri, 6 Feb 2015 18:04:11 +0000 (10:04 -0800)]
Allow eval and arguments as property names

We incorrectly disallowed eval and arguments in accessor and method
names. This was because we checked the name inside the
ParseFunctionLiteral. We now flag accessors so that lazy parsing of
these functions are treated correctly.

BUG=v8:1984
R=adamk, dslomov@chromium.org
LOG=N

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

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

9 years agoAdd basic compilation support for modules
adamk [Fri, 6 Feb 2015 17:52:20 +0000 (09:52 -0800)]
Add basic compilation support for modules

This adds an "experimental" API hook (v8::ScriptCompiler::CompileModule)
allowing compilation of modules. The code gen is incredibly basic: the
module body is represented by a Block in the AST. But this at least gets
more of the pipeline working, and opens the door to writing mjsunit tests
(once d8 is modified to support module compilation).

BUG=v8:1569
LOG=n

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

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

9 years agoSimplify cpu-profiler test code with help of wrappers.
loislo [Fri, 6 Feb 2015 16:50:56 +0000 (08:50 -0800)]
Simplify cpu-profiler test code with help of wrappers.

BTW: a few fixes for string comparison

BUG=none
LOG=n

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

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

9 years agoPreParser / Parser consistency: Make PreParser aware of Zone and AstValueFactory.
marja [Fri, 6 Feb 2015 15:58:36 +0000 (07:58 -0800)]
PreParser / Parser consistency: Make PreParser aware of Zone and AstValueFactory.

Previously it just had hacks to have NULLs instead of them and pretended to know
nothing about Zone. The hacks provide no real benefit (probably historically
based on some weird misconception about the relationship between Zone and
Isolate), and make it harder for the PreParser to start to know more about
variables and scoping.

BUG=

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

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

9 years ago[turbofan] OSR loops assign all local variables.
titzer [Fri, 6 Feb 2015 15:56:58 +0000 (07:56 -0800)]
[turbofan] OSR loops assign all local variables.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoTemporarily disable double fields unboxing.
ishell [Fri, 6 Feb 2015 15:50:31 +0000 (07:50 -0800)]
Temporarily disable double fields unboxing.

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

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

9 years agoCheck that we're called on a valid heap during idle notifications
jochen [Fri, 6 Feb 2015 15:36:08 +0000 (07:36 -0800)]
Check that we're called on a valid heap during idle notifications

BUG=chromium:425035
R=dcarney@chromium.org
LOG=n

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

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

9 years agoAdd hash fields to code cache header.
yangguo [Fri, 6 Feb 2015 15:20:40 +0000 (07:20 -0800)]
Add hash fields to code cache header.

R=jochen@chromium.org
BUG=chromium:441896
LOG=N

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

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

9 years ago[turbofan] Fix loop analysis bug with certain phi structures.
titzer [Fri, 6 Feb 2015 15:19:33 +0000 (07:19 -0800)]
[turbofan] Fix loop analysis bug with certain phi structures.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoMake the Linkage::NeedsFrameState list more intuitive.
mstarzinger [Fri, 6 Feb 2015 15:07:15 +0000 (07:07 -0800)]
Make the Linkage::NeedsFrameState list more intuitive.

R=jarin@chromium.org

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

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

9 years agox87: currently Turbofan is not supported by X87 so this test case is disabled.
cdai2 [Fri, 6 Feb 2015 14:59:06 +0000 (22:59 +0800)]
x87: currently Turbofan is not supported by X87 so this test case is disabled.

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

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

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

9 years ago[x64] Assembler support for internal references and RIP relative addressing.
bmeurer [Fri, 6 Feb 2015 12:48:15 +0000 (04:48 -0800)]
[x64] Assembler support for internal references and RIP relative addressing.

R=dcarney@chromium.org
BUG=v8:3872
LOG=n

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

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

9 years agoConst-corrected some MachineSignature* parameters.
svenpanne [Fri, 6 Feb 2015 12:18:44 +0000 (04:18 -0800)]
Const-corrected some MachineSignature* parameters.

Recipe: Add "const" to RawMachineAssembler constructor, fix breakage.

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

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

9 years agosplit interceptor tests off of test-api
Dan Carney [Fri, 6 Feb 2015 12:07:48 +0000 (13:07 +0100)]
split interceptor tests off of test-api

BUG=
R=verwaest@chromium.org

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

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

9 years agonew classes: assert that constructors are not callable and rewrite 'return;'
dslomov [Fri, 6 Feb 2015 10:34:50 +0000 (02:34 -0800)]
new classes: assert that constructors are not callable and rewrite 'return;'

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

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

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