1. 23 Jul, 2015 7 commits
  2. 22 Jul, 2015 12 commits
  3. 21 Jul, 2015 16 commits
  4. 20 Jul, 2015 5 commits
    • mbrandy's avatar
      PPC: Debugger: prepare code for debugging on a per-function basis. · 9c269424
      mbrandy authored
      Port 35c28ce0
      
      Original commit message:
          Prior to this patch, we enter a global debug mode whenever a break point
          is set. By entering this mode, all code is deoptimized and activated
          frames are recompiled and redirected to newly compiled debug code.
      
          After this patch, we only deoptimize/redirect for functions we want to
          debug. Trigger for this is Debug::EnsureDebugInfo, and having DebugInfo
          object attached to the SFI prevents optimization/inlining.
      
          The result is that we can have optimized code for functions without break
          points alongside functions that do have break points, which are not
          optimized.
      
      R=yangguo@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:4132
      LOG=N
      
      Review URL: https://codereview.chromium.org/1244823002
      
      Cr-Commit-Position: refs/heads/master@{#29764}
      9c269424
    • danno's avatar
      [turbofan]: Add a context relaxation Reducer · cca5e74a
      danno authored
      In many cases, the context that TurboFan's ASTGraphBuilder or subsequent
      reduction operations attaches to nodes does not need to be that exact
      context, but rather only needs to be one with the same native context,
      because it is used internally only to fetch the native context, e.g. for
      creating and throwing exceptions.
      
      This reducer recognizes common cases where the context that is specified
      for a node can be relaxed to a canonical, less specific one. This
      relaxed context can either be the enclosing function's context or a specific
      Module or Script context that is explicitly created within the function.
      
      This optimization is especially important for TurboFan-generated code stubs
      which use context specialization and inlining to generate optimal code.
      Without context relaxation, many extraneous moves are generated to pass
      exactly the right context to internal functions like ToNumber and
      AllocateHeapNumber, which only need the native context. By turning context
      relaxation on, these moves disappear because all these common internal
      context uses are unified to the context passed into the stub function, which
      is typically already in the correct context register and remains there for
      short stubs. It also eliminates the explicit use of a specialized context
      constant in the code stub in these cases, which could cause memory leaks.
      
      Review URL: https://codereview.chromium.org/1244583003
      
      Cr-Commit-Position: refs/heads/master@{#29763}
      cca5e74a
    • mstarzinger's avatar
      [turbofan] Move workaround with TDZ of 'this' variable. · d67e07f3
      mstarzinger authored
      Note that this just narrows the existing workaround for any 'this' in
      derived constructors (having a temporal dead zone) so that we can still
      recognize static cases correctly (i.e. when 'this' is provably outside
      or inside the temporal dead zone).
      
      R=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/1245653002
      
      Cr-Commit-Position: refs/heads/master@{#29762}
      d67e07f3
    • epertoso's avatar
      Takes the script offset into account when obtaining the column of the message. · 6a528510
      epertoso authored
      R=jochen@chromium.org,yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/1231663007
      
      Cr-Commit-Position: refs/heads/master@{#29761}
      6a528510
    • jochen's avatar
      Add support for adding an external and a tagged pointer · 4e263bc5
      jochen authored
      This will be used to compute the base pointer of the new unified
      representation for both on-heap and external typed arrays. The idea is
      that either the external or the tagged pointer is 0 (although in
      practice, if the tagged pointer is non-0, the external pointer will
      contain the offset from the start of the on-heap typed array to the data
      in the on-heap typed array).
      
      The HAdd is marked as depending on new-space promotion, as the tagged
      pointer might move during GC, and so the result of the addition needs to
      be recomputed.
      
      BUG=v8:3996
      R=jarin@chromium.org
      LOG=n
      
      Review URL: https://codereview.chromium.org/1244693002
      
      Cr-Commit-Position: refs/heads/master@{#29760}
      4e263bc5