1. 13 Nov, 2019 1 commit
  2. 28 May, 2019 1 commit
  3. 20 May, 2019 1 commit
  4. 17 May, 2019 2 commits
  5. 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
  6. 14 Jul, 2016 1 commit
    • ssanfilippo's avatar
      Reland Implement .eh_frame writer and disassembler. · a91dc7cd
      ssanfilippo authored
      Original commit message:
      
        Also, CodeGenerator::MakeCodeEpilogue now accepts an optional pointer
        to a EhFrameWriter and will attach unwinding information to the code
        object when passed one.
      
      Reason for reverting:
      
        The STATIC_CONST_MEMBER_DEFINITION in eh-frame-writer-unittest.cc
        causes a compiler error on V8 Win64 - clang buildbot.
      
        Removing that bit.
      
      BUG=v8:4899
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2023503002
      Cr-Commit-Position: refs/heads/master@{#37754}
      a91dc7cd
  7. 13 Jul, 2016 2 commits
  8. 12 Jul, 2016 2 commits