1. 28 Aug, 2016 1 commit
  2. 27 Aug, 2016 1 commit
    • verwaest's avatar
      Revert of Always deserialize scope infos for parsing (patchset #3 id:40001 of... · f046cb95
      verwaest authored
      Revert of Always deserialize scope infos for parsing (patchset #3 id:40001 of https://codereview.chromium.org/2280933002/ )
      
      Reason for revert:
      Significantly tanks parsing. We probably should just keep on doing what we're doing: partially deserialize while resolving variables. If we do scope-info backed resolution after regular resolution based on remaining free variables, we can probably reduce the time-frame of that part. We soon after anyway need to sync with the main thread.
      
      Original issue's description:
      > Always deserialize scope infos for parsing
      >
      > When looking up variables in the ScopeInfo, we did a linear scan of the
      > ScopeInfo. Since that's unacceptably slow, a context slot cache was added
      > that would speed up repeated lookups of the same variable.
      >
      > Instead, just always fully convert the ScopeInfo into scopes, so they can
      > lookup variables without scanning the ScopeInfo.
      >
      > This also allows for removing the now unused ContextSlotCache.
      >
      > R=adamk@chromium.org,verwaest@chromium.org,marja@chromium.org
      > BUG=v8:5315
      >
      > Committed: https://crrev.com/81f824cad18e4dc873a8838943217eb9c9f0c1f0
      > Cr-Commit-Position: refs/heads/master@{#38953}
      
      TBR=adamk@chromium.org,marja@chromium.org,jochen@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:5315
      
      Review-Url: https://codereview.chromium.org/2287783003
      Cr-Commit-Position: refs/heads/master@{#38958}
      f046cb95
  3. 26 Aug, 2016 1 commit
    • jochen's avatar
      Always deserialize scope infos for parsing · 81f824ca
      jochen authored
      When looking up variables in the ScopeInfo, we did a linear scan of the
      ScopeInfo. Since that's unacceptably slow, a context slot cache was added
      that would speed up repeated lookups of the same variable.
      
      Instead, just always fully convert the ScopeInfo into scopes, so they can
      lookup variables without scanning the ScopeInfo.
      
      This also allows for removing the now unused ContextSlotCache.
      
      R=adamk@chromium.org,verwaest@chromium.org,marja@chromium.org
      BUG=v8:5315
      
      Review-Url: https://codereview.chromium.org/2280933002
      Cr-Commit-Position: refs/heads/master@{#38953}
      81f824ca
  4. 25 Aug, 2016 1 commit
  5. 24 Aug, 2016 2 commits
  6. 22 Aug, 2016 1 commit
  7. 19 Aug, 2016 1 commit
  8. 18 Aug, 2016 2 commits
    • marja's avatar
      include only stuff you need, part 1: ast.h, ast-value-factory.h. · 0a0285bf
      marja authored
      Rebuilding (after touching certain files) is crazy slow because
      includes are out of control.
      
      Fixing it:
      - Don't include stuff in headers unless necessary.
      - Include the stuff you need, not some other stuff that happens to include the
      stuff you need.
      
      BUG=v8:5294
      
      Review-Url: https://codereview.chromium.org/2246203005
      Cr-Commit-Position: refs/heads/master@{#38708}
      0a0285bf
    • jgruber's avatar
      Revert of Use a custom Struct for stack trace storage (patchset #4 id:60001 of... · 6b7493a4
      jgruber authored
      Revert of Use a custom Struct for stack trace storage (patchset #4 id:60001 of https://codereview.chromium.org/2230953002/ )
      
      Reason for revert:
      Performance regressions in Gameboy, Life, CodeLoad and others. See crbug.com/638210.
      
      Original issue's description:
      > Refactor data structures for simple stack traces
      >
      > Simple stack traces are captured through Isolate::CaptureSimpleStackTrace.
      > Captured frames are stored in a FixedArray, which in turn is stored as a
      > property (using a private symbol) on the error object itself. Actual formatting
      > of the textual stack trace is done lazily when the user reads the stack
      > property of the error object.
      >
      > This would involve many conversions back and forth between index-encoded raw
      > data (receiver, function, offset and code), JS CallSite objects, and C++
      > CallSite objects.
      >
      > This commit refactors the C++ CallSite class into a Struct class called
      > StackTraceFrame, which is the new single point of truth frame information.
      > Isolate::CaptureSimpleStackTrace stores an array of StackTraceFrames, and JS
      > CallSite objects (now created only when the user specifies custom stack trace
      > formatting through Error.prepareStackTrace) internally only store a reference
      > to a StackTraceFrame.
      >
      > BUG=
      >
      > Committed: https://crrev.com/b4c1aefb9c369f1a33a6ca94a5de9b06ea4bf5c4
      > Cr-Commit-Position: refs/heads/master@{#38645}
      
      TBR=yangguo@chromium.org
      # Not skipping CQ checks because original CL landed more than 1 days ago.
      BUG=
      
      Review-Url: https://codereview.chromium.org/2252783007
      Cr-Commit-Position: refs/heads/master@{#38700}
      6b7493a4
  9. 16 Aug, 2016 1 commit
    • jgruber's avatar
      Refactor data structures for simple stack traces · b4c1aefb
      jgruber authored
      Simple stack traces are captured through Isolate::CaptureSimpleStackTrace.
      Captured frames are stored in a FixedArray, which in turn is stored as a
      property (using a private symbol) on the error object itself. Actual formatting
      of the textual stack trace is done lazily when the user reads the stack
      property of the error object.
      
      This would involve many conversions back and forth between index-encoded raw
      data (receiver, function, offset and code), JS CallSite objects, and C++
      CallSite objects.
      
      This commit refactors the C++ CallSite class into a Struct class called
      StackTraceFrame, which is the new single point of truth frame information.
      Isolate::CaptureSimpleStackTrace stores an array of StackTraceFrames, and JS
      CallSite objects (now created only when the user specifies custom stack trace
      formatting through Error.prepareStackTrace) internally only store a reference
      to a StackTraceFrame.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2230953002
      Cr-Commit-Position: refs/heads/master@{#38645}
      b4c1aefb
  10. 15 Aug, 2016 1 commit
  11. 12 Aug, 2016 3 commits
  12. 07 Aug, 2016 1 commit
    • ulan's avatar
      Unify memory optimization modes and flags. · 6cebf7d9
      ulan authored
      This patch folds --optimize-for-size flag and check for low-memory device
      into Heap::ShouldOptimizeForMemoryUsage() predicate.
      
      It has the following side effects:
      - the heap growing factor for low-memory devices is capped at 1.3 (old value was 2.0).
      - the memory reducer will be more aggressive for low-memory devices.
      
      BUG=chromium:634900
      
      Review-Url: https://codereview.chromium.org/2218703004
      Cr-Commit-Position: refs/heads/master@{#38406}
      6cebf7d9
  13. 05 Aug, 2016 3 commits
  14. 04 Aug, 2016 2 commits
  15. 03 Aug, 2016 2 commits
    • jgruber's avatar
      Move NoSideEffectToString to C++ · d48170db
      jgruber authored
      BUG=
      
      Review-Url: https://codereview.chromium.org/2206573002
      Cr-Commit-Position: refs/heads/master@{#38289}
      d48170db
    • neis's avatar
      [debug] Don't notify listener of exceptions internal to a desugaring. · f813494f
      neis authored
      In the parser, we desugar yield* with the help of a regular yield. One
      particular implementation detail of this desugaring is that when the user calls
      the generator's throw method, this throws an exception that we immediately
      catch. This exception should not be visible to the user, but through Devtools'
      "Pause on Caught Exceptions" feature it used to be.
      
      This CL extends the type of catch predictions with a new value for such internal
      exceptions and uses that for the offending try-catch statement in yield*.  It
      instruments the debugger to _not_ trigger an exception event in that case.
      
      R=yangguo@chromium.org
      TBR=littledan@chromium.org
      BUG=v8:5218
      
      Review-Url: https://codereview.chromium.org/2203803002
      Cr-Commit-Position: refs/heads/master@{#38286}
      f813494f
  16. 02 Aug, 2016 1 commit
  17. 01 Aug, 2016 2 commits
  18. 26 Jul, 2016 2 commits
  19. 22 Jul, 2016 3 commits
  20. 21 Jul, 2016 4 commits
  21. 20 Jul, 2016 3 commits
  22. 19 Jul, 2016 2 commits
    • jgruber's avatar
      Move Error methods to C++ · 5742da05
      jgruber authored
      This ports a large portion of Error methods to C++,
      including the constructor, stack setter and getter,
      and Error.prototype.toString.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2142933003
      Cr-Commit-Position: refs/heads/master@{#37870}
      5742da05
    • ahaas's avatar
      [builtins] Introduce a builtin for Abort(). · 9be015a2
      ahaas authored
      Calling Runtime::kAbort through a builtin instead of the c-entry stub
      will allow to generate the call in a background thread, because a
      builtin provides its own handle, whereas a code stub does not.
      
      @v8-mips-ports: Could you take a special look at the padding that is
      done in MacroAssembler::Abort()?
      
      R=bmeurer@chromium.org, titzer@chromium.org, mstarzinger@chromium.org, v8-mips-ports@googlegroups.com, v8-arm-ports@googlegroups.com
      
      Review-Url: https://codereview.chromium.org/2156923002
      Cr-Commit-Position: refs/heads/master@{#37854}
      9be015a2