platform/upstream/v8.git
9 years agoMIPS: new classes: implement correct check for uninitialized this in 'super()'
Akos Palfi [Fri, 13 Feb 2015 01:21:08 +0000 (02:21 +0100)]
MIPS: new classes: implement correct check for uninitialized this in 'super()'

Port fdcf3e59ba4af1aa3c5b31a18e615169c97958ab

BUG=
R=paul.lind@imgtec.com

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

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

9 years agoMake super() a syntax error in base class constructor
Erik Arvidsson [Thu, 12 Feb 2015 23:04:40 +0000 (18:04 -0500)]
Make super() a syntax error in base class constructor

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

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

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

9 years agoFix location of super syntax errors
Erik Arvidsson [Thu, 12 Feb 2015 20:53:03 +0000 (15:53 -0500)]
Fix location of super syntax errors

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

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

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

9 years agoRemove --experimental-classes flag and related dead code.
Dmitry Lomov [Thu, 12 Feb 2015 20:06:52 +0000 (21:06 +0100)]
Remove --experimental-classes flag and related dead code.

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

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

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

9 years agoCPUProfiler: Push deopt reason further to ProfileNode.
loislo [Thu, 12 Feb 2015 19:51:26 +0000 (11:51 -0800)]
CPUProfiler: Push deopt reason further to ProfileNode.

1) create beefy RelocInfo table when cpu profiler is active, so if a function
was optimized when profiler was active RelocInfo would get separate DeoptInfo
for the each deopt case.

2) push DeoptInfo from CodeEntry to ProfileNode.
When deopt happens we put the info collected on #1 into CodeEntry and record stack sample.
On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list.

Sample profile dump.
[Top down]:
    0  (root) 0 #1
    1     29 #2
    1      test 29 #3
    2        opt_function 29 #4
    2          opt_function 29 #5
                   deopted at 118 with reason 'not a heap number'
                   deopted at 137 with reason 'division by zero'

BUG=452067
LOG=n

