1. 16 Jul, 2015 1 commit
  2. 13 Jul, 2015 1 commit
  3. 30 Jun, 2015 1 commit
  4. 11 Jun, 2015 1 commit
  5. 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
  6. 03 Jun, 2015 1 commit
  7. 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
  8. 07 Apr, 2015 1 commit
  9. 25 Mar, 2015 1 commit
    • michael_dawson's avatar
      PPC: Switch full-codegen from StackHandlers to handler table. · 918ec32d
      michael_dawson authored
      Port 38a719f9
      
      Original commit message:
      This switches full-codegen to no longer push and pop StackHandler
      markers onto the operand stack, but relies on a range-based handler
      table instead. We only use StackHandlers in JSEntryStubs to mark the
      transition from C to JS code.
      
      Note that this makes deoptimization and OSR from within any try-block
      work out of the box, makes the non-exception paths faster and should
      overall be neutral on the memory footprint (pros).
      
      On the other hand it makes the exception paths slower and actually
      throwing and exception more expensive (cons).
      
      TEST=cctest/test-run-jsexceptions/DeoptTry
      
      R=yangguo@chromium.org, R=mbrandy@us.ibm.com
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1035533004
      
      Cr-Commit-Position: refs/heads/master@{#27453}
      918ec32d
  10. 19 Mar, 2015 1 commit
  11. 18 Mar, 2015 1 commit
  12. 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
  13. 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
  14. 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
  15. 11 Nov, 2014 1 commit
  16. 13 Oct, 2014 1 commit
  17. 24 Sep, 2014 1 commit
  18. 23 Sep, 2014 1 commit
  19. 10 Sep, 2014 1 commit
  20. 18 Aug, 2014 1 commit
  21. 04 Aug, 2014 1 commit
  22. 30 Jul, 2014 1 commit
  23. 21 Jul, 2014 1 commit
  24. 14 Jul, 2014 1 commit
  25. 03 Jul, 2014 1 commit
    • rmcilroy@chromium.org's avatar
      [Arm]: Enable use of extended out-of-line constant pool for Arm. · 40af47d4
      rmcilroy@chromium.org authored
       - Adds support to the Arm assembler to use extended constant pools.
       - Update (set_)target_address_at to support extended constant pool load
         updates.
       - Replace Operand::is_single_instruction with Operand::instructions_required
         Due to the fact that different constant pool load types require different
         numbers of instructions.
       - Various cleanups of ConstantPoolBuilder to cleaner integration of the
         extended constant pool building.
       - Update GetRelocatedValue such that offsets to both map_check and bool_load
         are explicitly provided, rather than location of bool_load being inferred
         based on map_check, since the code inbetween is no longer of a predictable
         size.
       - Update MacroAssembler::GetRelocatedValueLocation() to add support for
         getting a value from an extended constant pool entry.
       - Update Debug::SetAfterBreakTarget() to use target_address_from_return_address
         when checking for debug breaks at constant pool load points.
       - Change ConstantPoolIterateBody to iterate over both heap and code pointer in
         the small section before moving onto the extended section, to work around the
         requirement of the serializer that pointers are iterated in-order.
       - Increase old_pointer_space SizeOfFirstPage() to offset the fact that constant
         pools are now in the old pointer space (rather than code).
      
      R=ulan@chromium.org
      
      Review URL: https://codereview.chromium.org/356393003
      
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      40af47d4
  26. 01 Jul, 2014 1 commit
  27. 30 Jun, 2014 3 commits
  28. 13 Jun, 2014 1 commit
  29. 03 Jun, 2014 2 commits
  30. 30 May, 2014 1 commit
  31. 27 May, 2014 1 commit
  32. 26 May, 2014 3 commits
  33. 23 May, 2014 1 commit
  34. 22 May, 2014 2 commits