1. 06 Nov, 2017 3 commits
  2. 03 Nov, 2017 2 commits
  3. 02 Nov, 2017 1 commit
  4. 18 Oct, 2017 1 commit
  5. 17 Oct, 2017 1 commit
  6. 16 Oct, 2017 1 commit
  7. 13 Oct, 2017 2 commits
  8. 29 Sep, 2017 1 commit
  9. 26 Sep, 2017 1 commit
  10. 19 Sep, 2017 1 commit
  11. 14 Sep, 2017 1 commit
  12. 13 Sep, 2017 1 commit
  13. 11 Sep, 2017 1 commit
  14. 09 Sep, 2017 1 commit
    • Anisha Rohra's avatar
      s390/PPC: Make Register et al. real classes · 0b491c89
      Anisha Rohra authored
      Port 9e995e12
      Port 408f252b
      
        Up to now, each architecture defined all Register types as structs,
        with lots of redundancy. An often found comment noted that they cannot
        be classes due to initialization order problems. As these problems are
        gone with C++11 constexpr constants, I now tried making Registers
        classes again.
        All register types now inherit from RegisterBase, which provides a
        default set of methods and named constructors (like ::from_code,
        code(), bit(), is_valid(), ...).
        This design allows to guarantee an interesting property: Each register
        is either valid, or it's the no_reg register. There are no other
        invalid registers. This is guaranteed statically by the constexpr
        constructor, and dynamically by ::from_code.
      
        I decided to disallow the default constructor completely, so instead of
        "Register reg;" you now need "Register reg = no_reg;". This makes
        explicit how the Register is initialized.
      
        I did this change to the x64, ia32, arm, arm64, mips and mips64 ports.
        Overall, code got much more compact and more safe. In theory, it should
        also increase performance (since the is_valid() check is simpler), but
        this is probably not measurable.
      
      R=bjaideep@ca.ibm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: I2e87efc8790290c64fd6c0a2d093326710b30ed3
      Reviewed-on: https://chromium-review.googlesource.com/658065Reviewed-by: 's avatarJaideep Bajwa <bjaideep@ca.ibm.com>
      Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#47933}
      0b491c89
  15. 07 Sep, 2017 2 commits
  16. 06 Sep, 2017 1 commit
    • Clemens Hammacher's avatar
      [assembler] Make Register et al. real classes · 9e995e12
      Clemens Hammacher authored
      Up to now, each architecture defined all Register types as structs,
      with lots of redundancy. An often found comment noted that they cannot
      be classes due to initialization order problems. As these problems are
      gone with C++11 constexpr constants, I now tried making Registers
      classes again.
      All register types now inherit from RegisterBase, which provides a
      default set of methods and named constructors (like ::from_code,
      code(), bit(), is_valid(), ...).
      This design allows to guarantee an interesting property: Each register
      is either valid, or it's the no_reg register. There are no other
      invalid registers. This is guaranteed statically by the constexpr
      constructor, and dynamically by ::from_code.
      
      I decided to disallow the default constructor completely, so instead of
      "Register reg;" you now need "Register reg = no_reg;". This makes
      explicit how the Register is initialized.
      
      I did this change to the x64, ia32, arm, arm64, mips and mips64 ports.
      Overall, code got much more compact and more safe. In theory, it should
      also increase performance (since the is_valid() check is simpler), but
      this is probably not measurable.
      
      R=mstarzinger@chromium.org
      
      Change-Id: I5ccfa4050daf4e146a557970e9d37fd3d2788d4a
      Reviewed-on: https://chromium-review.googlesource.com/650927Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47847}
      9e995e12
  17. 30 Aug, 2017 1 commit
  18. 29 Aug, 2017 1 commit
  19. 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
  20. 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
  21. 03 Aug, 2017 2 commits
  22. 02 Aug, 2017 2 commits
  23. 31 Jul, 2017 1 commit
  24. 25 Jul, 2017 1 commit
  25. 20 Jul, 2017 1 commit
  26. 18 Jul, 2017 1 commit
  27. 13 Jul, 2017 1 commit
  28. 10 Jul, 2017 1 commit
  29. 07 Jul, 2017 1 commit
  30. 05 Jul, 2017 1 commit
  31. 04 Jul, 2017 1 commit
  32. 12 Jun, 2017 1 commit
  33. 08 Jun, 2017 1 commit
    • sampsong's avatar
      PPC/s390: [compiler] Delay allocation of code-embedded heap numbers. · ae947e26
      sampsong authored
      Port 659e8f7b
      
      Original Commit Message:
      
          Instead of allocating and embedding certain heap numbers into the code
          during code assembly, emit dummies but record the allocation requests.
          Later then, in Assembler::GetCode, allocate the heap numbers and patch
          the code by replacing the dummies with the actual objects. The
          RelocInfos for the embedded objects are already recorded correctly when
          emitting the dummies.
      
      R=neis@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:6048
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2929843002
      Cr-Commit-Position: refs/heads/master@{#45793}
      ae947e26