1. 10 Mar, 2015 2 commits
    • bmeurer's avatar
      [turbofan] Use builtin inlining mechanism for Math.floor. · 1982186b
      bmeurer authored
      BUG=v8:3952
      LOG=n
      R=yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/997513002
      
      Cr-Commit-Position: refs/heads/master@{#27098}
      1982186b
    • bmeurer's avatar
      [turbofan] Unify Math.floor / Math.ceil optimization. · 022ea7e0
      bmeurer authored
      Provide an intrinsic %MathFloor / %_MathFloor that is used to optimize
      both Math.ceil and Math.floor, and use the JS inlining mechanism to
      inline Math.ceil into TurboFan code. Although we need to touch code
      outside of TurboFan to make this work, this does not affect the way we
      handle Math.ceil and/or Math.floor in CrankShaft, because for CrankShaft
      the old-style builtin function id based inlining still kicks in first.
      
      Once this solution is stabilized, we can use it for Math.floor as well.
      And once that is settled, we can establish it as the unified way to
      inline builtins, and get rid of the specialized builtin function id
      based inlining at some point.
      
      Note that "builtin" applies to basically every piece of internal
      JavaScript/intrinsics based code, so this also applies to the yet to be
      defined JavaScript based code stubs and handlers.
      
      BUG=v8:3953
      LOG=n
      R=yangguo@chromium.org,svenpanne@chromium.org
      
      Review URL: https://codereview.chromium.org/990963003
      
      Cr-Commit-Position: refs/heads/master@{#27086}
      022ea7e0
  2. 09 Mar, 2015 2 commits
  3. 06 Mar, 2015 1 commit
  4. 05 Mar, 2015 1 commit
  5. 03 Mar, 2015 1 commit
  6. 02 Mar, 2015 2 commits
  7. 27 Feb, 2015 1 commit
  8. 26 Feb, 2015 1 commit
  9. 25 Feb, 2015 2 commits
  10. 24 Feb, 2015 5 commits
  11. 23 Feb, 2015 1 commit
  12. 20 Feb, 2015 6 commits
  13. 19 Feb, 2015 1 commit
  14. 18 Feb, 2015 2 commits
  15. 17 Feb, 2015 1 commit
    • bmeurer's avatar
      [turbofan] Optimize certain chains of Branch into a Switch. · acd9c46c
      bmeurer authored
      This adds a new ControlFlowOptimizer that - for now - recognizes chains
      of Branches generated by the SwitchBuilder for a subset of javascript
      switches into Switch nodes. Those Switch nodes are then lowered to
      either table or lookup switches.
      
      Also rename Case to IfValue (and introduce IfDefault) for consistency.
      
      BUG=v8:3872
      LOG=n
      
      Review URL: https://codereview.chromium.org/931623002
      
      Cr-Commit-Position: refs/heads/master@{#26691}
      acd9c46c
  16. 12 Feb, 2015 2 commits
  17. 11 Feb, 2015 2 commits
    • mstarzinger's avatar
      Mark some common operator with Property::kNoThrow. · ec4305e4
      mstarzinger authored
      R=bmeurer@chromium.org
      TEST=unittests/CommonOperatorTest
      
      Review URL: https://codereview.chromium.org/912393002
      
      Cr-Commit-Position: refs/heads/master@{#26584}
      ec4305e4
    • svenpanne's avatar
      Removed most of the bogus CompilationInfo constructor calls. · d1b5aa07
      svenpanne authored
      A CompilationInfo constructed from just an Isolate* and a Zone* is in
      weird an inconsistent state (calling e.g. flags() on it will crash),
      so we need to avoid them. This CL removes almost all of them, the
      remaining 2 call sites in (for testing only) will be handled in a
      separate CL. Things which have been changed:
      
        * Linkage is basically a decorator for CallDescriptor now.
      
        * ChangeLowering doesn't need Linkage at all.
      
        * JSGenericLowering doesn't need a full CompilationInfo*, just a
          single flag.
      
        * JSContextSpecializer doesn't need the full CompilationInfo, just a
          Context.
      
        * Removed unused CompilationInfo from SimplifiedLoweringTester.
      
      This nicely decouples things already a bit more, but there's still
      work to do...
      
      Review URL: https://codereview.chromium.org/899803003
      
      Cr-Commit-Position: refs/heads/master@{#26580}
      d1b5aa07
  18. 10 Feb, 2015 1 commit
  19. 09 Feb, 2015 2 commits
  20. 06 Feb, 2015 1 commit
  21. 05 Feb, 2015 3 commits
    • 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
    • marja's avatar
      Add strong mode. · d21b9a14
      marja authored
      It doesn't do anything for now, but it implies strict mode. Added tests to
      test-parsing.cc to test that.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/898983002
      
      Cr-Commit-Position: refs/heads/master@{#26460}
      d21b9a14
    • Benedikt Meurer's avatar
      Revert "[turbofan] Make Factory::NewNumber() always return the minus_zero_value." · 9dff8185
      Benedikt Meurer authored
      This reverts commit f578d35b because
      (immutable) heap numbers are surprisingly mutable in V8. Someone else
      might want to cleanup the mess, otherwise we'll just keep it this way.
      
      TBR=jkummerow@chromium.org
      BUG=chromium:454894
      LOG=y
      
      Review URL: https://codereview.chromium.org/898973003
      
      Cr-Commit-Position: refs/heads/master@{#26447}
      9dff8185