Committed: https://crrev.com/ce8701b247d3c6604f24f17a90c02d17b4417f54
Cr-Commit-Position: refs/heads/master@{#26615}

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

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

9 years agoCreate v8 roll branches in refs/heads.
machenbach [Thu, 12 Feb 2015 18:34:21 +0000 (10:34 -0800)]
Create v8 roll branches in refs/heads.

This is needed as normal chromium checkouts don't fetch
branch-heads.

These branches will also be replicated by GitHub and are
fetched when cloning from the repository.

The expected object size will be the same or smaller than
before as we currently push the same information onto the
candidates branch (which already is in refs/heads). The only
difference is the increasing number of refs in refs/heads.

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/914973002

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

9 years agonew classes: no longer experimental.
Dmitry Lomov [Thu, 12 Feb 2015 18:06:24 +0000 (19:06 +0100)]
new classes: no longer experimental.

This CL fixes tests that no longer valid and also fixes two issues:
1. 'super()' in non derived constructors.
2. Failure to step into derived constructors.

R=arv@chromium.org, yurys@chromium.org
BUG=v8:3834
LOG=Y

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

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

9 years agoFix for the compilation issue in shared mode introduced by r26624
ishell@chromium.org [Thu, 12 Feb 2015 17:26:57 +0000 (18:26 +0100)]
Fix for the compilation issue in shared mode introduced by r26624

TBR=verwaest@chromium.org

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

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

9 years agoAdd missing FrameState to JSTypedLoweringTester::Binop.
mstarzinger [Thu, 12 Feb 2015 17:08:47 +0000 (09:08 -0800)]
Add missing FrameState to JSTypedLoweringTester::Binop.

R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering

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

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

9 years agoMark pages created during bootstrapping as never-evacuate.
yangguo [Thu, 12 Feb 2015 16:47:50 +0000 (08:47 -0800)]
Mark pages created during bootstrapping as never-evacuate.

This is to ensure that immutable immortal objects created during
bootstrapping are not relocated.

R=hpayer@chromium.org

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

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

9 years agoEnable layout descriptor consistency checks in heap verification mode.
ishell [Thu, 12 Feb 2015 16:40:26 +0000 (08:40 -0800)]
Enable layout descriptor consistency checks in heap verification mode.

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

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

9 years agoProperly thread language mode to compilation cache
rossberg [Thu, 12 Feb 2015 16:29:42 +0000 (08:29 -0800)]
Properly thread language mode to compilation cache

Fixes the TSAN issue.

R=mstarzinger@chromium.org
NOTRY=true
BUG=

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

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

9 years agoFix GCMole after b79b985988fd
ulan [Thu, 12 Feb 2015 16:00:25 +0000 (08:00 -0800)]
Fix GCMole after b79b985988fd

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

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

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

9 years ago[turbofan] Make the representation type component independent of the semantic component.
jarin [Thu, 12 Feb 2015 15:21:17 +0000 (07:21 -0800)]
[turbofan] Make the representation type component independent of the semantic component.

R=rossberg@chromium.org
BUG=

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

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

9 years agoParser / PreParser: trivial unifications
marja [Thu, 12 Feb 2015 15:12:32 +0000 (07:12 -0800)]
Parser / PreParser: trivial unifications

(To minimize the diff of actually interesting unifications.)

R=rossberg@chromium.org
BUG=

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

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

9 years ago[strong] no sloppy equality
rossberg [Thu, 12 Feb 2015 15:09:55 +0000 (07:09 -0800)]
[strong] no sloppy equality

R=marja@chromium.org
BUG=

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

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

9 years agoX87: silence C++ compiler warnings.
chunyang.dai [Thu, 12 Feb 2015 14:40:01 +0000 (06:40 -0800)]
X87: silence C++ compiler warnings.

To solence C++ compiler warnings because is_mutable_ is only for CHECK.

BUG=

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

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

9 years agoMake it possible to define arguments for CompileFunctionInContext
jochen [Thu, 12 Feb 2015 14:38:54 +0000 (06:38 -0800)]
Make it possible to define arguments for CompileFunctionInContext

Also make sure that the function body really produces only one function literal.

LOG=y
BUG=none
R=yangguo@chromium.org

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

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

9 years agoRevert of CPUProfiler: Push deopt reason further to ProfileNode. (patchset #1 id...
loislo [Thu, 12 Feb 2015 14:36:21 +0000 (06:36 -0800)]
Revert of CPUProfiler: Push deopt reason further to ProfileNode. (patchset #1 id:1 of https://codereview.chromium.org/919953002/)

Reason for revert:
static initializers broke the build

Original issue's description:
> CPUProfiler: Push deopt reason further to ProfileNode.
>
> 1) create beefy RelocInfo table when cpu profiler is active, so if a function
> was optimized when profiler was active RelocInfo would get separate DeoptInfo
> for the each deopt case.
>
> 2) push DeoptInfo from CodeEntry to ProfileNode.
> When deopt happens we put the info collected on #1 into CodeEntry and record stack sample.
> On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list.
>
> Sample profile dump.
> [Top down]:
>     0  (root) 0 #1
>     1     29 #2
>     5      test 29 #3
>     3        opt_function 29 #4
>                  deopted at 52 with reason 'not a heap number'
>                  deopted at 71 with reason 'division by zero'
>
> BUG=452067
> LOG=n
>
> Committed: https://crrev.com/ce8701b247d3c6604f24f17a90c02d17b4417f54
> Cr-Commit-Position: refs/heads/master@{#26615}

TBR=jarin@chromium.org,svenpanne@chromium.org,yurys@chromium.org,alph@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=452067

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

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

9 years agoCPUProfiler: Push deopt reason further to ProfileNode.
loislo [Thu, 12 Feb 2015 13:24:59 +0000 (05:24 -0800)]
CPUProfiler: Push deopt reason further to ProfileNode.

1) create beefy RelocInfo table when cpu profiler is active, so if a function
was optimized when profiler was active RelocInfo would get separate DeoptInfo
for the each deopt case.

2) push DeoptInfo from CodeEntry to ProfileNode.
When deopt happens we put the info collected on #1 into CodeEntry and record stack sample.
On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list.

