Commit Graph

21022 Commits

Author SHA1 Message Date
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
marja
5c56665059 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}
2015-02-06 15:58:47 +00:00
titzer
d9892bbd5a [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}
2015-02-06 15:57:12 +00:00
ishell
51c59ede18 Temporarily disable double fields unboxing.
Review URL: https://codereview.chromium.org/893843004

Cr-Commit-Position: refs/heads/master@{#26492}
2015-02-06 15:50:39 +00:00
jochen
0c43274394 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}
2015-02-06 15:36:21 +00:00
yangguo
7f4d207c8b 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}
2015-02-06 15:20:52 +00:00
titzer
c6c1d8ffd6 [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}
2015-02-06 15:19:51 +00:00
mstarzinger
c699a87be9 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}
2015-02-06 15:07:24 +00:00
cdai2
2b0427a912 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}
2015-02-06 14:59:54 +00:00
bmeurer
008f4732f7 [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}
2015-02-06 12:48:52 +00:00
svenpanne
30787d4e56 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}
2015-02-06 12:18:51 +00:00
Dan Carney
878963a8a5 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}
2015-02-06 12:08:07 +00:00
dslomov
158a87659f 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}
2015-02-06 10:35:13 +00:00
yangguo
a44511d413 Allocate typed array for rempio2 result.
R=svenpanne@chromium.org
BUG=chromium:441896
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26482}
2015-02-06 09:55:07 +00:00
dcarney
e64810b5a5 cleanup api-natives a bit
R=verwaest@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26481}
2015-02-06 09:44:58 +00:00