1. 30 Mar, 2016 1 commit
    • mythria's avatar
      [Interpreter] Adds support to fetch return value on break at return. · b82720df
      mythria authored
      Debugger fetches the return value of a function when we break at return.
      Interpreter holds the return value in accumulator. This is not stored in a
      specified location on stack and hence it is not possible to look it up from
      stack similar to full-codegen or optimized frames. This cl adds support to
      store the value of accumulator on debug breaks. The value of accumulator is
      passed to the runtime function and is then stored in thread local data.
      
      Also changes full-codegen implementation to match that of ignition.
      The return value from full-codegen is also stored in thread local data.
      The return value is fetched directly thread local data instead of
      finding it by iterating over frames.
      
      BUG=v8:4280, v8:4690
      LOG=N
      
      Review URL: https://codereview.chromium.org/1842683002
      
      Cr-Commit-Position: refs/heads/master@{#35127}
      b82720df
  2. 24 Mar, 2016 2 commits
    • machenbach's avatar
      Revert of [Interpreter] Adds support to fetch return value on break at return.... · 25d2b247
      machenbach authored
      Revert of [Interpreter] Adds support to fetch return value on break at return. (patchset #9 id:160001 of https://codereview.chromium.org/1818873003/ )
      
      Reason for revert:
      [Sheriff] Seems to break nosnap debug:
      https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/6019
      
      Original issue's description:
      > [Interpreter] Adds support to fetch return value on break at return.
      >
      > Debugger fetches the return value of a function when we break at return.
      > Interpreter holds the return value in accumulator. This is not stored in a
      > specified location on stack and hence it is not possible to look it up from
      > stack similar to full-codegen or optimized frames. This cl adds support to
      > store the value of accumulator on debug breaks. The value of accumulator is
      > passed to the runtime function and is then stored in thread local data.
      >
      > Also changes full-codegen implementation to match that of ignition.
      > The return value from full-codegen is also stored in thread local data.
      > The return value is fetched directly thread local data instead of
      > finding it by iterating over frames.
      >
      > BUG=v8:4280, v8:4690
      > LOG=N
      >
      > Committed: https://crrev.com/fb65527b75754bcf3b173f16f5d0b04a1c6d9b99
      > Cr-Commit-Position: refs/heads/master@{#35060}
      
      TBR=rmcilroy@chromium.org,yangguo@chromium.org,weiliang.lin@intel.com,balazs.kilvady@imgtec.com,jyan@ca.ibm.com,mythria@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4280, v8:4690
      
      Review URL: https://codereview.chromium.org/1834733002
      
      Cr-Commit-Position: refs/heads/master@{#35065}
      25d2b247
    • mythria's avatar
      [Interpreter] Adds support to fetch return value on break at return. · fb65527b
      mythria authored
      Debugger fetches the return value of a function when we break at return.
      Interpreter holds the return value in accumulator. This is not stored in a
      specified location on stack and hence it is not possible to look it up from
      stack similar to full-codegen or optimized frames. This cl adds support to
      store the value of accumulator on debug breaks. The value of accumulator is
      passed to the runtime function and is then stored in thread local data.
      
      Also changes full-codegen implementation to match that of ignition.
      The return value from full-codegen is also stored in thread local data.
      The return value is fetched directly thread local data instead of
      finding it by iterating over frames.
      
      BUG=v8:4280, v8:4690
      LOG=N
      
      Review URL: https://codereview.chromium.org/1818873003
      
      Cr-Commit-Position: refs/heads/master@{#35060}
      fb65527b
  3. 08 Mar, 2016 1 commit
    • danno's avatar
      [runtime] Unify and simplify how frames are marked · 9dcd0857
      danno authored
      Before this CL, various code stubs used different techniques
      for marking their frames to enable stack-crawling and other
      access to data in the frame. All of them were based on a abuse
      of the "standard" frame representation, e.g. storing the a
      context pointer immediately below the frame's fp, and a
      function pointer after that. Although functional, this approach
      tends to make stubs and builtins do an awkward, unnecessary
      dance to appear like standard frames, even if they have
      nothing to do with JavaScript execution.
      
      This CL attempts to improve this by:
      
      * Ensuring that there are only two fundamentally different
        types of frames, a "standard" frame and a "typed" frame.
        Standard frames, as before, contain both a context and
        function pointer. Typed frames contain only a minimum
        of a smi marker in the position immediately below the fp
        where the context is in standard frames.
      * Only interpreted, full codegen, and optimized Crankshaft and
        TurboFan JavaScript frames use the "standard" format. All
        other frames use the type frame format with an explicit
        marker.
      * Typed frames can contain one or more values below the
        type marker. There is new magic macro machinery in
        frames.h that simplifies defining the offsets of these fields
        in typed frames.
      * A new flag in the CallDescriptor enables specifying whether
        a frame is a standard frame or a typed frame. Secondary
        register location spilling is now only enabled for standard
        frames.
      * A zillion places in the code have been updated to deal with
        the fact that most code stubs and internal frames use the
        typed frame format. This includes changes in the
        deoptimizer, debugger, and liveedit.
      * StandardFrameConstants::kMarkerOffset is deprecated,
        (CommonFrameConstants::kContextOrFrameTypeOffset
        and StandardFrameConstants::kFrameOffset are now used
        in its stead).
      
      LOG=N
      
      Review URL: https://codereview.chromium.org/1696043002
      
      Cr-Commit-Position: refs/heads/master@{#34571}
      9dcd0857
  4. 10 Feb, 2016 1 commit
  5. 04 Dec, 2015 3 commits
  6. 03 Dec, 2015 5 commits
  7. 02 Dec, 2015 1 commit
  8. 27 Nov, 2015 1 commit
  9. 12 Aug, 2015 2 commits
  10. 31 Jul, 2015 1 commit