1. 18 Jul, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Add support for eager/soft deoptimization reasons. · db635d5b
      bmeurer authored
      So far TurboFan wasn't adding the deoptimization reasons for eager/soft
      deoptimization exits that can be used by either the DevTools profiler or
      the --trace-deopt flag. This adds basic support for deopt reasons on
      Deoptimize, DeoptimizeIf and DeoptimizeUnless nodes and threads through
      the reasons to the code generation.
      
      Also moves the DeoptReason to it's own file (to resolve include cycles)
      and drops unused reasons.
      
      R=jarin@chromium.org
      
      Review-Url: https://codereview.chromium.org/2161543002
      Cr-Commit-Position: refs/heads/master@{#37823}
      db635d5b
  2. 30 Jun, 2016 1 commit
  3. 29 Jun, 2016 1 commit
  4. 27 Jun, 2016 2 commits
  5. 24 Jun, 2016 1 commit
  6. 13 May, 2016 1 commit
  7. 11 May, 2016 1 commit
    • mstarzinger's avatar
      [compiler] Pass inlining_id via relocation info. · 32049620
      mstarzinger authored
      This passes the inlining_id of deoptimization points via the relocation
      info instead of via a side-channel to the CPU profiler. This is one step
      towards deprecating the side-channel in question and avoid the need for
      performing a lookup of the return address of the deopt point.
      
      R=jarin@chromium.org
      
      Review-Url: https://codereview.chromium.org/1956693002
      Cr-Commit-Position: refs/heads/master@{#36177}
      32049620
  8. 09 May, 2016 1 commit
  9. 16 Mar, 2016 1 commit
    • mbrandy's avatar
      PPC: [wasm] Int64Lowering of Int64Sub. · eb0a2324
      mbrandy authored
      Port 33c08596
      
      Original commit message:
          Int64Sub is lowered to a new turbofan operator, Int32SubPair. The new
          operator takes 4 inputs an generates 2 outputs. The inputs are the low
          word of the left input, high word of the left input, the low word of the
          right input, and high word of the right input. The ouputs are the low
          and high word of the result of the subtraction.
      
          The implementation is very similar to the implementation of Int64Add.
      
      R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1812473002
      
      Cr-Commit-Position: refs/heads/master@{#34821}
      eb0a2324
  10. 15 Mar, 2016 1 commit
    • mbrandy's avatar
      PPC: [wasm] Int64Lowering of Int64Add. · 0548cf49
      mbrandy authored
      Port 1b230799
      
      Original commit message:
          Int64Add is lowered to a new turbofan operator, Int32AddPair. The new
          operator takes 4 inputs an generates 2 outputs. The inputs are the low
          word of the left input, high word of the left input, the low word of the
          right input, and high word of the right input. The ouputs are the low
          and high word of the result of the addition.
      
      R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1803113002
      
      Cr-Commit-Position: refs/heads/master@{#34797}
      0548cf49
  11. 02 Mar, 2016 1 commit
    • rmcilroy's avatar
      [Interpreter] Log source positions for bytecode arrays. · d5820158
      rmcilroy authored
      Add support to log source position offsets to the profiler. As part of
      this change PositionsRecorder is split into two, with the subset needed
      by log.cc moved into log.h and the remainder kept in assembler.h as
      AssemblerPositionsRecorder. The interpreter's source position table
      builder is updated to log positions when the profiler is active.
      
      BUG=v8:4766
      LOG=N
      
      Review URL: https://codereview.chromium.org/1737043002
      
      Cr-Commit-Position: refs/heads/master@{#34416}
      d5820158
  12. 22 Feb, 2016 1 commit
  13. 17 Feb, 2016 1 commit
  14. 20 Jan, 2016 1 commit
  15. 15 Jan, 2016 3 commits
    • mbrandy's avatar
      PPC: Fix simulator. · b099e861
      mbrandy authored
      R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1590423002
      
      Cr-Commit-Position: refs/heads/master@{#33343}
      b099e861
    • mbrandy's avatar
      PPC: [Interpreter] Add ForInPrepare runtime function which returns a ObjectTriple. · b2c246e0
      mbrandy authored
      Port 84f8a506
      
      Original commit message:
          Adds a ForInPrepare Runtime function which returns a triple of
          cache_type, cache_array and cache_length.
      
          This requires adding support to CEntryStub to call runtime functions
          which return a ObjectTriple - a struct containing three Object*
          pointers. Also did some cleanup of the x64 CEntryStub to avoid
          replicated code.
      
          Replaces the interpreter's use of the ad-hock InterpreterForInPrepare
          Runtime function with ForInPrepare in preparation for fixing deopt in
          BytecodeGraphBuilder for ForIn (which will be done in a followup CL).
      
      R=rmcilroy@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:4280
      LOG=N
      
      Review URL: https://codereview.chromium.org/1586153004
      
      Cr-Commit-Position: refs/heads/master@{#33342}
      b2c246e0
    • mstarzinger's avatar
      Move SourcePosition into separate header file. · 0aeaf0cb
      mstarzinger authored
      This splits out the SourcePosition class into a separate header file.
      Reason for this refactoring is that said class is mostly used by the
      Crankshaft compiler and not needed for all compilers. Also having the
      assembler depend on the class creates a dependency cycle.
      
      R=bmeurer@chromium.org
      
      Review URL: https://codereview.chromium.org/1581083009
      
      Cr-Commit-Position: refs/heads/master@{#33325}
      0aeaf0cb
  16. 14 Jan, 2016 1 commit
  17. 09 Dec, 2015 1 commit
    • mbrandy's avatar
      PPC64: [turbofan] Changed TruncateFloat64ToInt64 to TryTruncateFloat64ToInt64. · b9f92c15
      mbrandy authored
      Port 95844d94
      
      Original commit message:
          The new operator provides a second output which indicates whether the
          conversion from float64 to int64 was successful or not. The second
          output returns 0 if the conversion fails. If the conversion succeeds,
          then the second output is differs from 0.
      
          The second output can be ignored, which means that the operator can be
          used the same way as the original operator.
      
      R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1515603002
      
      Cr-Commit-Position: refs/heads/master@{#32724}
      b9f92c15
  18. 02 Dec, 2015 1 commit
  19. 27 Nov, 2015 1 commit
  20. 23 Nov, 2015 1 commit
  21. 17 Nov, 2015 1 commit
  22. 11 Nov, 2015 3 commits
  23. 10 Nov, 2015 1 commit
  24. 16 Oct, 2015 1 commit
  25. 07 Oct, 2015 1 commit
  26. 05 Oct, 2015 1 commit
    • mbrandy's avatar
      PPC: Remove register index/code indirection · f53fda63
      mbrandy authored
      Port 5cf1c0bc
      
      Original commit message:
          Previous to this patch, both the lithium and TurboFan register
          allocators tracked allocated registers by "indices", rather than
          the register codes used elsewhere in the runtime. This patch
          ensures that codes are used everywhere, and in the process cleans
          up a bunch of redundant code and adds more structure to how the
          set of allocatable registers is defined.
      
          Some highlights of changes:
      
          * TurboFan's RegisterConfiguration class moved to V8's top level
            so that it can be shared with Crankshaft.
          * Various "ToAllocationIndex" and related methods removed.
          * Code that can be easily shared between Register classes on
            different platforms is now shared.
          * The list of allocatable registers on each platform is declared
            as a list rather than implicitly via the register index <->
            code mapping.
      
      R=danno@chromium.org, bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1381383002
      
      Cr-Commit-Position: refs/heads/master@{#31114}
      f53fda63
  27. 30 Sep, 2015 1 commit
  28. 07 Aug, 2015 1 commit
  29. 30 Jul, 2015 2 commits
  30. 16 Jul, 2015 1 commit
  31. 14 Jul, 2015 2 commits
    • mbrandy's avatar
      PPC: Limit unbound label tracking to branch references. · 7b1d583d
      mbrandy authored
      Labels which are not associated with branches (e.g. labels which
      record the location of the embedded constant pool or jump tables)
      should not be tracked for the purpose of trampoline generation.
      
      This also improves management of the high water mark in the buffer
      which triggers trampoline generation such that it is reset whenever
      the number of tracked branches drops to zero.
      
      These changes should help minimize unnecessary trampoline and
      (subsequent) slow branch generation.
      
      R=dstence@us.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1237213002
      
      Cr-Commit-Position: refs/heads/master@{#29659}
      7b1d583d
    • yangguo's avatar
      Debugger: make debug code on-stack replacement more robust. · dec11f5e
      yangguo authored
      The new implemtation counts the number of calls (or continuations)
      before the PC to find the corresponding PC in the new code.
      
      R=mstarzinger@chromium.org
      BUG=chromium:507070
      LOG=N
      
      Review URL: https://codereview.chromium.org/1235603002
      
      Cr-Commit-Position: refs/heads/master@{#29636}
      dec11f5e
  32. 10 Jul, 2015 2 commits