1. 15 Nov, 2017 1 commit
  2. 07 Nov, 2017 1 commit
  3. 06 Nov, 2017 1 commit
  4. 13 Oct, 2017 2 commits
  5. 14 Sep, 2017 1 commit
  6. 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
  7. 14 Aug, 2017 1 commit
  8. 03 Aug, 2017 1 commit
  9. 12 Jan, 2017 1 commit
  10. 27 Dec, 2016 1 commit
  11. 25 Nov, 2015 1 commit
  12. 30 Sep, 2015 1 commit
  13. 11 Sep, 2015 1 commit
  14. 12 Aug, 2015 1 commit
  15. 03 Aug, 2015 1 commit
  16. 20 Apr, 2015 1 commit
  17. 05 Feb, 2015 1 commit
    • michael_dawson's avatar
      Contribution of PowerPC port (continuation of 422063005) - PPC dir update · 308d913a
      michael_dawson authored
      Contribution of PowerPC port (continuation of 422063005, 817143002 and 866843003)
      This patch brings the ppc directories up to date with our repo. We have
      removed 5 individual optimizations which require changes in both the ppc and common
      directories so they can be more easily reviewed on their own in subsequent patches.
      
      Subsequent patches will cover:
      - individual optimizations for PPC (5)
      - remaining AIX changes not resolved by 4.8 compiler (4.8 is only recently available
      for AIX)
      - incremental updates required to ppc directories due to platform specific changes
      made in google repos while we complete the above steps.
      
      With the update there are still some timeouts seen when run in simulated mode which
      may be a result of the missing optimizations.  Once we have the optimizations in
      we will review the simulation results and address/exclude tests as necessary so that
      the simulated runs are clean.
      
      	new file:   src/compiler/ppc/code-generator-ppc.cc
      	new file:   src/compiler/ppc/instruction-codes-ppc.h
      	new file:   src/compiler/ppc/instruction-selector-ppc.cc
      	new file:   src/compiler/ppc/linkage-ppc.cc
      	modified:   src/ic/ppc/handler-compiler-ppc.cc
      	modified:   src/ic/ppc/ic-compiler-ppc.cc
      	modified:   src/ic/ppc/ic-ppc.cc
      	modified:   src/ic/ppc/stub-cache-ppc.cc
      	modified:   src/ppc/assembler-ppc.cc
      	modified:   src/ppc/assembler-ppc.h
      	modified:   src/ppc/builtins-ppc.cc
      	modified:   src/ppc/code-stubs-ppc.cc
      	modified:   src/ppc/code-stubs-ppc.h
      	modified:   src/ppc/codegen-ppc.cc
      	modified:   src/ppc/constants-ppc.h
      	modified:   src/ppc/deoptimizer-ppc.cc
      	modified:   src/ppc/disasm-ppc.cc
      	modified:   src/ppc/full-codegen-ppc.cc
      	modified:   src/ppc/interface-descriptors-ppc.cc
      	modified:   src/ppc/lithium-codegen-ppc.cc
      	modified:   src/ppc/lithium-codegen-ppc.h
      	modified:   src/ppc/lithium-ppc.cc
      	modified:   src/ppc/lithium-ppc.h
      	modified:   src/ppc/macro-assembler-ppc.cc
      	modified:   src/ppc/macro-assembler-ppc.h
      	modified:   src/ppc/regexp-macro-assembler-ppc.cc
      	modified:   src/ppc/regexp-macro-assembler-ppc.h
      	modified:   src/ppc/simulator-ppc.cc
      	modified:   src/ppc/simulator-ppc.h
      	new file:   test/unittests/compiler/ppc/instruction-selector-ppc-unittest.cc
      
      R=danno@chromium.org, svenpanne@chromium.org
      
      BUG=
      
      Review URL: https://codereview.chromium.org/901083004
      
      Cr-Commit-Position: refs/heads/master@{#26471}
      308d913a
  18. 12 Dec, 2014 1 commit
  19. 11 Nov, 2014 1 commit
  20. 10 Nov, 2014 1 commit
  21. 11 Sep, 2014 1 commit
    • balazs.kilvady@imgtec.com's avatar
      MIPS: Added CallInterfaceDescriptors to all code stubs. · 4a5001dd
      balazs.kilvady@imgtec.com authored
      Port r23854 (3870059)
      
      Original commit message:
      Added CallInterfaceDescriptors to all code stubs. A handful
      of code stubs are too complex to be described this way, and
      they are encoded with the macro
      DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR().
      
      Along the way:
      * allowed inheritance of CallInterfaceDescriptors.
      * Defined static Register methods for some of the new
        CallInterfaceDescriptors. We could go a lot further here, but
        it doesn't have to be done immediately.
      * Added Representation arrays to some CallInterfaceDescriptors,
        especially where future hydrogen versions of the stubs could
        benefit from this knowledge.
      
      BUG=
      R=dusan.milosavljevic@imgtec.com
      
      Review URL: https://codereview.chromium.org/562153002
      
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      4a5001dd
  22. 10 Sep, 2014 1 commit
  23. 05 Sep, 2014 2 commits
  24. 04 Sep, 2014 3 commits
  25. 03 Sep, 2014 1 commit
  26. 25 Aug, 2014 2 commits
  27. 04 Aug, 2014 1 commit
  28. 22 Jul, 2014 1 commit
  29. 03 Jul, 2014 1 commit
  30. 30 Jun, 2014 1 commit
  31. 11 Jun, 2014 1 commit
  32. 03 Jun, 2014 1 commit
  33. 29 Apr, 2014 1 commit
  34. 24 Apr, 2014 1 commit
    • plind44@gmail.com's avatar
      MIPS: CodeStubs contain their corresponding Isolate* now. (part 1) · bb1abb7f
      plind44@gmail.com authored
      Port r20919 (aa51355)
      
      Original commit message:
      This is a purely mechanical change, adding an Isolate* to the CodeStub
      constructor and a corresponding field plus a getter. A few methods in
      CodeStub and its subclasses can be simplified now, but this is done in
      a separate CL.
      
      The underlying reason apart from simplicity is that deep down in the
      call chain we need to detect if the serializer is active or not. This
      information will be part of the Isolate, not a global variable with
      funky synchronization primitives around it (which is fundamentally
      wrong and the underlying cause for race conditions and a catch-22
      during initialization).
      
      BUG=359977
      LOG=y
      R=plind44@gmail.com
      
      Review URL: https://codereview.chromium.org/252383005
      
      Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      bb1abb7f
  35. 03 Mar, 2014 1 commit