1. 28 Sep, 2016 1 commit
  2. 27 Sep, 2016 1 commit
  3. 20 Sep, 2016 1 commit
    • jochen's avatar
      Change the CompilerDispatcherJob to take a SharedFunctionInfo · 0f0912dd
      jochen authored
      This means we can no longer take the closure's context to parse, but
      need to rely on the outer scope info.
      
      Since it's not possible to get that, however, for lazy functions, we
      introduce a new field to SharedFunctionInfo that stores the outer scope
      info whenever available.
      
      BUG=v8:5215
      R=marja@chromium.org,verwaest@chromium.org,jgruber@chromium.org
      
      Review-Url: https://codereview.chromium.org/2358503002
      Cr-Commit-Position: refs/heads/master@{#39548}
      0f0912dd
  4. 16 Sep, 2016 1 commit
  5. 15 Sep, 2016 3 commits
    • jochen's avatar
      Only pass the outer scope info with ParseInfo · 65aa596f
      jochen authored
      We don't need the context anymore for parsing, the scope info chain is
      enough.
      
      BUG=v8:5215
      R=marja@chromium.org,jgruber@chromium.org,mstarzinger@chromium.org
      
      Review-Url: https://codereview.chromium.org/2342443004
      Cr-Commit-Position: refs/heads/master@{#39457}
      65aa596f
    • mstarzinger's avatar
      [compiler] Fix confusion about OSR BailoutId semantics. · b848716c
      mstarzinger authored
      The semantics of the {BailoutId} representing an OSR entry point is
      different between the interpreter and the full code generator. These
      semantics are hard-coded in various graph builders. We need to ensure
      that the correct graph builder is chosen for OSR compilations.
      
      R=rmcilroy@chromium.org
      TEST=mjsunit/regress/regress-5380
      BUG=v8:5380
      
      Review-Url: https://codereview.chromium.org/2341663002
      Cr-Commit-Position: refs/heads/master@{#39444}
      b848716c
    • rmcilroy's avatar
      [Interpreter] Localize the CanonicalHandleScope to parsing and renumbering. · b37daacd
      rmcilroy authored
      Ignition requires that objects which will be inserted into the
      constant pool are canonicalized (to enable off-thread bytecode
      generation). We created a CanonicalizeHandleScope across parse/compile
      however this impacts performance (~5-8% on CodeLoad).
      
      Now we localize the CanonicalHandleScope to only the parse /
      internalization and renumbering phases where objects are created which
      could end up in the constant array pool. This seems to address
      the performance regression.
      
      BUG=v8:5203,chromium:634953
      
      Review-Url: https://codereview.chromium.org/2318653002
      Cr-Commit-Position: refs/heads/master@{#39443}
      b37daacd
  6. 05 Sep, 2016 2 commits
    • mstarzinger's avatar
      [compiler] Bytecode preparation fails for asm.js modules. · cc1249b7
      mstarzinger authored
      This handles the case where preparation of bytecode might fail inside
      Compiler::EnsureBytecode due to the underlying function being a fully
      validated asm.js module. We simply bailout of bytecode preparation.
      
      R=bradnelson@chromium.org
      TEST=mjsunit/regress/regress-crbug-644111
      BUG=chromium:644111
      
      Review-Url: https://codereview.chromium.org/2309853002
      Cr-Commit-Position: refs/heads/master@{#39187}
      cc1249b7
    • fmeawad's avatar
      [RuntimeCallStats] Move tracing runtime instrumentation closer to the original version. · e5ba156d
      fmeawad authored
      After we landed the tracing runtime call stats, which gave
      us a lot of V8 insight in tracing, we noticed that there is
      some arising issues and discrepancies.
      
      Issues include:
      Missing trace events, that happened due to
      transforming those trace events into runtime calls
      
      Discrepancies include:
      Missing categories in Runtime call stats like GC,
      because we are not handling the Scoped runtime calls
      properly in the tracing version.
      
      To reduce/eliminate those issue, we are taking a small
      step back. We are unifying the RuntimeStats code and
      using the original one. That would allow us to use all
      the original probes but emit trace events from them.
      We are also putting back the trace-events in their place.
      
      The output from both system should be intact (Except of
      the addition of the missing trace-events).
      
      Also as a byproduct, we are reducing the number of context
      scopes by half since we are using the same scope as
      runtime call stats.
      
      As a follow up to this CL, we will address the non-scoped
      Runtime Call Stats (mainly in GC).
      BUG=642373
      
      Review-Url: https://codereview.chromium.org/2296243002
      Cr-Commit-Position: refs/heads/master@{#39180}
      e5ba156d
  7. 01 Sep, 2016 1 commit
  8. 31 Aug, 2016 2 commits
  9. 30 Aug, 2016 1 commit
  10. 26 Aug, 2016 1 commit
  11. 25 Aug, 2016 3 commits
  12. 24 Aug, 2016 1 commit
    • mstarzinger's avatar
      [compiler] Make Compiler::EnsureBytecode not switch tiers. · b52aecac
      mstarzinger authored
      This preserves the original shared code of the underlying function when
      bytecode is provided. The method in question should only ensure bytecode
      is present, but should avoid switching compilation tiers of the given
      function. It might be that the function was fast-tracked to baseline by
      inlining without going through the interpreted tier first.
      
      R=rmcilroy@chromium.org
      TEST=mjsunit/regress/regress-crbug-635923
      BUG=chromium:635923
      
      Review-Url: https://codereview.chromium.org/2278543002
      Cr-Commit-Position: refs/heads/master@{#38866}
      b52aecac
  13. 23 Aug, 2016 1 commit
  14. 22 Aug, 2016 2 commits
  15. 19 Aug, 2016 2 commits
  16. 18 Aug, 2016 3 commits
  17. 17 Aug, 2016 1 commit
  18. 16 Aug, 2016 4 commits
    • rmcilroy's avatar
      Revert of [Interpreter] Introduce InterpreterCompilationJob (patchset #7... · de2f16d3
      rmcilroy authored
      Revert of [Interpreter] Introduce InterpreterCompilationJob (patchset #7 id:140001 of https://codereview.chromium.org/2240463002/ )
      
      Reason for revert:
      Breaks Win64 bot
      
      Original issue's description:
      > [Interpreter] Introduce InterpreterCompilationJob
      >
      > Adds InterpreterCompilationJob as a sub-class of
      > CompilationJob, to enable off-thread bytecode
      > generation. Currently only used in
      > Interpreter::MakeBytecode.
      >
      > As part of this change, CompilationJob is modified
      > to make it less specific to optimized compilation,
      > renaming the phases as follows:
      >  - CreateGraph -> PrepareJob
      >  - OptimizeGraph -> ExecuteJob
      >  - GenerateCode -> FinalizeJob
      >
      > RegisterWeakObjectsInOptimizedCode is also moved out
      > of CompilationJob and instead becomes a static function
      > on Compiler.
      >
      > BUG=v8:5203
      >
      > Committed: https://crrev.com/1fb6a7e697e8bc5b4af51647553741f966e00cdc
      > Committed: https://crrev.com/785990e9fc0dd9a9d963d25d0bed2909165e4ca9
      > Cr-Original-Commit-Position: refs/heads/master@{#38662}
      > Cr-Commit-Position: refs/heads/master@{#38668}
      
      TBR=mstarzinger@chromium.org,jkummerow@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:5203
      
      Review-Url: https://codereview.chromium.org/2251673003
      Cr-Commit-Position: refs/heads/master@{#38669}
      de2f16d3
    • rmcilroy's avatar
      [Interpreter] Introduce InterpreterCompilationJob · 785990e9
      rmcilroy authored
      Adds InterpreterCompilationJob as a sub-class of
      CompilationJob, to enable off-thread bytecode
      generation. Currently only used in
      Interpreter::MakeBytecode.
      
      As part of this change, CompilationJob is modified
      to make it less specific to optimized compilation,
      renaming the phases as follows:
       - CreateGraph -> PrepareJob
       - OptimizeGraph -> ExecuteJob
       - GenerateCode -> FinalizeJob
      
      RegisterWeakObjectsInOptimizedCode is also moved out
      of CompilationJob and instead becomes a static function
      on Compiler.
      
      BUG=v8:5203
      
      Committed: https://crrev.com/1fb6a7e697e8bc5b4af51647553741f966e00cdc
      Review-Url: https://codereview.chromium.org/2240463002
      Cr-Original-Commit-Position: refs/heads/master@{#38662}
      Cr-Commit-Position: refs/heads/master@{#38668}
      785990e9
    • rmcilroy's avatar
      Revert of [Interpreter] Introduce InterpreterCompilationJob (patchset #7... · ce65e105
      rmcilroy authored
      Revert of [Interpreter] Introduce InterpreterCompilationJob (patchset #7 id:140001 of https://codereview.chromium.org/2240463002/ )
      
      Reason for revert:
      Failing on Win64 bot:
      https://build.chromium.org/p/client.v8/builders/V8%20Win64/builds/12061/steps/Check/logs/regress-635429
      
      Original issue's description:
      > [Interpreter] Introduce InterpreterCompilationJob
      >
      > Adds InterpreterCompilationJob as a sub-class of
      > CompilationJob, to enable off-thread bytecode
      > generation. Currently only used in
      > Interpreter::MakeBytecode.
      >
      > As part of this change, CompilationJob is modified
      > to make it less specific to optimized compilation,
      > renaming the phases as follows:
      >  - CreateGraph -> PrepareJob
      >  - OptimizeGraph -> ExecuteJob
      >  - GenerateCode -> FinalizeJob
      >
      > RegisterWeakObjectsInOptimizedCode is also moved out
      > of CompilationJob and instead becomes a static function
      > on Compiler.
      >
      > BUG=v8:5203
      >
      > Committed: https://crrev.com/1fb6a7e697e8bc5b4af51647553741f966e00cdc
      > Cr-Commit-Position: refs/heads/master@{#38662}
      
      TBR=mstarzinger@chromium.org,jkummerow@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:5203
      
      Review-Url: https://codereview.chromium.org/2249153002
      Cr-Commit-Position: refs/heads/master@{#38663}
      ce65e105
    • rmcilroy's avatar
      [Interpreter] Introduce InterpreterCompilationJob · 1fb6a7e6
      rmcilroy authored
      Adds InterpreterCompilationJob as a sub-class of
      CompilationJob, to enable off-thread bytecode
      generation. Currently only used in
      Interpreter::MakeBytecode.
      
      As part of this change, CompilationJob is modified
      to make it less specific to optimized compilation,
      renaming the phases as follows:
       - CreateGraph -> PrepareJob
       - OptimizeGraph -> ExecuteJob
       - GenerateCode -> FinalizeJob
      
      RegisterWeakObjectsInOptimizedCode is also moved out
      of CompilationJob and instead becomes a static function
      on Compiler.
      
      BUG=v8:5203
      
      Review-Url: https://codereview.chromium.org/2240463002
      Cr-Commit-Position: refs/heads/master@{#38662}
      1fb6a7e6
  19. 12 Aug, 2016 3 commits
  20. 11 Aug, 2016 1 commit
  21. 10 Aug, 2016 3 commits
    • mstarzinger's avatar
      [interpreter] Add ability to preserve bytecode. · 9e60db1f
      mstarzinger authored
      This adds the --ignition-preserve-bytecode flag which will preserve any
      existing bytecode, even if a tier-up to baseline code is performed. This
      is preparatory work in order to allow mixed stacks where bytecode and
      baseline code can be active at the same time.
      
      It also adds a {HasBaselineCode} predicate symmetric to the existing
      {HasBytecodeArray} predicate. Both predicates are independent and any
      combination of answers is valid.
      
      Further adaptation of the rest of the runtime will be done step-wise in
      follow-up changes.
      
      R=yangguo@chromium.org
      BUG=v8:5265
      
      Review-Url: https://codereview.chromium.org/2224923003
      Cr-Commit-Position: refs/heads/master@{#38540}
      9e60db1f
    • rmcilroy's avatar
      [Interpreter] Avoid dereferencing handles on BytecodeGenerator for AST operations. · 09e921d4
      rmcilroy authored
      Updates a number of AST operations to avoid dereferencing handles
      such that they can safely be called off-thread. Also adds a
      HandleDereferenceMode argument to some operations where handles are
      compared. If handle dereferencing is allowed, the handles are compared
      directly, if not then their locations are compared (which relies on the
      handles being created in a CanonicalHandleScope).
      
      BUG=v8:5203
      TBR=adamk@chromium.org
      
      Review-Url: https://codereview.chromium.org/2223523002
      Cr-Commit-Position: refs/heads/master@{#38526}
      09e921d4
    • lpy's avatar
      [Reland][Tracing] Embed V8 runtime call stats into tracing. · 7a3631e7
      lpy authored
      Currently we have V8 RuntimeCallStats that is independently from tracing when
      running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call
      stats into tracing, by having a global table of runtime call counters each
      isolate, resetting the table each time we enter a top level trace event, and
      dumping the table for each top level trace event. This will make trace file more
      compat, as well as enable runtime call stats in tracing system.
      
      This patch adds ~5% overhead to V8 when the category is enabled, we measure the
      overhead by running a script when category is enabled.
      
      BUG=v8:5089
      
      Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa
      Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331
      Committed: https://crrev.com/3f936a5b17754783e92d2146eaf66c88a78ee45b
      Review-Url: https://codereview.chromium.org/2187693002
      Cr-Original-Original-Original-Commit-Position: refs/heads/master@{#38270}
      Cr-Original-Original-Commit-Position: refs/heads/master@{#38314}
      Cr-Original-Commit-Position: refs/heads/master@{#38403}
      Cr-Commit-Position: refs/heads/master@{#38510}
      7a3631e7
  22. 08 Aug, 2016 1 commit
  23. 05 Aug, 2016 1 commit