1. 10 Sep, 2020 1 commit
  2. 06 Aug, 2020 1 commit
    • Bill Budge's avatar
      Reland "[torque] Port some constructor builtins to Torque." · 83e4c8b1
      Bill Budge authored
      This is a reland of ce249dbb
      
      As it's unchanged,
      TBR=leszeks@chromium.org,tebbi@chromium.org
      
      Original change's description:
      > [torque] Port some constructor builtins to Torque.
      >
      > - FastNewFunctionContextEval
      > - FastNewFunctionContextFunction
      > - CreateEmptyLiteralObject
      > - CreateRegExpLiteral
      > - CreateEmptyArrayLiteral
      > - CreateShallowArrayLiteral
      > - CreateShallowObjectLiteral
      > - NumberConstructor
      > - ObjectConstructor
      > - GenericLazyDeoptContinuation
      >
      > Bug: v8:9891
      >
      > Change-Id: Idd4bf035d8dbeec03b9ef727e1bfb80eab4bc43c
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2311411
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69082}
      
      Bug: v8:9891
      Change-Id: I566d4167c02488ef6a9a1c73015af5e2f484a31d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2330382
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69281}
      83e4c8b1
  3. 27 Jul, 2020 2 commits
  4. 04 Mar, 2020 1 commit
  5. 14 Feb, 2020 1 commit
  6. 12 Sep, 2019 2 commits
  7. 19 Jun, 2019 1 commit
  8. 21 May, 2019 1 commit
  9. 14 Jun, 2018 1 commit
  10. 01 Mar, 2018 1 commit
  11. 22 Feb, 2018 1 commit
    • Benedikt Meurer's avatar
      [cleanup] Introduce a dedicated FeedbackCell. · aff1f378
      Benedikt Meurer authored
      This is preparatory cleanup work for eventually tracking the functions
      (rather than concrete closures) in the CALL_IC, also for builtins like
      the default PromiseCapability [[Resolve]] and [[Reject]] functions. It
      adds a new FeedbackCell type, which is used by JSFunctions consistently
      now to reference the feedback vector (or undefined if not the function
      is not compiled yet or is a native/asm.js function).
      
      This also changes the calling convention for FastNewClosure builtin and
      the JSCreateClosure operator in TurboFan to carry the FeedbackCell here
      instead of the parent FeedbackVector and the slot index. In addition we
      eliminate the now unused %InterpreterNewClosure runtime function.
      
      Bug: v8:2206, v8:7253, v8:7310
      Change-Id: Ib4ce456e276e0273e57c163dcdd0b33abf863656
      Reviewed-on: https://chromium-review.googlesource.com/928403
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51474}
      aff1f378
  12. 19 Oct, 2017 1 commit
  13. 17 Oct, 2017 1 commit
    • Daniel Clifford's avatar
      Add FixedArray extraction and cloning utils to CSA · 6148cbfa
      Daniel Clifford authored
      This adds a single bottleneck that properly handles the copying of empty, COW
      and FixedDoubleArray arrays under the control of flags. This is in preparation
      of adding new CSA-based array builtins on Array.prototype.
      
      Drive by: Fix SmiConstant handling when ENABLE_VERIFY_CSA is not active and 
      make the use of constant detection/folding consistent in the CSA depending
      on ParameterMode.
      
      Change-Id: If1889ab8cbff1805286b7b4344c29ffbe7191b39
      Reviewed-on: https://chromium-review.googlesource.com/715798
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48624}
      6148cbfa
  14. 25 Sep, 2017 1 commit
    • Benedikt Meurer's avatar
      [turbofan] Properly optimize literals in inlined functions. · 855b88ae
      Benedikt Meurer authored
      When inlining based on SharedFunctionInfo rather than based on concrete
      JSFunction, we weren't able to properly optimize array, object and
      regexp literals inside the inlinee, because we didn't know the concrete
      FeedbackVector for the inlinee inside JSCreateLowering. This was because
      JSCreateLowering wasn't properly updated after the literals moved to the
      FeedbackVector. Now with this CL we also have the VectorSlotPair on the
      literal creation operators, just like we do for property accesses and
      calls, and are thus able to always access the appropriate FeedbackVector
      and optimize the literal creation.
      
      The impact is illustrated by the micro-benchmark on the tracking bug,
      which goes from
      
        createEmptyArrayLiteral: 1846 ms.
        createShallowArrayLiteral: 1868 ms.
        createShallowObjectLiteral: 2246 ms.
      
      to
      
        createEmptyArrayLiteral: 1175 ms.
        createShallowArrayLiteral: 1187 ms.
        createShallowObjectLiteral: 1195 ms.
      
      with this CL, so up to 2x faster now.
      
      Drive-by-fix: Also remove the unused CreateEmptyObjectLiteral builtin
      and cleanup the names of the other builtins to be consistent with the
      names of the TurboFan operators and Ignition bytecodes.
      
      Bug: v8:6856
      Change-Id: I453828d019b27c9aa1344edac0dd84e91a457097
      Reviewed-on: https://chromium-review.googlesource.com/680656
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48140}
      855b88ae
  15. 11 Sep, 2017 1 commit
  16. 21 Aug, 2017 1 commit
  17. 25 Jul, 2017 1 commit
  18. 20 Jul, 2017 1 commit
    • Adam Klein's avatar
      Revert "[literals] Introduce CreateEmptyArrayLiteral Bytecode" · 62f83377
      Adam Klein authored
      This reverts commit 4851745f.
      
      Reason for revert: Top crasher on Canary, see https://crbug.com/746935
      
      Original change's description:
      > [literals] Introduce CreateEmptyArrayLiteral Bytecode
      > 
      > Empty Array literals are amongst the most commonly used literal types on our
      > top25 page list. Using a custom bytecode we can drop the boilerplate for empty
      > Array literals alltogether. However, we still need a proper AllocationSite to
      > track ElementsKind transitions.
      > 
      > Bug: v8:6211
      > Change-Id: Id5dbdac0ea8e24dd474e679c902c6e4a2957af1d
      > Reviewed-on: https://chromium-review.googlesource.com/567079
      > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#46752}
      
      TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,cbruni@chromium.org,ishell@chromium.org,rmcilroy@google.com
      Bug: v8:6211, chromium:746935
      
      Change-Id: Ibf19a923688c071d03bad8661a10e08f8414db56
      Reviewed-on: https://chromium-review.googlesource.com/580193
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46804}
      62f83377
  19. 19 Jul, 2017 1 commit
  20. 16 Jun, 2017 1 commit
  21. 22 May, 2017 1 commit
  22. 18 May, 2017 1 commit
  23. 22 Mar, 2017 1 commit
  24. 21 Mar, 2017 1 commit
  25. 16 Mar, 2017 1 commit
  26. 09 Jan, 2017 1 commit
  27. 30 Dec, 2016 1 commit
    • gsathya's avatar
      [builtins] Add EmitFastNewObject · 2077b314
      gsathya authored
      This refactors the logic from within the FastNewObject TF_BUILTIN to a
      helper method which can be reused in other assemblers. This saves the
      overhead of setting up the stub and calling into it.
      
      A wrapper method is created for functions that don't need to tail call
      into the runtime.
      
      PromiseBuiltinsAssembler and RegexpBuiltinsAssembler are refactored to
      use EmitFastNewObject.
      
      Review-Url: https://codereview.chromium.org/2607233002
      Cr-Commit-Position: refs/heads/master@{#42000}
      2077b314
  28. 29 Dec, 2016 2 commits
  29. 28 Dec, 2016 1 commit