Sample profile dump.
[Top down]:
    0  (root) 0 #1
    1     29 #2
    5      test 29 #3
    3        opt_function 29 #4
                 deopted at 52 with reason 'not a heap number'
                 deopted at 71 with reason 'division by zero'

BUG=452067
LOG=n

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

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

9 years agoUse weak cells in dependent code.
ulan [Thu, 12 Feb 2015 13:21:06 +0000 (05:21 -0800)]
Use weak cells in dependent code.

BUG=

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

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

9 years agoFix missing visitation of FrameState in simplified lowering.
mstarzinger [Thu, 12 Feb 2015 13:14:33 +0000 (05:14 -0800)]
Fix missing visitation of FrameState in simplified lowering.

R=jarin@chromium.org

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

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

9 years agoParsing: Make Parser not know about Isolate during background parsing.
marja [Thu, 12 Feb 2015 13:02:30 +0000 (05:02 -0800)]
Parsing: Make Parser not know about Isolate during background parsing.

Parser must be able to operate independent of Isolate and the V8 heap during
parsing. After the heap-independent phase, there is a heap dependent phase,
during which we internalize strings, handle errors, etc.

This makes Isolate (also via CompilationInfo) unaccessible during parsing, and
thus decreases the probability of accidental code changes which would add
heap-dependent operations into the heap-independent phase.

Since Isolate is also accessible via CompilationInfo, now CompilationInfo is
only passed to the entry points of parsing, and not stored in Parser.

R=rossberg@chromium.org
BUG=

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

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

9 years ago[turbofan] Merge node-aux-data-inl.h into node-aux-data.h.
bmeurer [Thu, 12 Feb 2015 13:01:21 +0000 (05:01 -0800)]
[turbofan] Merge node-aux-data-inl.h into node-aux-data.h.

Google style guide forbids -inl.h headers.

R=svenpanne@chromium.org

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

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

9 years agoRemoved one bogus CompilationInfo constructor.
svenpanne [Thu, 12 Feb 2015 12:57:07 +0000 (04:57 -0800)]
Removed one bogus CompilationInfo constructor.

Use a fake code stub instead, basically following the null object pattern.

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

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

9 years agoFix invalid use of int in Zone.
bmeurer [Thu, 12 Feb 2015 12:46:58 +0000 (04:46 -0800)]
Fix invalid use of int in Zone.

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

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

9 years agoRemove redundant source position information in RelocInfo
danno [Thu, 12 Feb 2015 12:15:14 +0000 (04:15 -0800)]
Remove redundant source position information in RelocInfo

Previously, emitting two more more unique source positions at the same pc would
generate two or more RelocInfo entries. Now, only the last emitted source
position for any pc is added to the RelocInfo.

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

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

9 years agoFix JSArrayBufferView visitor template to fix ARM build.
hpayer [Thu, 12 Feb 2015 11:58:24 +0000 (03:58 -0800)]
Fix JSArrayBufferView visitor template to fix ARM build.

NOTREECHECKS=true
TBR=ulan@chromium.org

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

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

9 years agoInline the ParseInfo structure as parameters to the Parser constructor.
Ben L. Titzer [Thu, 12 Feb 2015 11:56:57 +0000 (12:56 +0100)]
Inline the ParseInfo structure as parameters to the Parser constructor.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoJust visit young array buffers during scavenge. Additionally keep the views in new...
hpayer [Thu, 12 Feb 2015 10:00:26 +0000 (02:00 -0800)]
Just visit young array buffers during scavenge. Additionally keep the views in new space in a separate global list and move them to the corresponding array buffers when they get promoted.

This reduces young generation garbage collections when many array buffers are allocated.
BUG=

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

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

