1. 22 Jul, 2015 11 commits
  2. 21 Jul, 2015 16 commits
  3. 20 Jul, 2015 13 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
    • epertoso's avatar
      Don't run the second pass of the pending phantom callbacks if the heap has been torn down. · df2d1ef9
      epertoso authored
      R=jochen@chromium.org
      BUG=511204
      LOG=y
      
      Review URL: https://codereview.chromium.org/1246603002
      
      Cr-Commit-Position: refs/heads/master@{#29759}
      df2d1ef9
    • yangguo's avatar
      Debugger: prepare code for debugging on a per-function basis. · 35c28ce0
      yangguo authored
      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=mstarzinger@chromium.org, ulan@chromium.org
      BUG=v8:4132
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1233073005
      
      Cr-Commit-Position: refs/heads/master@{#29758}
      35c28ce0
    • jochen's avatar
      Fix stack trace printing in d8 · 8019833d
      jochen authored
      R=yangguo@chromium.org
      BUG=chromium:511988
      LOG=n
      
      Review URL: https://codereview.chromium.org/1246643002
      
      Cr-Commit-Position: refs/heads/master@{#29757}
      8019833d
    • rossberg's avatar
      [strong] Keep language mode consistent · 2e040f54
      rossberg authored
      R=mstarzinger@chromium.org
      BUG=v8:4312
      LOG=N
      
      Review URL: https://codereview.chromium.org/1240273002
      
      Cr-Commit-Position: refs/heads/master@{#29756}
      2e040f54
    • mstarzinger's avatar
      Activate preserving of optimized code map accross GCs. · 1a8776db
      mstarzinger authored
      This enables --noflush-optimized-code-cache which allows preserving
      entries in the optimized code map accross GCs. This only applies to
      values being reachable through other paths.
      
      R=hpayer@chromium.org,hablich@chromium.org
      
      Review URL: https://codereview.chromium.org/1217863006
      
      Cr-Commit-Position: refs/heads/master@{#29755}
      1a8776db
    • mstarzinger's avatar
      Add function literal variable to declaration list. · ce6d2241
      mstarzinger authored
      This adds the implicit function variable for a function literal to the
      declarations list in scope analysis, instead of specially handling it
      throughout all back-ends.
      
      R=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/1245603003
      
      Cr-Commit-Position: refs/heads/master@{#29754}
      ce6d2241
    • mstarzinger's avatar
      [turbofan] Support handling of default super calls. · 37c2094e
      mstarzinger authored
      This implements the missing %DefaultConstructorCallSuper runtime
      functionality, thereby allowing all compilers to fall-back to that
      implementation when the appropriate intrinsic is missing.
      
      R=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/1240993002
      
      Cr-Commit-Position: refs/heads/master@{#29753}
      37c2094e
    • rossberg's avatar
      [es6] Check declaration conflicts between non-simple parameters and the function body · fa94ca3e
      rossberg authored
      Also, more tests for parameters containing functions or eval or both.
      
      R=adamk@chromium.org, caitpotter88@gmail.com, littledan@chromium.org
      BUG=v8:811
      LOG=N
      
      Review URL: https://codereview.chromium.org/1225413005
      
      Cr-Commit-Position: refs/heads/master@{#29752}
      fa94ca3e