1. 25 Jul, 2017 1 commit
  2. 10 Jul, 2017 2 commits
    • Benedikt Meurer's avatar
      [builtins] Port Map and Set iterators to CodeStubAssembler. · 3b84cbfe
      Benedikt Meurer authored
      This is the next step towards faster Map and Set iteration. It
      introduces the appropriate instance types for Map and Set
      iterators (following the pattern for Array iterators) and migrates
      the following builtins to the CodeStubAssembler:
      
        - Set.prototype.entries
        - Set.prototype.values
        - Map.prototype.entries
        - Map.prototype.keys
        - Map.prototype.values
        - %SetIteratorPrototype%.next
        - %MapIteratorPrototype%.next
      
      This already provides a significant performance boost for regular
      for-of iteration of Sets and Maps, by a factor of 5-10 depending
      on the input. The final step will be to inline some fast-paths
      into TurboFan.
      
      Drive-by-fix: Remove obsolete %IsJSSetIterator and %IsJSMapIterator
      intrinsics and runtime functions.
      
      TBR=jgruber@chromium.org
      
      Bug: v8:6344, v8:6571, chromium:740122
      Change-Id: I3ab0ee49e2afe8d4295707a5ecbd51adda621918
      Reviewed-on: https://chromium-review.googlesource.com/563626
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46497}
      3b84cbfe
    • Michael Achenbach's avatar
      Revert "[builtins] Port Map and Set iterators to CodeStubAssembler." · 5a6e24e9
      Michael Achenbach authored
      This reverts commit 3f22832b.
      
      Reason for revert: Layout tests:
      https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/16849
      
      Original change's description:
      > [builtins] Port Map and Set iterators to CodeStubAssembler.
      > 
      > This is the next step towards faster Map and Set iteration. It
      > introduces the appropriate instance types for Map and Set
      > iterators (following the pattern for Array iterators) and migrates
      > the following builtins to the CodeStubAssembler:
      > 
      >   - Set.prototype.entries
      >   - Set.prototype.values
      >   - Map.prototype.entries
      >   - Map.prototype.keys
      >   - Map.prototype.values
      >   - %SetIteratorPrototype%.next
      >   - %MapIteratorPrototype%.next
      > 
      > This already provides a significant performance boost for regular
      > for-of iteration of Sets and Maps, by a factor of 5-10 depending
      > on the input. The final step will be to inline some fast-paths
      > into TurboFan.
      > 
      > Drive-by-fix: Remove obsolete %IsJSSetIterator and %IsJSMapIterator
      > intrinsics and runtime functions.
      > 
      > Bug: v8:6571, chromium:740122
      > Change-Id: Iad7a7dec643d8f8b5799327f89a351108ae856bf
      > Reviewed-on: https://chromium-review.googlesource.com/563399
      > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#46492}
      
      TBR=jgruber@chromium.org,bmeurer@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:6571, chromium:740122
      Change-Id: Iadb48d72e3b85ec8ad880e50ab7912c5502caf07
      Reviewed-on: https://chromium-review.googlesource.com/564419Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46495}
      5a6e24e9
  3. 08 Jul, 2017 1 commit
    • Benedikt Meurer's avatar
      [builtins] Port Map and Set iterators to CodeStubAssembler. · 3f22832b
      Benedikt Meurer authored
      This is the next step towards faster Map and Set iteration. It
      introduces the appropriate instance types for Map and Set
      iterators (following the pattern for Array iterators) and migrates
      the following builtins to the CodeStubAssembler:
      
        - Set.prototype.entries
        - Set.prototype.values
        - Map.prototype.entries
        - Map.prototype.keys
        - Map.prototype.values
        - %SetIteratorPrototype%.next
        - %MapIteratorPrototype%.next
      
      This already provides a significant performance boost for regular
      for-of iteration of Sets and Maps, by a factor of 5-10 depending
      on the input. The final step will be to inline some fast-paths
      into TurboFan.
      
      Drive-by-fix: Remove obsolete %IsJSSetIterator and %IsJSMapIterator
      intrinsics and runtime functions.
      
      Bug: v8:6571, chromium:740122
      Change-Id: Iad7a7dec643d8f8b5799327f89a351108ae856bf
      Reviewed-on: https://chromium-review.googlesource.com/563399
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46492}
      3f22832b
  4. 28 Jun, 2017 1 commit
    • Igor Sheludko's avatar
      [runtime] Cleanup native methods creation in js/intl.js. · e7bd43c3
      Igor Sheludko authored
      This CL replaces usages of utils.InstallFunctions and utils.InstallGetter()
      with the DEFINE_METHOD* macros that ensure that the native function is
      created in proper form from the beginning. Thus the function will not
      require further reconfiguring like adding a computed name or removing of
      'prototype' property.
      
      This CL is one of a series of cleanup CL which are the preliminary steps for
      improving function closures creation.
      
      Bug: v8:6459
      Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng
      Change-Id: I667d70fae12a2f50d0fe18d958b6520110b4b573
      Reviewed-on: https://chromium-review.googlesource.com/548075
      Commit-Queue: Igor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46278}
      e7bd43c3
  5. 20 Jun, 2017 1 commit
  6. 05 May, 2017 1 commit
  7. 04 May, 2017 2 commits
  8. 07 Mar, 2017 1 commit
  9. 14 Feb, 2017 1 commit
  10. 13 Feb, 2017 4 commits
  11. 18 Jan, 2017 1 commit
  12. 13 Jan, 2017 1 commit
  13. 10 Jan, 2017 1 commit
  14. 09 Jan, 2017 1 commit
  15. 03 Jan, 2017 1 commit
    • gsathya's avatar
      [promises] Refactor debug code · a2c15ba3
      gsathya authored
      -- Removes remaning debug from promise.js and moves it to c++
      -- Changes debug_id to be a smi in PromiseReactionJobInfo and
         PromiseResolveThenableJobInfo.
      -- Changes debug_name to be a smi in PromiseReactionJobInfo and
         PromiseResolveThenableJobInfo.
      -- Adds PromiseDebugActionName and PromiseDebugActionType enums
      -- Adds PromiseDebugActionNameToString and
         PromiseDebugActionTypeToString helper methods
      -- Changes variable `status` to be int in runtime functions.
      -- Changes debug_id to start from 1, not 0 for easier bookkeeping.
      
      BUG=v8:5343
      
      Review-Url: https://codereview.chromium.org/2606093002
      Cr-Commit-Position: refs/heads/master@{#42052}
      a2c15ba3
  16. 22 Dec, 2016 1 commit
  17. 21 Dec, 2016 1 commit
  18. 20 Dec, 2016 1 commit
    • yangguo's avatar
      [api] add API for Promise status and result. · 28432588
      yangguo authored
      Currently, to find out a Promise's status and result, one has to use the
      debug context. This is for example done in Node.js. This new API is a
      better replacement, also in the context of the debug context being
      deprecated eventually.
      
      R=franzih@chromium.org, gsathya@chromium.org, jochen@chromium.org
      BUG=v8:5764
      
      Review-Url: https://codereview.chromium.org/2589113002
      Cr-Commit-Position: refs/heads/master@{#41855}
      28432588
  19. 04 Dec, 2016 1 commit
  20. 14 Oct, 2016 1 commit
    • jgruber's avatar
      [regexp] Turn last match info into a simple FixedArray · f60a7c4f
      jgruber authored
      Now that all accesses to the last match info are in C++ and TF code, we can
      finally turn the last match info into a FixedArray. Similar to the ArrayList,
      it uses its first field to store its length and grows dynamically in amortized
      O(1) time.
      
      Unlike previously, this means that the last match info pointer stored on the
      context can actually change (in case the FixedArray needs to grow).
      
      BUG=v8:5339
      
      Review-Url: https://codereview.chromium.org/2415103002
      Cr-Commit-Position: refs/heads/master@{#40308}
      f60a7c4f
  21. 12 Aug, 2016 1 commit
    • jkummerow's avatar
      [regexp][liveedit] Fix inconsistent JSArrays · bb9707c8
      jkummerow authored
      The hand-written KeyedLoadIC_Megamorphic stub didn't care about JSArray
      lengths, which made it lenient towards said lengths being wrong, but it
      will soon fix that bug and thereby become more strict.
      
      LiveEdit: factory->NewJSArray(capacity) doesn't set a length, so set it
      manually.
      RegExp: to avoid having to take care of array length updating in the
      RegExpExecStub, just use a JSObject instead.
      
      Review-Url: https://codereview.chromium.org/2244673002
      Cr-Commit-Position: refs/heads/master@{#38624}
      bb9707c8
  22. 10 Aug, 2016 1 commit
  23. 09 Aug, 2016 1 commit
  24. 12 Jul, 2016 1 commit
  25. 05 Jul, 2016 3 commits
  26. 30 Jun, 2016 1 commit
    • adamk's avatar
      [intl] Clean up function name handling in AddBoundMethod · 54ce1935
      adamk authored
      AddBoundMethod, in i18n.js, returns functions all of which share the
      same backing SharedFunctionInfo, which means that its calls to
      InstallGetter were causing all such functions to have a single name
      (that of the last caller, "get breakType").
      
      This patch skips calling InstallGetter and instead directly calls
      %DefineGetterPropertyUnchecked, which itself sets the name property
      on the JSFunction instance (it knows how to do this in order to handle
      getters that have computed property names).
      
      Also takes care of a TODO having to do with the inner boundMethod:
      its name is now made empty, by using a new macro that gets around
      ES2015's function name inference.
      
      Finally, removes a redundant %FunctionRemovePrototype: arrow functions
      have no prototypes to begin with.
      
      R=littledan@chromium.org
      BUG=v8:4778
      
      Review-Url: https://codereview.chromium.org/2109223002
      Cr-Commit-Position: refs/heads/master@{#37459}
      54ce1935
  27. 03 Jun, 2016 1 commit
  28. 30 May, 2016 1 commit
  29. 27 May, 2016 1 commit
    • bmeurer's avatar
      [runtime] Kill the %NumberToIntegerMapMinusZero runtime entry. · 4b235ade
      bmeurer authored
      This was initially used to special case some weird date.js behavior, but
      has since been abused in other areas. In case of the string character
      access, everything that is outside the Smi range cannot be a valid
      string index anyways, so %NumberToSmi is perfect here in either case,
      and for ToPositiveInteger it's better to just use ToInteger adding +0 to
      turn -0 into +0.
      
      R=ishell@chromium.org
      BUG=v8:5049
      
      Review-Url: https://codereview.chromium.org/2010183003
      Cr-Commit-Position: refs/heads/master@{#36545}
      4b235ade
  30. 04 May, 2016 1 commit
  31. 29 Apr, 2016 2 commits
  32. 28 Apr, 2016 1 commit