1. 21 Feb, 2019 1 commit
    • Tom Tan's avatar
      [Win][ARM64] Fix shift mask constant for LLP64 · 8dea08e8
      Tom Tan authored
      Windows ARM64 does cross build for V8 and runs snapshot tool on build host
      under simulator. Simulator is built with LLP64 data model so 0xFFFFL is 32-bit
      long by default. It causes problem for the expression "0xFFFFL << shift" when
      shift is 32, which actually does nothing on x64 because 0xFFFFL is only 32-bit.
      The issue happens for instruction "movk rd, NUM lsl 32" which is simulated in
      
      Simulator::VisitMoveWideImmediate. "0xFFFL << shift" acts as mask to clear bits
      32-47 of the orignal value in rd. Under LLP64, the mask happens unexpectedly to
      the lowest 16 bits of rd register and corrupts the result of rd. Specify 0xFFFFL
      as 64 bit as 0xFFFFLL fixes this problem.
      
      Bug: chromium:893460
      Change-Id: Ibd911ce595e83637432a3e1f79a9bf28fcbe09f6
      Reviewed-on: https://chromium-review.googlesource.com/c/1475330
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59778}
      8dea08e8
  2. 19 Feb, 2019 1 commit
  3. 13 Feb, 2019 1 commit
  4. 11 Jan, 2019 1 commit
  5. 08 Jan, 2019 1 commit
  6. 04 Jan, 2019 1 commit
  7. 26 Dec, 2018 1 commit
  8. 20 Dec, 2018 1 commit
  9. 19 Dec, 2018 1 commit
    • Clemens Hammacher's avatar
      [cleanup] Fix include guards of simulators · bf2b5d0b
      Clemens Hammacher authored
      The platform-specific simulators are only included on the respective
      hardware, so no need to guard against other platforms.
      Also, unify where the USE_SIMULATOR macro is evaluated. Make it cover
      the whole implementation file.
      Also, make sure to include the respective header file first, as
      suggested by the style guide, and fix up includes in general.
      
      R=ishell@chromium.org
      
      Bug: v8:8562, v8:7490
      Change-Id: Ifc6a87030364eab1e6a6fcbda008607ccd1c1f2f
      Reviewed-on: https://chromium-review.googlesource.com/c/1384090Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58365}
      bf2b5d0b
  10. 18 Dec, 2018 1 commit
  11. 15 Nov, 2018 1 commit
  12. 24 Oct, 2018 1 commit
  13. 23 Oct, 2018 2 commits
  14. 12 Oct, 2018 1 commit
  15. 11 Oct, 2018 1 commit
  16. 07 Aug, 2018 1 commit
  17. 12 Jul, 2018 1 commit
    • Leszek Swirski's avatar
      [cleanup] Remove Isolate parameter from object print · 13b899a5
      Leszek Swirski authored
      With ReadOnlyRoots and GetIsolate on JSReceiver, we can remove almost
      every isolate parameter from <Object>::Print. The remaining ones, like
      Map, are special-caseable for read-only maps, and as a result we can
      remove isolate parameters from <Object>::Print entirely.
      
      This patch also opportunistically cleans up a few places where isolates
      were only needed for Object::Print, such as TransitionAccessors and
      DescriptorArrays.
      
      TBR=yangguo@chromium.org,mstarzinger@chromium.org
      
      Bug: v8:7786
      Change-Id: Id44bd53b9893e679eea5f37b9548257595a1bfd9
      Reviewed-on: https://chromium-review.googlesource.com/1133385Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54401}
      13b899a5
  18. 26 Jun, 2018 1 commit
  19. 14 Jun, 2018 2 commits
    • Clemens Hammacher's avatar
      Reland "Introduce StdoutStream which prints to Android log or stdout" · 8e2e1257
      Clemens Hammacher authored
      This is a reland of 0909dbe3.
      Added missing V8_EXPORT_PRIVATE to AndroidLogStream.
      
      TBR=mstarzinger@chromium.org
      
      Original change's description:
      > Introduce StdoutStream which prints to Android log or stdout
      >
      > The often used construct {OFStream(stdout)} does not work on Android.
      > This CL introduces an {StdoutStream} which behaves exactly like
      > {OFStream(stdout)} on non-android platforms, and redirects to the
      > Android log on appropriate systems and configurations.
      >
      > R=mstarzinger@chromium.org
      >
      > Bug: v8:7820
      > Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b
      > Reviewed-on: https://chromium-review.googlesource.com/1088911
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53692}
      
      Bug: v8:7820
      Change-Id: I8164bad78a401dbe4246c9ffcacd050fe511ed58
      Reviewed-on: https://chromium-review.googlesource.com/1100636Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53733}
      8e2e1257
    • Michael Achenbach's avatar
      Revert "Introduce StdoutStream which prints to Android log or stdout" · d2e1620c
      Michael Achenbach authored
      This reverts commit 0909dbe3.
      
      Reason for revert: Blocks roll:
      https://chromium-review.googlesource.com/c/chromium/src/+/1099143
      
      Original change's description:
      > Introduce StdoutStream which prints to Android log or stdout
      > 
      > The often used construct {OFStream(stdout)} does not work on Android.
      > This CL introduces an {StdoutStream} which behaves exactly like
      > {OFStream(stdout)} on non-android platforms, and redirects to the
      > Android log on appropriate systems and configurations.
      > 
      > R=​mstarzinger@chromium.org
      > 
      > Bug: v8:7820
      > Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b
      > Reviewed-on: https://chromium-review.googlesource.com/1088911
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53692}
      
      TBR=mstarzinger@chromium.org,jarin@chromium.org,jgruber@chromium.org,clemensh@chromium.org,bmeurer@chromium.org
      
      Change-Id: Iadadd9a0df10dca0fad647138a83db50148e864d
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7820
      Reviewed-on: https://chromium-review.googlesource.com/1100635Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53725}
      d2e1620c
  20. 13 Jun, 2018 1 commit
  21. 05 Jun, 2018 1 commit
  22. 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
  23. 09 Apr, 2018 1 commit
  24. 21 Feb, 2018 2 commits
  25. 18 Jan, 2018 1 commit
  26. 16 Jan, 2018 1 commit
  27. 08 Jan, 2018 2 commits
  28. 15 Dec, 2017 1 commit
  29. 13 Dec, 2017 1 commit
    • Michael Starzinger's avatar
      [simulator] Refactor redirections to be process-wide. · f4dde200
      Michael Starzinger authored
      This refactors the list of redirections of runtime call targets that
      simulators maintain to be process-wide (as opposed to be per Isolate).
      Such redirections are used for static C++ call targets which themselves
      are process-wide, which makes this model a closer fit. Access is already
      properly synchronized via a mutex.
      
      Along the way this also introduces the {SimulatorBase} class as a common
      base class for all simulator implementations.
      
      R=clemensh@chromium.org
      
      Change-Id: Iae8602c44b1b34cb916dde2b22c9403b0496b3d4
      Reviewed-on: https://chromium-review.googlesource.com/823966
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50074}
      f4dde200
  30. 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
  31. 29 Nov, 2017 1 commit
  32. 24 Nov, 2017 1 commit
    • Yang Guo's avatar
      [snapshot] make API external references optional. · 13a68e6c
      Yang Guo authored
      In snapshots with several contexts, some contexts may not reference
      function or object templates, and therefore would not require external
      references for deserialization. However, function and object templates
      are deserialized with the isolate as part of the partial snapshot cache,
      so we would need these external references even if we only use contexts
      that don't need them.
      
      With this patch, we use a fallback in case no external references are
      provided. This way, we only run into issues when we actually call native
      callbacks.
      
      R=jgruber@chromium.org, peria@chromium.org
      
      Change-Id: I6af8a77f26c92bd73fdab6112474c62da270597f
      Reviewed-on: https://chromium-review.googlesource.com/784831Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49615}
      13a68e6c
  33. 18 Oct, 2017 1 commit
  34. 13 Oct, 2017 1 commit
  35. 09 Oct, 2017 1 commit
  36. 14 Sep, 2017 1 commit