1. 19 Sep, 2018 1 commit
  2. 15 Sep, 2018 1 commit
  3. 23 Aug, 2018 1 commit
  4. 16 Aug, 2018 1 commit
  5. 08 Aug, 2018 1 commit
  6. 07 Aug, 2018 1 commit
  7. 01 Aug, 2018 1 commit
  8. 06 Jul, 2018 1 commit
  9. 05 Jul, 2018 1 commit
  10. 26 Jun, 2018 6 commits
    • Georg Neis's avatar
      Reland "Reland "Introduce MutableHeapNumber class."" · f1c79e02
      Georg Neis authored
      This is a reland of f0bcbc90.
      A few casts were still wrong.
      
      Original change's description:
      > Reland "Introduce MutableHeapNumber class."
      >
      > This is a reland of 40ac6b18, which
      > was incorrect due to a bad merge.
      >
      > Original change's description:
      > > Introduce MutableHeapNumber class.
      > >
      > > V8 knows heap numbers and mutable heap numbers. They have
      > > difference instance types, but in C++ code we've used the
      > > same class for both (HeapNumber). Confusingly, however,
      > > IsHeapNumber would return false for mutable heap numbers,
      > > while HeapNumber::cast would succeed.
      > >
      > > This CL adds a separate class MutableHeapNumber and
      > > eliminates the confusing behavior.
      > >
      [...]
      > TBR=bmeurer@chromium.org
      > TBR=ulan@chromium.org
      >
      > Change-Id: I3af1014c949821dfac0754a3e48c65ce1bad1ad1
      > Reviewed-on: https://chromium-review.googlesource.com/1114539
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54022}
      
      Change-Id: I19a33da4b6abcd445b528a84d4f56ba1964d337b
      Reviewed-on: https://chromium-review.googlesource.com/1114100
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54027}
      f1c79e02
    • Michael Starzinger's avatar
      [wasm] Remove obsolete code specialization support. · 8ca3d065
      Michael Starzinger authored
      R=clemensh@chromium.org
      
      Change-Id: Id8a0849d3456be1062a065a23f51bac250de4f7d
      Reviewed-on: https://chromium-review.googlesource.com/1107936Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54026}
      8ca3d065
    • Georg Neis's avatar
      Revert "Reland "Introduce MutableHeapNumber class."" · 722dfb70
      Georg Neis authored
      This reverts commit f0bcbc90.
      
      Reason for revert: Still failing bots.
      
      Original change's description:
      > Reland "Introduce MutableHeapNumber class."
      > 
      > This is a reland of 40ac6b18, which
      > was incorrect due to a bad merge.
      > 
      > Original change's description:
      > > Introduce MutableHeapNumber class.
      > >
      > > V8 knows heap numbers and mutable heap numbers. They have
      > > difference instance types, but in C++ code we've used the
      > > same class for both (HeapNumber). Confusingly, however,
      > > IsHeapNumber would return false for mutable heap numbers,
      > > while HeapNumber::cast would succeed.
      > >
      > > This CL adds a separate class MutableHeapNumber and
      > > eliminates the confusing behavior.
      > >
      > > TBR=bmeurer@chromium.org
      > >
      > > Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378
      > > Reviewed-on: https://chromium-review.googlesource.com/1113544
      > > Commit-Queue: Georg Neis <neis@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#54012}
      > 
      > TBR=bmeurer@chromium.org
      > TBR=ulanchromium.org
      > 
      > Change-Id: I3af1014c949821dfac0754a3e48c65ce1bad1ad1
      > Reviewed-on: https://chromium-review.googlesource.com/1114539
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54022}
      
      TBR=ulan@chromium.org,jarin@chromium.org,neis@chromium.org,bmeurer@chromium.org
      
      Change-Id: I99c226e95dfb0b913903cc83193f6e51de8c1b47
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/1114099Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54024}
      722dfb70
    • Georg Neis's avatar
      Reland "Introduce MutableHeapNumber class." · f0bcbc90
      Georg Neis authored
      This is a reland of 40ac6b18, which
      was incorrect due to a bad merge.
      
      Original change's description:
      > Introduce MutableHeapNumber class.
      >
      > V8 knows heap numbers and mutable heap numbers. They have
      > difference instance types, but in C++ code we've used the
      > same class for both (HeapNumber). Confusingly, however,
      > IsHeapNumber would return false for mutable heap numbers,
      > while HeapNumber::cast would succeed.
      >
      > This CL adds a separate class MutableHeapNumber and
      > eliminates the confusing behavior.
      >
      > TBR=bmeurer@chromium.org
      >
      > Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378
      > Reviewed-on: https://chromium-review.googlesource.com/1113544
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54012}
      
      TBR=bmeurer@chromium.org
      TBR=ulanchromium.org
      
      Change-Id: I3af1014c949821dfac0754a3e48c65ce1bad1ad1
      Reviewed-on: https://chromium-review.googlesource.com/1114539Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54022}
      f0bcbc90
    • Yang Guo's avatar
      Revert "Introduce MutableHeapNumber class." · 983456f5
      Yang Guo authored
      This reverts commit 40ac6b18.
      
      Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20debug/21009
      
      Original change's description:
      > Introduce MutableHeapNumber class.
      > 
      > V8 knows heap numbers and mutable heap numbers. They have
      > difference instance types, but in C++ code we've used the
      > same class for both (HeapNumber). Confusingly, however,
      > IsHeapNumber would return false for mutable heap numbers,
      > while HeapNumber::cast would succeed.
      > 
      > This CL adds a separate class MutableHeapNumber and
      > eliminates the confusing behavior.
      > 
      > TBR=bmeurer@chromium.org
      > 
      > Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378
      > Reviewed-on: https://chromium-review.googlesource.com/1113544
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54012}
      
      TBR=ulan@chromium.org,jarin@chromium.org,neis@chromium.org,bmeurer@chromium.org
      
      Change-Id: I358a822f20b9110def968e69463a753a2a32c68c
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/1114538Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54013}
      983456f5
    • Georg Neis's avatar
      Introduce MutableHeapNumber class. · 40ac6b18
      Georg Neis authored
      V8 knows heap numbers and mutable heap numbers. They have
      difference instance types, but in C++ code we've used the
      same class for both (HeapNumber). Confusingly, however,
      IsHeapNumber would return false for mutable heap numbers,
      while HeapNumber::cast would succeed.
      
      This CL adds a separate class MutableHeapNumber and
      eliminates the confusing behavior.
      
      TBR=bmeurer@chromium.org
      
      Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378
      Reviewed-on: https://chromium-review.googlesource.com/1113544
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54012}
      40ac6b18
  11. 21 Jun, 2018 1 commit
  12. 20 Jun, 2018 2 commits
    • Ben L. Titzer's avatar
      [asm] Rework Assembler::IsolateData into Assembler::Options · 4252d53f
      Ben L. Titzer authored
      This CL attempts to simplify the Assembler's dependency on the
      isolate, in particular on a global "serializer_enabled" mode contained
      therein. The "serializer_enabled" condition enabled and disabled
      a number of things in both the assemblers and macro assemblers. To
      make these dependencies explicit, the Assembler::IsolateData is refactored
      to be a proper Assembler::Options struct that controls specific assembler
      behaviors, with default settings easily computable from the isolate.
      
      This also helps make the contract for compiling WASM code more explicit
      (since WASM code needs to have reloc info recorded for external references)
      we can explicitly enable this recording without trying to "trick" the
      assembler using "serializer_enabled".
      
      R=jgruber@chromium.org
      CC=mstarzinger@chromium.org, herhut@chromium.org
      
      Change-Id: I7a8ba49df7b75b292d73ec2aa6e507c27a3d99c8
      Reviewed-on: https://chromium-review.googlesource.com/1105982
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53890}
      4252d53f
    • Georgia Kouveli's avatar
      [arm64] Remove deopt tables. · cdb2ef01
      Georgia Kouveli authored
      We can instead pass the deopt id in a register, where before we were passing the
      deopt entry address. This removes the need for the deopt tables altogether,
      saving 192kB.
      
      Change-Id: I479d4de1a0245de328720b6b03a1955c8c63f696
      Reviewed-on: https://chromium-review.googlesource.com/1076472Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com>
      Cr-Commit-Position: refs/heads/master@{#53863}
      cdb2ef01
  13. 18 Jun, 2018 2 commits
  14. 08 Jun, 2018 1 commit
  15. 04 Jun, 2018 2 commits
  16. 18 May, 2018 1 commit
  17. 30 Apr, 2018 1 commit
  18. 16 Apr, 2018 1 commit
  19. 14 Apr, 2018 1 commit
    • Jakob Kummerow's avatar
      [ubsan] Change Address typedef to uintptr_t · 2459046c
      Jakob Kummerow authored
      The "Address" type is V8's general-purpose type for manipulating memory
      addresses. Per the C++ spec, pointer arithmetic and pointer comparisons
      are undefined behavior except within the same array; since we generally
      don't operate within a C++ array, our general-purpose type shouldn't be
      a pointer type.
      
      Bug: v8:3770
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: Ib96016c24a0f18bcdba916dabd83e3f24a1b5779
      Reviewed-on: https://chromium-review.googlesource.com/988657
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52601}
      2459046c
  20. 09 Apr, 2018 1 commit
  21. 22 Mar, 2018 1 commit
  22. 21 Feb, 2018 1 commit
  23. 13 Feb, 2018 1 commit
  24. 26 Jan, 2018 1 commit
  25. 22 Jan, 2018 1 commit
  26. 16 Jan, 2018 2 commits
  27. 02 Dec, 2017 1 commit
    • Mathias Bynens's avatar
      Normalize casing of hexadecimal digits · 822be9b2
      Mathias Bynens authored
      This patch normalizes the casing of hexadecimal digits in escape
      sequences of the form `\xNN` and integer literals of the form
      `0xNNNN`.
      
      Previously, the V8 code base used an inconsistent mixture of uppercase
      and lowercase.
      
      Google’s C++ style guide uses uppercase in its examples:
      https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters
      
      Moreover, uppercase letters more clearly stand out from the lowercase
      `x` (or `u`) characters at the start, as well as lowercase letters
      elsewhere in strings.
      
      BUG=v8:7109
      TBR=marja@chromium.org,titzer@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org,rossberg@chromium.org,yangguo@chromium.org,mlippautz@chromium.org
      NOPRESUBMIT=true
      
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I790e21c25d96ad5d95c8229724eb45d2aa9e22d6
      Reviewed-on: https://chromium-review.googlesource.com/804294
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49810}
      822be9b2
  28. 01 Dec, 2017 1 commit
  29. 29 Nov, 2017 1 commit
  30. 21 Nov, 2017 1 commit
  31. 18 Oct, 2017 1 commit
    • Pierre Langlois's avatar
      Simplify DoubleToI stub. · 9f4f3c28
      Pierre Langlois authored
      The DoubleToI stub is no longer called outside of TurboFan, and always in the
      same way:
      
        - The parameter is on top of the stack.
        - The stub is always called in a slow path.
        - It truncates.
      
      Therefore, we can simplify it to only support this case and remove dead
      code.
      
      On top of this, since the stub is always considered to be on a slow path for all
      backends, this patch takes the opportunity to remove the `skip_fastpath`
      optimisation. This would generate a stub which does not handle all inputs,
      assuming that the backend already handled some of the inputs in a fast
      path. Removing this allows the stub to have the same behaviour on all targets.
      
      On Arm, this patch reworks the stub a little. We could use ip instead of saving
      and restoring a register on the stack. Also, comments would mention that we
      assume the exponent to be greater than 31 when the it can be 30 or higher. As
      done for Arm64, let's check this at runtime in debug mode.
      
      On Arm64, we can also implement the stub without pushing and poping off the
      stack. It needs 2 general purpose and a double scratch registers which we have
      reserved already (ip0, ip1 and d30). This removes the need to check that the
      stack pointer is always 16-bytes aligned.
      
      Finally, this also fixes a potential bug on Arm64, in the
      `GetAllocatableRegisterThatIsNotOneOf` method which is now removed. We were
      picking an allocatable double register when we meant to pick a general one.
      
      Bug: v8:6644
      Change-Id: I88d4597f377c9fc05432d5922a0d7129b6d19b47
      Reviewed-on: https://chromium-review.googlesource.com/720963Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
      Cr-Commit-Position: refs/heads/master@{#48671}
      9f4f3c28