Commit Graph

21250 Commits

Author SHA1 Message Date
danno
e87c0bac35 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}
2015-02-12 12:15:31 +00:00
hpayer
295ab27830 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}
2015-02-12 11:58:34 +00:00
Ben L. Titzer
d9790bc7ed 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}
2015-02-12 11:57:11 +00:00
hpayer
bd61a85faf 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}
2015-02-12 10:00:44 +00:00
mstarzinger
34c1db2fd7 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}
2015-02-12 09:16:29 +00:00
cdai2
71784ec03c X87: new classes: implement correct check for uninitialized this in 'super()'
port fdcf3e59ba (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}
2015-02-12 08:11:40 +00:00
bmeurer
42c30b8f39 [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}
2015-02-12 07:21:13 +00:00
cdai2
fb55eae323 X87: new classes: implement default constructors
port 9b158fa79a (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}
2015-02-12 03:52:13 +00:00
dcarney
01d7be28a6 fix typo in mjsunit expectations
TBR=machenbach@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26600}
2015-02-11 21:29:35 +00:00
dslomov
fdcf3e59ba 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}
2015-02-11 20:47:32 +00:00
akos.palfi
993a48f8c0 MIPS: new classes: implement default constructors.
Port 9b158fa79a

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26598}
2015-02-11 20:42:04 +00:00
akos.palfi
67f7b5b15c MIPS: new classes: implement new.target passing to superclass constructor.
Port bf49be39f3

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26597}
2015-02-11 19:54:31 +00:00
chunyang.dai
8be79b005d X87: new classes: implement new.target passing to superclass constructor
port bf49be39f3 (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}
2015-02-11 17:41:58 +00:00
chunyang.dai
464f76b734 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}
2015-02-11 17:32:11 +00:00
dslomov
9b158fa79a 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}
2015-02-11 17:23:00 +00:00
loislo
65b10efea1 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}
2015-02-11 17:11:33 +00:00
rodolph.perfetta
59cf171d3d Fix issue when compiling with gcc 4.6.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26592}
2015-02-11 16:52:27 +00:00
mstarzinger
2d7d81a502 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}
2015-02-11 16:21:14 +00:00
cdai2
75ad4cc265 X87: Parsing: Make Scope not know about Isolate.
port 5d68529be2 (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}
2015-02-11 15:50:58 +00:00
titzer
02fc74ea63 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}
2015-02-11 15:49:17 +00:00
cdai2
4c345754b1 X87: Propagate Deopt reason to cpu-profiler
port 86cae1633c (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}
2015-02-11 15:37:33 +00:00
adamk
4043c45f46 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}
2015-02-11 15:36:40 +00:00
arv
b5e235661f 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}
2015-02-11 15:13:12 +00:00
arv
a6f0a373dc 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}
2015-02-11 15:12:06 +00:00
mstarzinger
ec4305e48b 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}
2015-02-11 15:02:41 +00:00
titzer
688dcc3aa9 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}
2015-02-11 14:52:13 +00:00
dcarney
81544f2859 skip failing test on arm64
LOG=N
BUG=v8:3884

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

Cr-Commit-Position: refs/heads/master@{#26582}
2015-02-11 14:36:06 +00:00
Yang Guo
d59202c143 Fix shared library build.
TBR=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26581}
2015-02-11 14:32:28 +00:00
svenpanne
d1b5aa0716 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}
2015-02-11 14:12:15 +00:00
yangguo
505b6020a8 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}
2015-02-11 14:10:12 +00:00
yangguo
5d1a9b09f3 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}
2015-02-11 14:03:21 +00:00
hpayer
c889fb4c1d 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}
2015-02-11 13:39:40 +00:00
titzer
31637fb396 [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}
2015-02-11 13:26:45 +00:00
yangguo
12e1b959d2 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}
2015-02-11 12:06:29 +00:00
yangguo
8aae1b3096 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}
2015-02-11 10:21:25 +00:00
ulan
7bf9b23c53 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}
2015-02-11 09:59:49 +00:00
dslomov
bf49be39f3 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}
2015-02-11 09:47:51 +00:00
dcarney
79417664b2 remove undetectable strings
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26571}
2015-02-11 09:28:12 +00:00
mstarzinger
25fce2c5c1 Remove obsolete Malloced::FatalProcessOutOfMemory.
R=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26570}
2015-02-11 09:25:48 +00:00
dcarney
307d2bdd81 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}
2015-02-11 09:15:33 +00:00
dusan.milosavljevic
85ed0097d5 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}
2015-02-11 09:05:26 +00:00
svenpanne
41e74ad4e8 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}
2015-02-11 08:52:38 +00:00
Benedikt Meurer
f2369fa335 [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}
2015-02-11 07:43:10 +00:00
loislo
754cc1a9e4 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}
2015-02-11 07:27:09 +00:00
bmeurer
a1cb0616d2 [vim] Add YouCompleteMe configuration.
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26564}
2015-02-11 07:12:05 +00:00
bmeurer
b10d55fd34 [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}
2015-02-11 06:59:14 +00:00
v8-autoroll
7c72f27a97 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}
2015-02-11 04:34:58 +00:00
dslomov
8e4ec9dd13 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}
2015-02-11 01:36:32 +00:00
dslomov
8aed43e82c 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}
2015-02-11 01:23:11 +00:00
arv
68e4897586 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}
2015-02-10 22:13:43 +00:00