Commit Graph

21036 Commits

Author SHA1 Message Date
marja
0ca9bef37f 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}
2015-02-10 13:27:25 +00:00
v8-autoroll
18e7f82b01 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}
2015-02-10 12:53:01 +00:00
svenpanne
6e4e43b652 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}
2015-02-10 11:46:04 +00:00
yangguo
bee9a0accb Correctly pointer-align code cache payload.
R=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26541}
2015-02-10 11:20:37 +00:00
titzer
1db760de7d 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}
2015-02-10 09:53:22 +00:00
bmeurer
f40238d36b Add compile_commands.json to .gitignore.
R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26539}
2015-02-10 09:04:24 +00:00
chunyang.dai
68db76e1b6 Fix the MachineSignature* parameters change for turbofan unsupported platform.
this issue is introduced by 30787d4e56.
   (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}
2015-02-10 08:56:10 +00:00
Benedikt Meurer
33b672902d 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}
2015-02-10 07:51:42 +00:00
bmeurer
e06dc0569a [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}
2015-02-10 07:27:13 +00:00
akos.palfi
0b692450c3 MIPS: [turbofan] Initial support for Switch.
Port feb2890711

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}
2015-02-10 04:02:38 +00:00
balazs.kilvady
e094f909fc MIPS: Assembler support for internal references.
Port 49cbe537e7

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26534}
2015-02-09 20:50:03 +00:00
chunyang.dai
07c6814d0f Add dummy implementation for turbofan unsupported platform.
This function is defined in feb2890711.
   (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}
2015-02-09 18:43:21 +00:00
jochen
4357bef53b 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}
2015-02-09 16:26:03 +00:00
yangguo
32ad0a3b3d 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}
2015-02-09 15:19:31 +00:00
jochen
30674bdeb4 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}
2015-02-09 15:16:33 +00:00
yangguo
7819c593e8 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}
2015-02-09 14:49:47 +00:00
dcarney
6f97beb51e [turbofan] make zone allocation of InstructionOperand explicit
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26528}
2015-02-09 14:20:19 +00:00
titzer
9030a2674b 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}
2015-02-09 14:11:23 +00:00
chunyang.dai
ebb77c37ed X87: Externalize deoptimization reasons.
port 2491a639bf (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}
2015-02-09 14:10:17 +00:00
mstarzinger
215e6bcb00 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}
2015-02-09 13:13:28 +00:00
dcarney
4045b72ce3 [turbofan] remove one level of indirection in phi inputs
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26524}
2015-02-09 13:02:53 +00:00
titzer
4c302ca290 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}
2015-02-09 12:47:43 +00:00
dcarney
313b24dbc2 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}
2015-02-09 11:33:50 +00:00
bmeurer
693e633b5c [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}
2015-02-09 10:44:06 +00:00
cdai2
8a144cd4c0 X87: Remove the obsolete OverwriteMode optimization.
port 634b0f20f4 (r26454).

original commit message:

BUG=
R=weiliang.lin@intel.com

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

Cr-Commit-Position: refs/heads/master@{#26520}
2015-02-09 10:28:04 +00:00
cdai2
f77e016e59 X87: Fix assertion in full codegen for holed 'this'
port 275e088abe (r26423)

original commit message:

BUG=
R=weiliang.lin@intel.com

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

Cr-Commit-Position: refs/heads/master@{#26519}
2015-02-09 10:25:25 +00:00
dcarney
9896fab0df 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}
2015-02-09 09:50:15 +00:00
cdai2
7280426acb X87: Retry "Use a WeakCell in the CallIC type vector."
port 6fc97a1965 (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}
2015-02-09 09:29:45 +00:00
yangguo
161efc42bf 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}
2015-02-09 09:04:57 +00:00
bmeurer
feb2890711 [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}
2015-02-09 08:56:12 +00:00
cdai2
4ee5161962 X87: Introduce LanguageMode, drop StrictMode.
port c7851da4ae (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}
2015-02-09 08:50:08 +00:00
akos.palfi
525c1794f2 Fix build with GCC 4.6.
Fix build with GCC 4.6 after 158a87659f.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26513}
2015-02-09 08:11:21 +00:00
cdai2
91d9054350 X87: new classes: special construct stub for derived classs and TDZ for this.
port 6f97a4948f (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}
2015-02-09 08:06:10 +00:00
cdai2
e10291d843 X87: Super Constructor Calls need to use a vector slot, not an ic slot.
port 64f81870ee (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}
2015-02-09 08:00:29 +00:00
ben
a02d97e342 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}
2015-02-09 07:01:02 +00:00
Yang Guo
22dd076478 Add StrongLoop, Inc. to AUTHORS.
TBR=marja@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26509}
2015-02-09 06:56:48 +00:00
cdai2
b2e15510a8 X87: Megamorphic KeyedLoadIC needs special handling for vector ics
port 16843e239d (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}
2015-02-09 06:34:31 +00:00
chunyang.dai
13d6a96a8f X87: Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros
port c65ae4f10c (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}
2015-02-09 06:08:58 +00:00
cdai2
f50a556bd0 X87: Continue learning for calls in crankshaft.
port 7d363783e1.

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}
2015-02-09 05:19:21 +00:00
chunyang.dai
6a66a78d70 X87: Add MEGAMORPHIC state support for KeyedLoadIC
port 491eb81780 (r26345)

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26505}
2015-02-07 09:31:18 +00:00
chunyang.dai
30e02390f1 X87: Initial switch to Chromium-style CHECK_* and DCHECK_* macros
port 0deaa4b629 (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}
2015-02-07 09:10:00 +00:00
chunyang.dai
db379e19c8 X87: fix performance regression on intel call api stubs
port b18ad51079 (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}
2015-02-07 08:43:57 +00:00
chunyang.dai
27361ec6c8 X87: Use a trampoline stub to load the type feedback vector for CallICs
port 2a567faa3e (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}
2015-02-07 07:52:37 +00:00
cdai2
3c56b02674 X87: Remove the dependency of Zone on Isolate
port c7b09aac31 (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}
2015-02-07 06:22:47 +00:00
cdai2
bd4476a623 X87: new classes: change semantics of super(...) call and add new.target to construct stub.
port 22ce08ade6 (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}
2015-02-07 06:21:21 +00:00
v8-autoroll
b9e15ea3aa 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}
2015-02-07 04:25:04 +00:00
arv
8a809a9c86 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}
2015-02-06 23:26:35 +00:00
arv
64abe65210 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}
2015-02-06 18:04:21 +00:00
adamk
70079dab13 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}
2015-02-06 17:52:38 +00:00
loislo
fb73392bfd 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}
2015-02-06 16:51:07 +00:00