1. 02 Aug, 2017 2 commits
  2. 01 Aug, 2017 3 commits
  3. 31 Jul, 2017 2 commits
    • Jakob Gruber's avatar
      Revert "[builtins] Remove Builtins::Name() accessors" · 17a26c0b
      Jakob Gruber authored
      This reverts commit 2f79e035.
      
      Reason for revert: Conflicts with successor CL.
      
      Original change's description:
      > [builtins] Remove Builtins::Name() accessors
      > 
      > Instead of auto-generating the Name() convenience accessor, use a macro to
      > avoid wasting code space.
      > 
      >   BUILTIN_CODE(isolate, Name)
      > 
      > expands to
      > 
      >   isolate->builtins()->builtin_handle(Builtins::kName);
      > 
      > This reduces the size of libv8.so by 134,752 bytes on a x64 release build.
      > 
      > Bug: v8:6624
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f
      > Reviewed-on: https://chromium-review.googlesource.com/593607
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47010}
      
      TBR=yangguo@chromium.org,ahaas@chromium.org,jgruber@chromium.org,bmeurer@chromium.org
      
      Change-Id: Ia9ef5c755b26c3f4e143d87a7c51033614ea435e
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6624
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/594048Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47012}
      17a26c0b
    • jgruber's avatar
      [builtins] Remove Builtins::Name() accessors · 2f79e035
      jgruber authored
      Instead of auto-generating the Name() convenience accessor, use a macro to
      avoid wasting code space.
      
        BUILTIN_CODE(isolate, Name)
      
      expands to
      
        isolate->builtins()->builtin_handle(Builtins::kName);
      
      This reduces the size of libv8.so by 134,752 bytes on a x64 release build.
      
      Bug: v8:6624
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Idff7ee5c45e344e73412c0f47e92553c7c7ff75f
      Reviewed-on: https://chromium-review.googlesource.com/593607Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47010}
      2f79e035
  4. 27 Jul, 2017 1 commit
  5. 26 Jul, 2017 1 commit
  6. 25 Jul, 2017 1 commit
  7. 24 Jul, 2017 1 commit
  8. 20 Jul, 2017 1 commit
  9. 19 Jul, 2017 4 commits
  10. 17 Jul, 2017 1 commit
  11. 14 Jul, 2017 1 commit
    • Caitlin Potter's avatar
      [generators] remove SuspendFlags enum and related code · 53553f5d
      Caitlin Potter authored
      SuspendFlags was originally used by the suspend operation to determine
      which field to record the bytecode offset of a suspended generator, and
      the value the generator was resumed with. For async generators, await
      operations would use a separate field, in order to preserve the previous
      yield input value. This was important to ensure `function.sent`
      continued to function correctly.
      
      As function.sent is being retired, this allows the removal of support
      for that. Given that this was the only real need for SuspendFlags in the
      first place (with other uses tacked on as a hack), this involves several
      other changes as well:
      
      - Modification of MacroAssembler AssertGeneratorObject. No longer
        accepts a SuspendFlags parameter to determine which type of check to
        perform.
      - Removal of `flags` operand from SuspendGenerator bytecode, and the
        GeneratorStore js-operator.
      - Removal of `flags` parameter from ResumeGeneratorTrampoline builtins.
      - Removal of Runtime functions, interpreter intrinsics and
        AccessBuilders associated with the [[await_input_or_debug_pos]] field
        in JSAsyncGeneratorObject, as this field no longer exists.
      - Addition of a new `Yield` AST node (subclass of Suspend) in order to
        prevent the need for the other SuspendFlag values.
      
      BUG=v8:5855
      TBR=bmeurer@chromium.org
      
      Change-Id: Iff2881e4742497fe5b774915e988c3d9d8fbe487
      Reviewed-on: https://chromium-review.googlesource.com/570485
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46683}
      53553f5d
  12. 13 Jul, 2017 2 commits
  13. 12 Jul, 2017 1 commit
  14. 10 Jul, 2017 3 commits
  15. 07 Jul, 2017 1 commit
  16. 06 Jul, 2017 3 commits
    • Andreas Haas's avatar
      [arm64] Clear the upper 32 bits after a TruncateDoubleToI · 124ff532
      Andreas Haas authored
      TruncateDoubleToI generated a 32-bit result but did not clear the upper
      32 bits. This violated the invariant that the upper 32 bits should be
      cleared when the result is 32 bits. This change fixes the bug mentioned
      below. Clearing the upper 32 bits is also done on x64.
      
      R=v8-arm-ports@googlegroups.com, titzer@chromium.org, martyn.capewell@arm.com
      
      Bug: chromium:738952
      Change-Id: I7e23e03fbed380ff08803db41fbae6382957ba08
      Reviewed-on: https://chromium-review.googlesource.com/559671Reviewed-by: 's avatarMartyn Capewell <martyn.capewell@arm.com>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46440}
      124ff532
    • Georg Neis's avatar
      Don't dereference handles in (macro-)assembler functions used by TF. · 9b3174b2
      Georg Neis authored
      Remove all IsHeapObject/IsSmi checks from assembler and also from
      the macro-assembler functions that Turbofan code generation uses.
      
      Note for porters: In case it's unclear which macro-assembler
      functions need to be modified, it may be best to wait until I
      split MacroAssembler in a followup-CL, which will make that clear.
      
      Bug: v8:6048
      Change-Id: Ife0735cc6f48713c9ec493faf2dac5e553d1c06b
      Reviewed-on: https://chromium-review.googlesource.com/561015
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46436}
      9b3174b2
    • Pierre Langlois's avatar
      [arm] Introduce UseScratchRegisterScope · 8e84b715
      Pierre Langlois authored
      Introduce a stripped down version of UseScratchRegisterScope for ARM and use it
      inside the assembler and macro-assembler. At the exception of the Call
      instructions, we now use this scope instead of using the ip register
      directly. This is inspired from how the ARM64 backend works.
      
      In general, the benefit of doing this is we can catch cases where ip is being
      used both by the caller and by the assembler. But more specifically, TurboFan
      reserves r9 as an extra scratch register because ip can already be used by the
      assembler. With this utility, we can isolate the cases in the code generator
      which need an extra register and potentially fix them, allowing us to give r9
      back to the register allocator.
      
      This patch uncovered places in the assembler where we were using ip
      unconditionally when we could have re-used the destination register instead.
      
      Bug: v8:6553
      Change-Id: Ib7134e3ed64dd1f90baf209ae831ed8f644cac78
      Reviewed-on: https://chromium-review.googlesource.com/544956
      Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46425}
      8e84b715
  17. 05 Jul, 2017 3 commits
  18. 03 Jul, 2017 1 commit
  19. 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
  20. 28 Jun, 2017 1 commit
  21. 26 Jun, 2017 3 commits
  22. 23 Jun, 2017 1 commit
  23. 22 Jun, 2017 1 commit
  24. 20 Jun, 2017 1 commit