9 years agoFix nasty off-by-one in the TurboFan JSON tracer.
mstarzinger [Thu, 12 Feb 2015 09:16:18 +0000 (01:16 -0800)]
Fix nasty off-by-one in the TurboFan JSON tracer.

R=danno@chromium.org
TEST=cctest/test-run-intrinsics/CallFunction

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

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

9 years agoX87: new classes: implement correct check for uninitialized this in 'super()'
cdai2 [Thu, 12 Feb 2015 08:10:56 +0000 (16:10 +0800)]
X87: new classes: implement correct check for uninitialized this in 'super()'

port fdcf3e59ba4af1aa3c5b31a18e615169c97958ab (r26599)

original commit message:

    new classes: implement correct check for uninitialized this in 'super()'

BUG=
R=weiliang.lin@intel.com

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

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

9 years ago[ycm] The YouCompleteMe configuration is not VIM specific.
bmeurer [Thu, 12 Feb 2015 07:21:06 +0000 (23:21 -0800)]
[ycm] The YouCompleteMe configuration is not VIM specific.

Rename tools/vim/v8.ycm_extra_conf.py to .ycm_extra_conf.py, so every
YCM plugin (no matter if it's VIM or Emacs) should pick it up
automatically.

Also move the common tools/vim/ninja_output.py to tools/ninja/ as it's
also not related to VIM.

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

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

9 years agoX87: new classes: implement default constructors
cdai2 [Thu, 12 Feb 2015 03:51:22 +0000 (11:51 +0800)]
X87: new classes: implement default constructors

port 9b158fa79a510bd1fee2f663163d9116879cb33a (r26594)

original commit message:

  new classes: implement default constructors

BUG=
R=weiliang.lin@intel.com

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

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

9 years agofix typo in mjsunit expectations
dcarney [Wed, 11 Feb 2015 21:29:17 +0000 (13:29 -0800)]
fix typo in mjsunit expectations

TBR=machenbach@chromium.org

BUG=

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

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

9 years agonew classes: implement correct check for uninitialized this in 'super()'
dslomov [Wed, 11 Feb 2015 20:47:22 +0000 (12:47 -0800)]
new classes: implement correct check for uninitialized this in 'super()'

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

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

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

9 years agoMIPS: new classes: implement default constructors.
akos.palfi [Wed, 11 Feb 2015 20:41:53 +0000 (12:41 -0800)]
MIPS: new classes: implement default constructors.

Port 9b158fa79a510bd1fee2f663163d9116879cb33a

BUG=

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

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

9 years agoMIPS: new classes: implement new.target passing to superclass constructor.
akos.palfi [Wed, 11 Feb 2015 19:54:13 +0000 (11:54 -0800)]
MIPS: new classes: implement new.target passing to superclass constructor.

Port bf49be39f333bf1ce14202663595d455aa4b24cb

BUG=

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

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

9 years agoX87: new classes: implement new.target passing to superclass constructor
chunyang.dai [Wed, 11 Feb 2015 17:41:53 +0000 (09:41 -0800)]
X87: new classes: implement new.target passing to superclass constructor

port bf49be39f333bf1ce14202663595d455aa4b24cb (r26572)

original commit message:

   new classes: implement new.target passing to superclass constructor

BUG=

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

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

9 years agoCopy the corresponding opt_count_and_bailout_reason info when invoking Runtime_SetCode.
chunyang.dai [Wed, 11 Feb 2015 17:31:59 +0000 (09:31 -0800)]
Copy the corresponding opt_count_and_bailout_reason info when invoking Runtime_SetCode.

  This error is exposed by this CL:  https://codereview.chromium.org/817293005.

   This CL set all Buildin JS function to optimization_disabled.
   And set the bailout reason to "kBuiltinFunctionCannotBeOptimized". But in Runtime_SetCode() function.
   It copied the the compiler_hints which include the "bool optimization_disabled" value,
   But the corresponding Bailout reason is not copied.
   This leads to the check error in "CompilationInfo::AbortOptimization(...)" function.

  This issue is exposed on turbofan unsupported X87 platform. Crankshaft is invoked to compile
 the typed array function Uint8Array.

BUG=

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

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

9 years agonew classes: implement default constructors.
dslomov [Wed, 11 Feb 2015 17:22:50 +0000 (09:22 -0800)]
new classes: implement default constructors.

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

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

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

9 years agoFix for arm64 after v8:r26448
loislo [Wed, 11 Feb 2015 17:11:23 +0000 (09:11 -0800)]
Fix for arm64 after v8:r26448

The offensive cl is https://codereview.chromium.org/874323003/

Test:
./out/arm64.debug/d8 --test --random-seed=-235865360 --turbo-deoptimization --turbo-filter=* --always-opt --debug-code --verify-heap --gc-interval=500 --stress-compaction test/mjsunit/mjsunit.js test/mjsunit/regress/regress-builtinbust-7.js --trace-deopt

BUG=452067
TBR=dcarney, svenpanne
LOG=n

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

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

9 years agoFix issue when compiling with gcc 4.6.
rodolph.perfetta [Wed, 11 Feb 2015 16:52:20 +0000 (08:52 -0800)]
Fix issue when compiling with gcc 4.6.

BUG=

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

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

9 years agoRemove redundant check from ControlEquivalence traversal.
mstarzinger [Wed, 11 Feb 2015 16:21:01 +0000 (08:21 -0800)]
Remove redundant check from ControlEquivalence traversal.

R=jarin@chromium.org
TEST=unittests/ControlEquivalenceTest

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

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

9 years agoX87: Parsing: Make Scope not know about Isolate.
cdai2 [Wed, 11 Feb 2015 15:50:17 +0000 (23:50 +0800)]
X87:  Parsing: Make Scope not know about Isolate.

port 5d68529be240a1fc9fcc67c8950ead4baf7604e4 (r26546)

original commit message:

   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.

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoReduce the number of #includes of compiler.h.
titzer [Wed, 11 Feb 2015 15:49:02 +0000 (07:49 -0800)]
Reduce the number of #includes of compiler.h.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoX87: Propagate Deopt reason to cpu-profiler
cdai2 [Wed, 11 Feb 2015 15:36:48 +0000 (23:36 +0800)]
X87:  Propagate Deopt reason to cpu-profiler

port 86cae1633caa31f2225b6932850fb13d3a21cf59 (r26545)

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=
R=weiliang.lin@intel.com

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

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

9 years agoRemove stray comment from ast.cc
adamk [Wed, 11 Feb 2015 15:36:27 +0000 (07:36 -0800)]
Remove stray comment from ast.cc

This comment used to have a (commented-out) ASSERT attached to it.
But that ASSERT was removed years ago, so the comment is now a
non-sequitar.

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

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

9 years agoFix issue with super and computed property names
arv [Wed, 11 Feb 2015 15:13:05 +0000 (07:13 -0800)]
Fix issue with super and computed property names

We did not set up the [[HomeObject]] for properties created for
computed property names.

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

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

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

9 years agoRemove dead code related to new super
arv [Wed, 11 Feb 2015 15:11:54 +0000 (07:11 -0800)]
Remove dead code related to new super

Support for `new super` has been removed so this code in the full
code gen is now unreachable.

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

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

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

9 years agoMark some common operator with Property::kNoThrow.
mstarzinger [Wed, 11 Feb 2015 15:02:32 +0000 (07:02 -0800)]
Mark some common operator with Property::kNoThrow.

R=bmeurer@chromium.org
TEST=unittests/CommonOperatorTest

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

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

9 years agoMove SetFunctionInfo() from compiler.cc to objects.cc. Rationale: not related to...
titzer [Wed, 11 Feb 2015 14:51:59 +0000 (06:51 -0800)]
Move SetFunctionInfo() from compiler.cc to objects.cc. Rationale: not related to generating code.

R=verwaest@chromium.org
BUG=

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

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

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}