1. 14 Feb, 2017 1 commit
  2. 13 Feb, 2017 4 commits
  3. 18 Jan, 2017 1 commit
  4. 02 Jan, 2017 1 commit
  5. 07 Dec, 2016 1 commit
    • lpy's avatar
      [Tracing] Implement IC statistics in tracing. · 0a3c8fc3
      lpy authored
      This patch introduces:
      
      1. ICStats class to store ic statistics items produced by V8,
      2. A disabled by default tracing category v8.ic_stats,
      3. An trace event V8.ICStats that contains ic statistics items in args,
      
      We store ic statistics items in an array until the array is full to reduce
      the number of trace events.
      
      TBR=jkummerow@chromium.org,ishell@chromium.org
      
      Review-Url: https://codereview.chromium.org/2503183002
      Cr-Commit-Position: refs/heads/master@{#41559}
      0a3c8fc3
  6. 17 Nov, 2016 1 commit
    • rmcilroy's avatar
      [Interpreter] Collect String feedback on CompareOps. · 53698740
      rmcilroy authored
      Collect string feedback for compare operations. Without this,
      functions which have a lot of string compare operations end up with
      a high generic type percentage, and don't get optimized until very
      late.
      
      Currently TurboFan doesn't use this String feedback for compare
      operations, but this could be done in future work if it is useful.
      
      BUG=chromium:660947
      
      Review-Url: https://codereview.chromium.org/2506013005
      Cr-Commit-Position: refs/heads/master@{#41078}
      53698740
  7. 11 Nov, 2016 1 commit
  8. 20 Sep, 2016 2 commits
    • mvstanton's avatar
      [TypeFeedbackVector] special ic slots for interpreter compare/binary ops. · b88d132f
      mvstanton authored
      Full code uses patching ICs for this feedback, and the interpreter uses
      the type feedback vector. It's a good idea to code the vector slots
      appropriately as ICs so that the runtime profiler can better gauge if
      the function is ready for tiering up from Ignition to TurboFan.
      
      As is, the feedback is stored in "general" slots which can't be
      characterized by the runtime profiler into feedback states.
      
      This CL addresses that problem. Note that it's also important to
      carefully exclude these slots from the profiler's consideration when
      determining if you want to optimize from Full code.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2342853002
      Cr-Commit-Position: refs/heads/master@{#39555}
      b88d132f
    • bmeurer's avatar
      [turbofan] Lower ConsString creation in JSTypedLowering. · 29dd7fc5
      bmeurer authored
      Extract String feedback on Add operation and utilize to lower ConsString
      creation in JSTypedLowering when we know that a String addition will
      definitely result in the creation of a ConsString.
      
      Note that Crankshaft has to guard the potential length overflow of the
      resulting string with an eager deoptimization exit, while we can safely
      throw an exception in that case.
      
      Also note that the bytecode pipeline does not currently provide the
      String feedback for the addition, which has to be added.
      
      BUG=v8:5267
      R=jarin@chromium.org
      
      Review-Url: https://codereview.chromium.org/2354853002
      Cr-Commit-Position: refs/heads/master@{#39540}
      29dd7fc5
  9. 09 Aug, 2016 1 commit
  10. 08 Aug, 2016 1 commit
  11. 13 Jul, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Extend undefined-to-number truncation to all oddballs. · 04b4df2c
      bmeurer authored
      Extends the truncation and type checks for NumberOrUndefined in
      representation selection and truncation analysis to deal with all
      oddballs not just undefined. Also extend the type hints to always
      report NumberOrOddball. This is necessary for the bitwise and shift
      operators where NUMBER feedback actually means NUMBER or ODDBALL.
      
      R=jarin@chromium.org
      
      Review-Url: https://codereview.chromium.org/2149583002
      Cr-Commit-Position: refs/heads/master@{#37711}
      04b4df2c
  12. 16 Jun, 2016 1 commit
  13. 02 Jun, 2016 1 commit
    • jarin's avatar
      [turbofan] Initial version of number type feedback. · 216bcf9f
      jarin authored
      This introduces optimized number operations based on type feedback.
      
      Summary of changes:
      
      1. Typed lowering produces SpeculativeNumberAdd/Subtract for JSAdd/Subtract if
         there is suitable feedback. The speculative nodes are connected to both the
         effect chain and the control chain and they retain the eager frame state.
      
      2. Simplified lowering now executes in three phases:
        a. Propagation phase computes truncations by traversing the graph from uses to
           definitions until checkpoint is reached. It also records type-check decisions
           for later typing phase, and computes representation.
        b. The typing phase computes more precise types base on the speculative types (and recomputes
           representation for affected nodes).
        c. The lowering phase performs lowering and inserts representation changes and/or checks.
      
      3. Effect-control linearization lowers the checks to machine graphs.
      
      Notes:
      
      - SimplifiedLowering will be refactored to have handling of each operation one place and
        with clearer input/output protocol for each sub-phase. I would prefer to do this once
        we have more operations implemented, and the pattern is clearer.
      
      - The check operations (Checked<A>To<B>) should have some flags that would affect
        the kind of truncations that they can handle. E.g., if we know that a node produces
        a number, we can omit the oddball check in the CheckedTaggedToFloat64 lowering.
      
      - In future, we want the typer to reuse the logic from OperationTyper.
      
      BUG=v8:4583
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1921563002
      Cr-Commit-Position: refs/heads/master@{#36674}
      216bcf9f
  14. 03 Dec, 2015 1 commit
  15. 01 Dec, 2015 1 commit