1. 01 Sep, 2020 1 commit
    • Leszek Swirski's avatar
      [serializer] Clean up value encoding in bytecodes · 1a4efddb
      Leszek Swirski authored
      Unify the encoding/decoding of values into a ranged bytecode with a
      single templated class that takes the bytecode, minimum, and maximum,
      and provides Encode and Decode methods.
      
      This class also handles range checks on both the input and output,
      which (along with a few other byte cases) allows us to get rid of the
      PutSection method.
      
      Change-Id: Icb2cd409607ce7b650226eb8dca80c0e363a8acc
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2369172
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69642}
      1a4efddb
  2. 23 May, 2019 2 commits
  3. 06 Nov, 2018 1 commit
    • Yang Guo's avatar
      [snapshot] clear internal fields that are serialized by callback · 4495cba3
      Yang Guo authored
      This is to ensure the snapshot is deterministic.
      
      Internal fields can contain:
      - reference to heap object
      - embedder-defined aligned pointer
      - a smi
      
      The latter two are not distinguishable by V8, so if the serializer
      callback returns non-zero value, we consider it to be an aligned pointer
      and clear it to ensure that the snapshot does not contain memory
      addresses that may not be deterministic. If the callback returns
      { nullptr, 0 } as result, we consider it to be a smi or some in-place
      data that we then serialize verbatim.
      
      
      R=jgruber@chromium.org
      
      Bug: chromium:870584
      Change-Id: I3cf9abf135ffd28d8138fa32636b12596b076e13
      Reviewed-on: https://chromium-review.googlesource.com/c/1304441
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57272}
      4495cba3
  4. 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
  5. 16 Oct, 2017 1 commit
  6. 23 Aug, 2017 1 commit
  7. 26 Jun, 2017 1 commit
    • hans's avatar
      Make some functions that are hit during renderer startup available for inlining · 777da354
      hans authored
      This is towards closing the perf gap between the MSVC build (which uses link-
      time optimization) and Clang (where LTO isn't ready on Windows yet). We did
      a study (see bug) to see which non-inlined functions are hit a lot during render
      start-up, and which would be inlined during LTO. This should benefit performance
      in all builds which currently don't use LTO (Android, Linux, Mac) as well as
      the Win/Clang build.
      
      The binary size of chrome_child.dll increases by 2KB with this.
      
      BUG=chromium:728324
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.mac:mac_chromium_compile_dbg_ng
      
      Review-Url: https://codereview.chromium.org/2950993002
      Cr-Commit-Position: refs/heads/master@{#46229}
      777da354
  8. 25 Jun, 2017 1 commit
  9. 23 Jun, 2017 1 commit
    • hans's avatar
      Make some functions that are hit during renderer startup available for inlining · d00d52be
      hans authored
      This is towards closing the perf gap between the MSVC build (which uses link-
      time optimization) and Clang (where LTO isn't ready on Windows yet). We did
      a study (see bug) to see which non-inlined functions are hit a lot during render
      start-up, and which would be inlined during LTO. This should benefit performance
      in all builds which currently don't use LTO (Android, Linux, Mac) as well as
      the Win/Clang build.
      
      The binary size of chrome_child.dll increases by 2KB with this.
      
      BUG=chromium:728324
      
      Review-Url: https://codereview.chromium.org/2950993002
      Cr-Commit-Position: refs/heads/master@{#46191}
      d00d52be
  10. 09 Jan, 2017 1 commit
  11. 01 Mar, 2016 1 commit
  12. 15 Dec, 2015 1 commit
  13. 01 Jun, 2015 1 commit
  14. 27 Mar, 2015 1 commit
  15. 20 Mar, 2015 1 commit
  16. 17 Mar, 2015 1 commit
  17. 10 Dec, 2014 1 commit
  18. 05 Dec, 2014 1 commit
  19. 04 Dec, 2014 2 commits
  20. 24 Oct, 2014 1 commit
  21. 23 Oct, 2014 1 commit
  22. 25 Sep, 2014 1 commit
  23. 15 Sep, 2014 1 commit
  24. 12 Sep, 2014 2 commits
  25. 04 Aug, 2014 1 commit
  26. 10 Jul, 2014 1 commit
  27. 08 Jul, 2014 1 commit
  28. 30 Jun, 2014 1 commit
  29. 23 Jun, 2014 1 commit
  30. 10 Jun, 2014 1 commit
  31. 05 Jun, 2014 1 commit
    • vogelheim@chromium.org's avatar
      Support external startup data in V8. · ba9f391b
      vogelheim@chromium.org authored
      [Retry of crrev.com/293993021, which caused problems with 'ninja all' in Chromium. First patch set if a clean apply
      of crrev.com/293993021. Subsequent sets are the actual fix
      for that issue.]
      
      If the embedder chooses, the 'natives' (library sources) and the
      precompiled startup blob can be written to files during the build
      process and handed over to V8 at startup. The main purpose would be
      to reduce the size of the compiled binary for space constrained
      platforms.
      
      The build-time option is off by default. Nothing should change if
      it's not enabled.
      
      BUG=
      R=jochen@chromium.org
      
      Review URL: https://codereview.chromium.org/315033002
      
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      ba9f391b
  32. 04 Jun, 2014 1 commit
  33. 03 Jun, 2014 1 commit