1. 10 Jul, 2017 1 commit
  2. 06 Jul, 2017 1 commit
  3. 05 Jul, 2017 3 commits
  4. 03 Jul, 2017 1 commit
  5. 30 Jun, 2017 1 commit
    • Mathias Bynens's avatar
      [elements] Rename FAST elements kinds · 26c00f4a
      Mathias Bynens authored
      The `FAST_` prefix doesn’t make much sense — they’re all just different cases
      with their own optimizations. Packedness being implicit (e.g. `FAST_ELEMENTS`
      vs. `FAST_HOLEY_ELEMENTS`) is not ideal, either.
      
      This patch renames the FAST elements kinds as follows:
      
      - e.g. FAST_ELEMENTS => PACKED_ELEMENTS
      - e.g. FAST_HOLEY_ELEMENTS => HOLEY_ELEMENTS
      
      The following exceptions are left intact, for lack of a better name:
      
      - FAST_SLOPPY_ARGUMENTS_ELEMENTS
      - SLOW_SLOPPY_ARGUMENTS_ELEMENTS
      - FAST_STRING_WRAPPER_ELEMENTS
      - SLOW_STRING_WRAPPER_ELEMENTS
      
      This makes it easier to reason about elements kinds, and less confusing to
      explain how they’re used.
      
      R=jkummerow@chromium.org, cbruni@chromium.org
      BUG=v8:6548
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Ie7c6bee85583c3d84b730f7aebbd70c1efa38af9
      Reviewed-on: https://chromium-review.googlesource.com/556032Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46361}
      26c00f4a
  6. 29 Jun, 2017 1 commit
  7. 26 Jun, 2017 2 commits
  8. 23 Jun, 2017 3 commits
  9. 22 Jun, 2017 1 commit
  10. 20 Jun, 2017 1 commit
  11. 14 Jun, 2017 1 commit
  12. 09 Jun, 2017 1 commit
    • bjaideep's avatar
      PPC/s390: [builtins] Start refactoring the Apply builtin. · 9385fd40
      bjaideep authored
      Port af76779a
      
      Original Commit Message:
      
          This splits the monolithic Apply builtin into several smaller builtins,
          namely CallVargargs and ConstructVarargs, which accept a length and a
          FixedArray of elements and deal with the actual stack manipulation, and
          CallWithArrayLike / ConstructWithArrayLike that deal with getting the
          elements from the receiver (for Function.prototype.apply, Reflect.apply
          and Reflect.construct), which can now be written using the CSA.
      
          The idea is that these builtins can be reused by TurboFan directly in
          the future when we optimize apply better, and that we can also reuse the
          core logic in the handling of spread calls/constructs.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:4587,v8:5269
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2932833002
      Cr-Commit-Position: refs/heads/master@{#45826}
      9385fd40
  13. 08 Jun, 2017 1 commit
    • sampsong's avatar
      PPC/s390: [compiler] Delay allocation of code-embedded heap numbers. · ae947e26
      sampsong authored
      Port 659e8f7b
      
      Original Commit Message:
      
          Instead of allocating and embedding certain heap numbers into the code
          during code assembly, emit dummies but record the allocation requests.
          Later then, in Assembler::GetCode, allocate the heap numbers and patch
          the code by replacing the dummies with the actual objects. The
          RelocInfos for the embedded objects are already recorded correctly when
          emitting the dummies.
      
      R=neis@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:6048
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2929843002
      Cr-Commit-Position: refs/heads/master@{#45793}
      ae947e26
  14. 07 Jun, 2017 2 commits
  15. 25 May, 2017 1 commit
  16. 22 May, 2017 1 commit
  17. 19 May, 2017 1 commit
  18. 18 May, 2017 1 commit
    • bjaideep's avatar
      PPC/s390: [turbofan] Avoid allocating rest parameters for spread calls. · f4da4361
      bjaideep authored
      Port bfa319e5
      
      Original Commit Message:
      
          We already had an optimization to turn Function.prototype.apply with
          arguments object, i.e.
      
            function foo() { return bar.apply(this, arguments); }
      
          into a special operator JSCallForwardVarargs, which avoids the
          allocation and deconstruction of the arguments object, but just passes
          along the incoming parameters. We can do the same for rest parameters
          and spread calls/constructs, i.e.
      
            class A extends B {
              constructor(...args) { super(...args); }
            }
      
          or
      
            function foo(...args) { return bar(1, 2, 3, ...args); }
      
          where we basically pass along the parameters (plus maybe additional
          statically known parameters).
      
          For this, we introduce a new JSConstructForwardVarargs operator and
          generalize the CallForwardVarargs builtins that are backing this.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:6407,v8:6278,v8:6344
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2887153004
      Cr-Commit-Position: refs/heads/master@{#45402}
      f4da4361
  19. 04 May, 2017 1 commit
  20. 02 May, 2017 1 commit
    • neis's avatar
      [simulator] Make reference redirection thread-safe. · 34e79456
      neis authored
      In the simulators, the ExternalReference constructor rewrites external
      addresses, which involves mutating a linked list rooted in the isolate.
      
      We already construct external references concurrently (at least in Turbofan),
      but the list mutation was not thread-safe (though no crashes are known). This
      CL adds the necessary locking.
      
      BUG=v8:6048
      
      Review-Url: https://codereview.chromium.org/2852983002
      Cr-Commit-Position: refs/heads/master@{#45014}
      34e79456
  21. 28 Apr, 2017 1 commit
  22. 26 Apr, 2017 1 commit
  23. 25 Apr, 2017 3 commits
  24. 21 Apr, 2017 5 commits
  25. 12 Apr, 2017 1 commit
  26. 11 Apr, 2017 2 commits
  27. 10 Apr, 2017 1 commit
    • Leszek Swirski's avatar
      [ignition] Add call bytecodes for undefined receiver · 751e8935
      Leszek Swirski authored
      Adds a collection of call bytecodes which have an implicit undefined
      receiver argument, for cases such as global calls where we know that the
      receiver has to be undefined. This way we can skip an LdaUndefined,
      decrease bytecode register pressure, and set a more accurate
      ConvertReceiverMode on the interpreter and TurboFan call.
      
      As a side effect, the "normal" Call bytecode now becomes a rare case
      (only with calls and super property calls), so we get rid of its 0-2
      argument special cases and modify CallProperty[N] to use the
      NotNullOrUndefined ConvertReceiverMode.
      
      Change-Id: I9374a32fefd66fc0251b5193bae7a6b7dc31eefc
      Reviewed-on: https://chromium-review.googlesource.com/463287
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44530}
      751e8935