1. 25 Jul, 2017 1 commit
  2. 20 Jul, 2017 2 commits
  3. 19 Jul, 2017 1 commit
  4. 13 Jul, 2017 1 commit
  5. 11 Jul, 2017 1 commit
    • Alexandre Talon's avatar
      [Turbofan] Enable reducers to report their name to make reducer tracing clearer · 7a75da34
      Alexandre Talon authored
      Each reducer now has a virtual reducer_name function, returning its name
      (the name of the class containing this reducer). This gets displayed when
      using the --trace_turbo_reduction flag. Also when using this flags more
      messages are displayed.
      
      Actually when a node is replaced in-place (which is called an update
      of the node), other reducers can still update it right after the
      in-place replacement. When a node is really replaced (not in-place),
      then we stop trying to apply reducers to it before we propagate the
      reduction through the relevant nodes.
      
      Before a message got printed only for the last reduction it went
      through. So in case a node was reduced in-place several times
      in a row, only the last update was printed, or none at all if after
      being reduced in-place it got reduced by being replaced by another
      node: only the non-in-place replacement was showed. 
      
      Now each time an in-place reduction is applied to a node, a message
      gets printed.
      
      Bug: 
      Change-Id: Id0f816fecd44c01d0253966c6decc4861be0c2fa
      Reviewed-on: https://chromium-review.googlesource.com/563365Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Alexandre Talon <alexandret@google.com>
      Cr-Commit-Position: refs/heads/master@{#46552}
      7a75da34
  6. 26 Jun, 2017 1 commit
  7. 09 May, 2017 1 commit
  8. 18 Apr, 2017 1 commit
  9. 10 Feb, 2017 1 commit
  10. 07 Feb, 2017 1 commit
  11. 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
  12. 14 Nov, 2016 1 commit
  13. 17 Oct, 2016 1 commit
  14. 10 Oct, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Enforce native context specialization. · f6bd23f2
      bmeurer authored
      There were once plans to generate cross-context code with TurboFan,
      however that doesn't fit into the model anymore, and so all of this
      is essentially dead untested code (and thus most likely already broken
      in subtle ways). With this mode still in place it would also be a lot
      harder to make inlining based on SharedFunctionInfo work.
      
      BUG=v8:2206,v8:5499
      R=jarin@chromium.org
      
      Review-Url: https://codereview.chromium.org/2406803002
      Cr-Commit-Position: refs/heads/master@{#40109}
      f6bd23f2
  15. 05 Oct, 2016 1 commit
  16. 06 Jul, 2016 1 commit
  17. 10 May, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Initial version of allocation folding and write barrier elimination. · b8229ec4
      bmeurer authored
      This adds a new pass MemoryOptimizer that walks over the effect chain
      from Start and lowers all Allocate, LoadField, StoreField, LoadElement,
      and StoreElement nodes, trying to fold allocations into allocation
      groups and eliminate write barriers on StoreField and StoreElement if
      possible (i.e. if the object belongs to the current allocation group and
      that group allocates in new space).
      
      R=hpayer@chromium.org, jarin@chromium.org
      BUG=v8:4931, chromium:580959
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1963583004
      Cr-Commit-Position: refs/heads/master@{#36128}
      b8229ec4
  18. 14 Apr, 2016 1 commit
    • mstarzinger's avatar
      [turbofan] Use inline allocation for closures. · 43c7c76f
      mstarzinger authored
      This changes closure creation to lower to inline allocations when
      possible instead of going through the FastNewClosureStub. It allows us
      to leverage all advantages of inline allocations on closures. Note that
      it is only safe to embed the raw entry point of the compile lazy stub
      into the code, because that stub is immortal and immovable.
      
      R=mvstanton@chromium.org
      
      Review URL: https://codereview.chromium.org/1573153002
      
      Cr-Commit-Position: refs/heads/master@{#35499}
      43c7c76f
  19. 15 Feb, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Lower object and array literals in JSCreateLowering. · 052dc9e0
      bmeurer authored
      This adds initial support for inline allocation of object and array
      literals to the JSCreateLowering pass. It's basically identical to
      what Crankshaft does.
      
      This also unstages the TurboFan escape analysis, as the lowering seems
      to trigger a bunch of bugs in it; those bugs will be fixed separately,
      and we will re-enable escape analysis afterwards.
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1698783002
      
      Cr-Commit-Position: refs/heads/master@{#33972}
      052dc9e0
  20. 08 Feb, 2016 1 commit