1. 30 Jan, 2017 1 commit
    • mvstanton's avatar
      [TypeFeedbackVector] Combine the literals array and the feedback vector. · 93f05b64
      mvstanton authored
      They have the same lifetime. It's a match!
      
      Both structures are native context dependent and dealt with (creation,
      clearing, gathering feedback) at the same time. By treating the spaces used
      for literal boilerplates as feedback vector slots, we no longer have to keep
      track of the materialized literal count elsewhere.
      
      A follow-on CL removes even more parser infrastructure related to this count.
      
      BUG=v8:5456
      
      Review-Url: https://codereview.chromium.org/2655853010
      Cr-Commit-Position: refs/heads/master@{#42771}
      93f05b64
  2. 19 Jan, 2017 3 commits
  3. 12 Jan, 2017 3 commits
  4. 05 Jan, 2017 1 commit
  5. 30 Dec, 2016 1 commit
  6. 11 Nov, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Introduce an ExternalPointer type. · 7d24f1ae
      bmeurer authored
      This adds a new ExternalPointer type, which is an Internal type that is
      used for ExternalReferences and other pointer values, like the pointers
      into the asm.js heap. It also adds a PointerConstant operator, which we
      use to represents these raw constants (we can probably remove that
      particular operator again once WebAssembly ships with the validator).
      
      R=mvstanton@chromium.org
      BUG=v8:5267,v8:5270
      
      Review-Url: https://codereview.chromium.org/2494753003
      Cr-Commit-Position: refs/heads/master@{#40923}
      7d24f1ae
  7. 19 Aug, 2016 1 commit
  8. 08 Aug, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Add initial support for growing stores. · e6822a83
      bmeurer authored
      Introduce a dedicated MaybeGrowFastElements simplified operator, which
      tries to grow a fast elements backing store for a given element that
      should be added to an array/object. Use that to lower a growing keyed
      store to a sequence of
      
       1) check index is a valid array index,
       2) check stored value,
       3) maybe grow elements backing store (and deoptimize if it would
          normalize), and
       4) store the actual element.
      
      The actual growing is done by two dedicated GrowFastDoubleElements
      and GrowFastSmiOrObjectElements builtins, which are very similar to
      the GrowArrayElementsStub that is used by Crankshaft.
      
      Drive-by-fix: Turn CopyFixedArray into CopyFastSmiOrObjectElements
      builtin, similar to the new growing builtins, so we don't need to
      inline the store+write barrier for the elements into all optimized
      code objects anymore.
      
      Also fix a bug in the OperationTyper for NumberSilenceNaN, which was
      triggered by this change.
      
      BUG=v8:5272
      
      Review-Url: https://codereview.chromium.org/2227493002
      Cr-Commit-Position: refs/heads/master@{#38418}
      e6822a83
  9. 05 Aug, 2016 3 commits
  10. 01 Aug, 2016 1 commit
  11. 27 Jul, 2016 1 commit
  12. 14 Jul, 2016 1 commit
  13. 14 Jun, 2016 1 commit
  14. 13 Jun, 2016 2 commits
  15. 10 Jun, 2016 1 commit
    • jarin's avatar
      [turbofan] Introduce PlainPrimitiveToNumber. · 2890137b
      jarin authored
      This should solve the problem with missing checkpoints after JSToNumber
      (PlainPrimitiveToNumber is marked no-write, so the frame-state
      propagation should see through it.)
      
      Unfortunately, this also duplicates the word32- and float64-truncation
      magic that we have for JSToNumber in "simplified lowering".
      
      Review-Url: https://codereview.chromium.org/2059653002
      Cr-Commit-Position: refs/heads/master@{#36881}
      2890137b
  16. 06 Jun, 2016 2 commits
  17. 27 May, 2016 1 commit
  18. 25 May, 2016 2 commits
  19. 10 May, 2016 1 commit
  20. 30 Apr, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Run everything after representation selection concurrently. · d1b3d426
      bmeurer authored
      Further refactor the pipeline to even run the first scheduler (part of
      the effect control linearization) concurrently. This temporarily
      disables most of the write barrier elimination, but we will get back to
      that later.
      
      Drive-by-fix: Remove the dead code from ChangeLowering, and stack
      allocate the Typer in the pipeline. Also migrate the AllocateStub to a
      native code builtin, so that we have the code object + a handle to it
      available all the time.
      
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux64_tsan_rel
      R=mstarzinger@chromium.org
      BUG=v8:4969
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1926023002
      Cr-Commit-Position: refs/heads/master@{#35918}
      d1b3d426
  21. 28 Apr, 2016 2 commits
  22. 18 Apr, 2016 1 commit
  23. 12 Apr, 2016 2 commits
  24. 11 Apr, 2016 1 commit
  25. 01 Apr, 2016 2 commits
  26. 16 Mar, 2016 1 commit
    • mstarzinger's avatar
      Introduce "optimized_out" oddball marker for compilers. · eee34dd5
      mstarzinger authored
      This introduces {optimized_out} as another Oddball kind to be used by
      optimizing compilers when values are being optimized away. The aim is
      providing visibility when this value leaks into the application domain.
      Currently this will lead to {undefined} values appearing which then
      silently propagate through the application. The special oddball can be
      identified easily as a bug and also the debugger can treat it specially
      when needed.
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1810483002
      
      Cr-Commit-Position: refs/heads/master@{#34817}
      eee34dd5
  27. 11 Jan, 2016 1 commit
  28. 16 Dec, 2015 1 commit