1. 25 Aug, 2017 1 commit
  2. 03 Aug, 2017 1 commit
  3. 26 Jul, 2017 1 commit
  4. 18 Jul, 2017 1 commit
  5. 14 Jul, 2017 1 commit
  6. 13 Jul, 2017 2 commits
  7. 12 Jul, 2017 1 commit
  8. 29 Jun, 2017 1 commit
  9. 20 Jun, 2017 1 commit
  10. 13 Jun, 2017 2 commits
  11. 09 Jun, 2017 2 commits
  12. 07 Jun, 2017 1 commit
    • danno's avatar
      Inline Array.prototype.forEach in TurboFan · 90c3a2d5
      danno authored
      This CL contains a few pieces:
      
      - A new mechanism to create "BuiltinContinuation" checkpoints in TurboFan
        graphs, which--when triggered--swizzle the values in the the FrameState to be
        parameters to a typically TF-generated builtin that resumes execution to finish
        the slow-case functionality.
      - Continuation builtins that have special handling in the deoptimizer and their own
        new frame type to ensure that the values they need to begin executing can be stashed
        away and restored immediately before the builtin is called via a trampoline that runs
        when the continuation builtin's frame execution resumes.
      - An implementation of Array.prototype.forEach in TurboFan that can be used to
        inline it. The inlined forEach implementation uses the checkpoints mechanism
        described above to deopt in the middle of the forEach in the cases that optimization
        invariants are violated. There is a slightly different continuation stub for each
        deopt point in the forEach implementation to ensure the correct side-effects, i.e.
        that the deopt of the builtin isn't programmatically observable.
      
      Review-Url: https://codereview.chromium.org/2803853005
      Cr-Commit-Position: refs/heads/master@{#45764}
      90c3a2d5
  13. 02 Jun, 2017 1 commit
  14. 29 May, 2017 1 commit
    • Clemens Hammacher's avatar
      [wasm] Avoid reporting of unrelated compiler errors · ff7bf332
      Clemens Hammacher authored
      It happens frequently that unrelated compiler errors lead to the
      instantiation of {read_leb_tail} with an invalid {byte_index}, which
      again triggers compiler errors.
      This change fixes this, such that illegal instantiation just triggers a
      static_assert and nothing more. This helps to spot the actual error.
      
      Drive-by: Mark {Min} and {Max} constexpr, such that they can produce
      constexpr results. Note that the result will only be constexpr if both
      arguments are constexpr.
      
      R=ahaas@chromium.org
      
      Change-Id: I35d6865a7f569d72ace0debb045ac615cfd87d92
      Reviewed-on: https://chromium-review.googlesource.com/518005Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45558}
      ff7bf332
  15. 12 May, 2017 1 commit
  16. 03 May, 2017 2 commits
    • Jochen Eisinger's avatar
      Reland "Make unittest link correctly again" · 668246a1
      Jochen Eisinger authored
      This reverts commit 5db25a09.
      
      Original change's description:
      > Make unittest link correctly again
      >
      > Remains to port these fixes over to gyp.
      >
      > R=machenbach@chromium.org, jkummerow@chromium.org, mstarzinger@chromium.org
      > BUG=v8:6325
      >
      > Change-Id: I3bebbc6d0ec52fcb60e3d51acd27e616f51d3dbb
      > Reviewed-on: https://chromium-review.googlesource.com/490108
      > Commit-Queue: Jochen Eisinger <jochen@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#45026}
      
      R=jkummerow@chromium.org
      TBR=mstarzinger@chromium.org,clemensh@chromium.org
      BUG=v8:6325
      
      Change-Id: Ic3c0ffdf1f13045ea5a3929b720908e0b27a11c3
      Reviewed-on: https://chromium-review.googlesource.com/494566Reviewed-by: 's avatarJochen Eisinger <jochen@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Jochen Eisinger <jochen@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45056}
      668246a1
    • Michael Achenbach's avatar
      Revert "Make unittest link correctly again" · 5db25a09
      Michael Achenbach authored
      This reverts commit 0f5ebcca.
      
      Reason for revert: Still blocks rolling:
      https://codereview.chromium.org/2857903002/
      
      Original change's description:
      > Make unittest link correctly again
      > 
      > Remains to port these fixes over to gyp.
      > 
      > R=​machenbach@chromium.org, jkummerow@chromium.org, mstarzinger@chromium.org
      > BUG=v8:6325
      > 
      > Change-Id: I3bebbc6d0ec52fcb60e3d51acd27e616f51d3dbb
      > Reviewed-on: https://chromium-review.googlesource.com/490108
      > Commit-Queue: Jochen Eisinger <jochen@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#45026}
      
      TBR=jkummerow@chromium.org,machenbach@chromium.org,mstarzinger@chromium.org,jochen@chromium.org,clemensh@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:6325
      
      Change-Id: Icb11e6e12cb6c7bd6c68677359596fee740b6531
      Reviewed-on: https://chromium-review.googlesource.com/494467Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45049}
      5db25a09
  17. 02 May, 2017 1 commit
  18. 28 Apr, 2017 1 commit
  19. 13 Apr, 2017 1 commit
  20. 17 Mar, 2017 1 commit
  21. 07 Mar, 2017 1 commit
    • Marja Hölttä's avatar
      [parser] Skipping inner funcs: collect data needed for allocation, not the allocation result. · f489f7ab
      Marja Hölttä authored
      This pretty much rewrites the preparsed scope data collection. We used to store
      the allocation result, but it's faster to just store the raw data which is
      needed for deciding it later. (This way we don't need to run the allocation
      algorithm for just getting this data.)
      
      For each variable: is_used, maybe_assigned,
      has_forced_context_allocation, and for each scope:
      inner_scope_calls_eval_.
      
      In addition, this CL moves data handling out of Scope and into
      PreParsedScopeData where it belongs and simplifies the API for
      PreParsedScopeData.
      
      BUG=v8:5516
      R=vogelheim@chromium.org
      
      Change-Id: Ia5a4fa52f585cd4f483ce9a92f2dd7d9754f34ed
      Reviewed-on: https://chromium-review.googlesource.com/451273
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarDaniel Vogelheim <vogelheim@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#43641}
      f489f7ab
  22. 03 Mar, 2017 1 commit
    • ivica.bogosavljevic's avatar
      MIPS: Fix int64->int32 lowering in wasm-to-interpeter entry on big-endian archs. · 4f426e10
      ivica.bogosavljevic authored
      WASM interpreter requires that parameters are stored in big-endian natural
      memory order (higher bits on lower addresses and lower bits on higher address).
      On the other hand, WASM compiled code naturally stores data in memory in
      little-endian order. This CL implements big-endian support for passing
      double and int64 parameters to WASM interpreter.
      
      TEST=cctest/test-wasm-interpreter-entry/TestArgumentPassing_int64,
           cctest/test-wasm-interpreter-entry/TestArgumentPassing_AllTypes
      
      Review-Url: https://codereview.chromium.org/2721053002
      Cr-Commit-Position: refs/heads/master@{#43568}
      4f426e10
  23. 28 Feb, 2017 1 commit
  24. 15 Feb, 2017 1 commit
  25. 13 Feb, 2017 1 commit
    • Michael Starzinger's avatar
      [turbofan] Correct lazy deopt by {JSCreate} operation. · 6ee0b6ce
      Michael Starzinger authored
      This adds support for deoptimizing into the JSConstructStub after the
      receiver instantiation but before the actual constructor invocation.
      Such a deoptimization point is needed for cases where instantiation
      might be observed (e.g. when new.target is a proxy) and hence might
      trigger a deopt.
      
      We use this new deoptimization point for the "after" frame-state the
      inliner attaches to {JSCreate} nodes being inserted when constructor
      calls are being inlined.
      
      R=jarin@chromium.org
      TEST=mjsunit/regress/regress-5638b
      BUG=v8:5638
      
      Change-Id: I7c72c807ee8fb76d12e0e9ccab86d970ab1a0efd
      Reviewed-on: https://chromium-review.googlesource.com/440125Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#43149}
      6ee0b6ce
  26. 07 Feb, 2017 1 commit
  27. 23 Jan, 2017 1 commit
  28. 11 Jan, 2017 1 commit
    • rmcilroy's avatar
      [compiler] Collect eager inner functions for compilation during renumbering. · a3052cfe
      rmcilroy authored
      This CL modifies the ast-numbering phase to collect function literals which
      should be compiled eagerly. This is then used to eagerly compile the inner
      functions before compiling the outer function. This will be used to queue
      compilation jobs on the CompilerDispatcher in a later CL.
      
      This CL moves the compilation of eager inner functions out of the
      GetSharedFunctionInfo function and instead compiles them explicitly. This
      simplifies GetSharedFunctionInfo and also means there is no need to pass a
      LazyCompilationMode to the function, so this concept has been removed.
      
      BUG=v8:5203,v8:5215
      
      Review-Url: https://codereview.chromium.org/2618553004
      Cr-Commit-Position: refs/heads/master@{#42221}
      a3052cfe
  29. 28 Nov, 2016 1 commit
  30. 25 Nov, 2016 1 commit
  31. 03 Nov, 2016 1 commit
    • verwaest's avatar
      Turn Scope::locals_ into a ThreadedList · 4fa2ebcb
      verwaest authored
      This turns the ZoneList with minimum 6 words overhead into a linked list through variables, using 2 words for the empty list. Additionally the average number of pointers per entry goes down to the optimal 1 per variable that's in a list.
      
      This does introduce 1 pointer unnecessary overhead for dynamic variables. If that becomes a problem we could distinguish between variables in lists and variables not in lists. We can distinguish them at construction-time.
      
      BUG=v8:5209
      
      Review-Url: https://codereview.chromium.org/2475433002
      Cr-Commit-Position: refs/heads/master@{#40714}
      4fa2ebcb
  32. 02 Nov, 2016 1 commit
    • verwaest's avatar
      Thread decls-list through Declaration using a ThreadedList · 5a18685e
      verwaest authored
      This reduces per-scope overhead from minimally 6 words to 2 words, with one additional pointer per entry, rather than an average of 2 per entry for larger-than-4 element lists. For temp zone parsed functions it additionally makes the declaration-list actually freeable.
      
      This introduces ThreadedList to implement the details of dealing with such a list.
      
      BUG=v8:5209
      
      Review-Url: https://codereview.chromium.org/2457393003
      Cr-Commit-Position: refs/heads/master@{#40703}
      5a18685e
  33. 18 Oct, 2016 1 commit
  34. 17 Oct, 2016 1 commit
  35. 20 Sep, 2016 2 commits