1. 31 Jul, 2015 1 commit
  2. 27 Jul, 2015 3 commits
  3. 23 Jul, 2015 3 commits
    • mbrandy's avatar
      PPC: Unify "runtime-style" IC functions with Runtime intrinsics · 1a57cede
      mbrandy authored
      Port bc8041dc
      
      Original commit message:
          Previous to this CL, ICs used a slightly different code idiom
          to get to C++ code from generated code than runtime intrinsics,
          using an IC_Utility class that in essence provided exactly
          the same functionality as Runtime::FunctionForId, but in its
          own quirky way.
      
          This CL unifies the two mechanisms, folding IC_Utility
          away by making all IC entry points in C++ code, e.g. IC
          miss handlers, full-fledged runtime intrinsics. This makes
          it possible to eliminate a bunch of ad-hoc declarations and
          adapters that the IC system had to needlessly re-invent.
      
          As a bonus and the original reason for this yak-shave:
          IC-related C++ runtime functions are now callable from
          TurboFan.
      
      R=danno@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1249433004
      
      Cr-Commit-Position: refs/heads/master@{#29821}
      1a57cede
    • mbrandy's avatar
      PPC: HydrogenCodeStubs consume stack arguments via descriptor. · f80e6869
      mbrandy authored
      Port 3334b830
      
      Original commit message;
          All of this is controlled by the CallDescriptor. It's simply the case
          that if you specify less registers than the function arity calls for,
          the rest are assumed to be on the stack.
      
          Bailout handlers accept these constant stack arguments too.
      
      R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1256563002
      
      Cr-Commit-Position: refs/heads/master@{#29820}
      f80e6869
    • mbrandy's avatar
      PPC: Eliminate redundant descriptor ElementTransitionAndStoreDescriptor. · 6594c09f
      mbrandy authored
      Port 26ffee2c
      
      Original commit message:
          It's just the same as StoreTransitionDescriptor.
      
      R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1246143004
      
      Cr-Commit-Position: refs/heads/master@{#29819}
      6594c09f
  4. 30 Jun, 2015 1 commit
  5. 25 Jun, 2015 1 commit
    • mbrandy's avatar
      PPC: Vector ICs: Like megamorphic keyed koads, use a dummy vector for stores · afb31199
      mbrandy authored
      Port 9e7af9ef
      
      Original commit message:
      It's useful for the megamorphic keyed store case to not require a
      vector and slot as input. Analogous to the load case, we have a dummy
      one-ic-slot vector to aid. Since the only kind of MISS is for
      megamorphic cache stub failures, we don't need the real vector.
      The reason is that megamorphic cache stub failures don't result in any
      change to the type feedback vector state.
      
      R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1212493002
      
      Cr-Commit-Position: refs/heads/master@{#29302}
      afb31199
  6. 24 Jun, 2015 1 commit
  7. 19 Jun, 2015 1 commit
  8. 18 Jun, 2015 3 commits
  9. 04 Jun, 2015 1 commit
    • mbrandy's avatar
      Add support for Embedded Constant Pools for PPC and Arm · eac7f046
      mbrandy authored
      Embed constant pools within their corresponding Code
      objects.
      
      This removes support for out-of-line constant pools in favor
      of the new approach -- the main advantage being that it
      eliminates the need to allocate and manage separate constant
      pool array objects.
      
      Currently supported on PPC and ARM.  Enabled by default on
      PPC only.
      
      This yields a 6% improvment in Octane on PPC64.
      
      R=bmeurer@chromium.org, rmcilroy@chromium.org, michael_dawson@ca.ibm.com
      BUG=chromium:478811
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1162993006
      
      Cr-Commit-Position: refs/heads/master@{#28801}
      eac7f046
  10. 03 Jun, 2015 1 commit
  11. 02 Jun, 2015 1 commit
    • mbrandy's avatar
      Add support for Embedded Constant Pools for PPC and Arm · a9404029
      mbrandy authored
      Embed constant pools within their corresponding Code
      objects.
      
      This removes support for out-of-line constant pools in favor
      of the new approach -- the main advantage being that it
      eliminates the need to allocate and manage separate constant
      pool array objects.
      
      Currently supported on PPC and ARM.  Enabled by default on
      PPC only.
      
      This yields a 6% improvment in Octane on PPC64.
      
      R=danno@chromium.org, svenpanne@chromium.org, bmeurer@chromium.org, rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
      BUG=chromium:478811
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1131783003
      
      Cr-Commit-Position: refs/heads/master@{#28770}
      a9404029
  12. 01 Jun, 2015 1 commit
  13. 28 May, 2015 1 commit
  14. 20 May, 2015 1 commit
  15. 15 May, 2015 1 commit
  16. 15 Apr, 2015 2 commits
  17. 24 Mar, 2015 1 commit
  18. 23 Mar, 2015 1 commit
  19. 18 Mar, 2015 1 commit
  20. 11 Mar, 2015 1 commit
    • michael_dawson's avatar
      Contribution of PowerPC port (continuation of 422063005) - uplevel · 45e4a789
      michael_dawson authored
      Contribution of PowerPC port (continuation of 422063005,
      817143002,866843003, and 901083004). This patch updates
      the ppc directories to make them current with changes in
      common code as of today.
      
      We had to exclude the test test-serialize/SerializeInternalReference
      until we agree on the right way to add those changes for PPC as
      outlined in the description in the google doc provided earlier.
      
      We also had to exclude a couple of other tests due to new
      failures seen since the last uplevel.  We excluded as opposed
      to waiting until we could investigate to maximize the chance
      of getting PPC compiling in the google repos before new
      breaking changes are made.
      
      I'll note that before applying any of our changes the
      mozilla part of quickcheck was already broken when using
      the lastest repo content so I had to run without that
      
      	modified:   src/compiler/ppc/code-generator-ppc.cc
      	modified:   src/compiler/ppc/instruction-codes-ppc.h
      	modified:   src/compiler/ppc/instruction-selector-ppc.cc
      	modified:   src/ic/ppc/handler-compiler-ppc.cc
      	modified:   src/ic/ppc/ic-compiler-ppc.cc
      	modified:   src/ppc/assembler-ppc-inl.h
      	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/codegen-ppc.cc
      	modified:   src/ppc/full-codegen-ppc.cc
      	modified:   src/ppc/lithium-codegen-ppc.cc
      	modified:   src/ppc/macro-assembler-ppc.cc
      	modified:   src/ppc/macro-assembler-ppc.h
      	modified:   test/cctest/cctest.status
      
      R=danno@chromium.org, svenpanne@chromium.org
      
      BUG=
      
      Review URL: https://codereview.chromium.org/994533004
      
      Cr-Commit-Position: refs/heads/master@{#27125}
      45e4a789
  21. 03 Mar, 2015 1 commit
    • michael_dawson's avatar
      Contribution of PowerPC port (continuation of 422063005) - currency · a3465838
      michael_dawson authored
      Contribution of PowerPC port (continuation of 422063005, 817143002,
      866843003, and 901083004. This patch updates the ppc directories
      to make them current with changes in common code, removes the
      optimization to use the ool constant pool, and excludes tests that
      don't pass under the ppc simulator given a 240s timeout.
      
      Subsequent patches will cover:
         - remaining optimizations for PPC
         - 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.
      
      	modified:   src/compiler/ppc/code-generator-ppc.cc
      	modified:   src/ic/ppc/handler-compiler-ppc.cc
      	modified:   src/ppc/assembler-ppc-inl.h
      	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/debug-ppc.cc
      	modified:   src/ppc/deoptimizer-ppc.cc
      	modified:   src/ppc/frames-ppc.cc
      	modified:   src/ppc/frames-ppc.h
      	modified:   src/ppc/full-codegen-ppc.cc
      	modified:   src/ppc/lithium-codegen-ppc.cc
      	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:   test/cctest/cctest.status
      	modified:   test/mjsunit/mjsunit.status
      
      R=danno@chromium.org, svenpanne@chromium.org
      
      BUG=
      
      Review URL: https://codereview.chromium.org/965823002
      
      Cr-Commit-Position: refs/heads/master@{#26951}
      a3465838
  22. 20 Feb, 2015 1 commit
    • michael_dawson's avatar
      Contribution of PowerPC port (continuation of 422063005) - PPC dir update 2 - mark2 · 0fb091fc
      michael_dawson authored
      Rebase to latest and use branch created by git new-branch to get a patch that
      only has the required changes.  Created new branch, reset to HEAD and then
      cherry picked across the changes
      
      	modified:   src/compiler/ppc/code-generator-ppc.cc
      	modified:   src/compiler/ppc/instruction-selector-ppc.cc
      	modified:   src/disassembler.cc
      	modified:   src/ic/ppc/handler-compiler-ppc.cc
      	modified:   src/ic/ppc/ic-compiler-ppc.cc
      	modified:   src/ppc/assembler-ppc-inl.h
      	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/deoptimizer-ppc.cc
      	modified:   src/ppc/disasm-ppc.cc
      	modified:   src/ppc/full-codegen-ppc.cc
      	modified:   src/ppc/macro-assembler-ppc.cc
      	modified:   src/serialize.cc
      
      R=danno@chromium.org, svenpanne@chromium.org
      
      Review URL: https://codereview.chromium.org/935383002
      
      Cr-Commit-Position: refs/heads/master@{#26762}
      0fb091fc
  23. 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
  24. 11 Nov, 2014 1 commit