1. 09 Apr, 2018 2 commits
  2. 06 Apr, 2018 2 commits
    • Michael Achenbach's avatar
      Revert "[cleanup] Refactor the Factory" · 503e07c3
      Michael Achenbach authored
      This reverts commit f9a2e24b.
      
      Reason for revert: gc stress failures not all fixed by follow up.
      
      Original change's description:
      > [cleanup] Refactor the Factory
      > 
      > There is no good reason to have the meat of most objects' initialization
      > logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead,
      > this CL changes the protocol between Heap and Factory to be AllocateRaw,
      > and all object initialization work after (possibly retried) successful
      > raw allocation happens in the Factory.
      > 
      > This saves about 20KB of binary size on x64.
      > 
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca
      > Reviewed-on: https://chromium-review.googlesource.com/959533
      > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52416}
      
      TBR=jkummerow@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org
      
      Change-Id: Idbbc53478742f3e9525eee83342afc6aedae122f
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/999414Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52420}
      503e07c3
    • Jakob Kummerow's avatar
      [cleanup] Refactor the Factory · f9a2e24b
      Jakob Kummerow authored
      There is no good reason to have the meat of most objects' initialization
      logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead,
      this CL changes the protocol between Heap and Factory to be AllocateRaw,
      and all object initialization work after (possibly retried) successful
      raw allocation happens in the Factory.
      
      This saves about 20KB of binary size on x64.
      
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca
      Reviewed-on: https://chromium-review.googlesource.com/959533
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52416}
      f9a2e24b
  3. 16 Feb, 2018 1 commit
  4. 06 Feb, 2018 1 commit
  5. 05 Feb, 2018 2 commits
  6. 18 Dec, 2017 1 commit
  7. 08 Dec, 2017 1 commit
  8. 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
  9. 20 Nov, 2017 1 commit
  10. 09 Nov, 2017 1 commit
  11. 06 Nov, 2017 2 commits
  12. 03 Nov, 2017 2 commits
  13. 02 Nov, 2017 1 commit
  14. 18 Oct, 2017 1 commit
  15. 13 Oct, 2017 1 commit
  16. 26 Sep, 2017 1 commit
  17. 19 Sep, 2017 1 commit
  18. 07 Sep, 2017 1 commit
  19. 30 Aug, 2017 1 commit
  20. 29 Aug, 2017 1 commit
  21. 28 Aug, 2017 1 commit
    • jgruber's avatar
      [regexp] Shortcut case-folding of entire non-bmp range · 4735f85f
      jgruber authored
      When the range of all non-bmp characters is passed to
      AddUnicodeCaseEquivalents, icu::UnicodeSet::closeOver dutifully tries to
      case-fold every single character in that range. Since we already know
      this to be a nop, we can simply return instead.
      
      This improves compilation time of /ui regexps by around 100x.
      
      Bug: v8:6727
      Change-Id: I79d73c77d6a54cbb5ad2cad0355214ed712b59b9
      Reviewed-on: https://chromium-review.googlesource.com/635303
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47636}
      4735f85f
  22. 04 Aug, 2017 1 commit
    • jgruber's avatar
      [regexp] Limit ATOM regexps to patterns length <= 2 · 10817205
      jgruber authored
      This is a modified reland of 062bb7d4
      
      There's an inherent trade-off when deciding between ATOM and IRREGEXP
      regexps: IRREGEXP is faster at runtime for all but trivial short
      patterns, while ATOM regexps have a lower memory overhead.
      
      This CL is intended to help investigate impact on benchmarks and real-world
      code - if something tanks, it's easy to revert, otherwise it can be a first
      step towards a possible removal of ATOM regexps.
      
      Bug: v8:6633
      Change-Id: I8d946a7cbb398d4987b47ecba24c9faa88788d0d
      Reviewed-on: https://chromium-review.googlesource.com/599910Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47164}
      10817205
  23. 03 Aug, 2017 1 commit
    • Jakob Gruber's avatar
      Revert "[regexp] Limit ATOM regexps to single-character patterns" · 5a8a7ed8
      Jakob Gruber authored
      This reverts commit 062bb7d4.
      
      Reason for revert: <INSERT REASONING HERE>
      
      Original change's description:
      > [regexp] Limit ATOM regexps to single-character patterns
      > 
      > There's an inherent trade-off when deciding between ATOM and IRREGEXP
      > regexps: IRREGEXP is faster at runtime for all but trivial single-character
      > patterns, while ATOM regexps have a lower memory overhead.
      > 
      > This CL is intended to help investigate impact on benchmarks and real-world
      > code - if something tanks, it's easy to revert, otherwise it can be a first
      > step towards a possible removal of ATOM regexps.
      > 
      > Bug: v8:6633
      > Change-Id: Ia41d8eb28d33952735562d3d4127202746a6ac4e
      > Reviewed-on: https://chromium-review.googlesource.com/589435
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47081}
      
      TBR=yangguo@chromium.org,jgruber@chromium.org
      
      Change-Id: I8655bc4055af5d593f507e16918b434ff45f5379
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6633
      Reviewed-on: https://chromium-review.googlesource.com/599547Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47106}
      5a8a7ed8
  24. 02 Aug, 2017 2 commits
  25. 25 Jul, 2017 1 commit
  26. 18 Jul, 2017 1 commit
  27. 10 Jul, 2017 1 commit
  28. 05 Jul, 2017 1 commit
  29. 04 Jul, 2017 1 commit
  30. 22 May, 2017 1 commit
  31. 24 Apr, 2017 1 commit
  32. 13 Apr, 2017 1 commit
  33. 12 Apr, 2017 1 commit
  34. 27 Mar, 2017 1 commit
    • erikcorry's avatar
      Regexp: Optimize better in presence of lookaround. · 8df7c2a2
      erikcorry authored
      Previously the Boyer-Moore-Horspool optimization gave up in the presence of a
      submatch.  A submatch is where we record the current position so that we can go
      back to it, which is an essential part of the semantics of lookarounds
      (lookaheads and lookbehinds).  This has been the case since
      Boyer-Moore-Horspool was implemented, but it was overly cautious.
      
      * For positive lookahead it is OK to use the patterns inside the lookahead to
        guide the BMS optimization.
      * For positive lookbehind we harmlessly fail to optimize when the patterns
        inside the lookbehind go backwards because TextNode::EatsAtLeast returns 0.
      * For negative lookarounds, the NegativeLookaroundChoiceNode::FillInBMInfo method
        (in jsregexp.h) knows to only look at the following pattern.
      
      This is in response to disappointing lookbehind performance in Atom.
      See https://github.com/atom/find-and-replace/issues/571
      
      R=yangguo@chromium.org
      BUG=
      
      Review-Url: https://codereview.chromium.org/2777583003
      Cr-Commit-Position: refs/heads/master@{#44139}
      8df7c2a2