1. 04 Nov, 2016 1 commit
  2. 31 Oct, 2016 1 commit
  3. 18 Oct, 2016 1 commit
    • caitp's avatar
      [builtins] implement Array.prototype[@@iterator] in TFJ builtins · 86d0dd36
      caitp authored
      Implements the variations of CreateArrayIterator() in TFJ builtins
      (ArrayPrototypeValues, ArrayPrototypeEntries and ArrayPrototypeKeys), and
      provides two new Object types with numerous maps which identify certain
      behaviours, which will be useful for inlining.
      
      Removes src/js/array-iterator.js entirely
      
      Also adds support for printing Symbol literals inserted by the Parser during
      desugaring when FLAG_print_builtin_ast is set to true.
      
      BUG=v8:5388
      R=bmeurer@chromium.org, cbruni@chromium.org
      TBR=ulan@chromium.org
      
      Review-Url: https://codereview.chromium.org/2405253006
      Cr-Commit-Position: refs/heads/master@{#40373}
      86d0dd36
  4. 13 Oct, 2016 3 commits
  5. 12 Oct, 2016 2 commits
  6. 08 Oct, 2016 1 commit
  7. 07 Oct, 2016 1 commit
  8. 06 Oct, 2016 1 commit
    • mvstanton's avatar
      [Turbofan] Introduce OtherNumberConstant. · 978fe70b
      mvstanton authored
      With this CL, we devolve all Constants introduced as they are with an object handle into
      
      * Range - for integers
      * Nan
      * MinusZero
      * OtherNumberConstant - for doubles
      * HeapConstant
      
      We reduce the amount we have to inspect an object handle during optimization. Also, simplifications result. For example, you never have to check if a Range contains a HeapConstant.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2381523002
      Cr-Commit-Position: refs/heads/master@{#40041}
      978fe70b
  9. 28 Sep, 2016 1 commit
  10. 27 Sep, 2016 1 commit
  11. 26 Sep, 2016 2 commits
  12. 23 Sep, 2016 1 commit
  13. 22 Sep, 2016 1 commit
  14. 21 Sep, 2016 2 commits
  15. 16 Sep, 2016 1 commit
  16. 05 Sep, 2016 4 commits
  17. 01 Sep, 2016 1 commit
  18. 18 Aug, 2016 1 commit
    • 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
  19. 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
  20. 10 Aug, 2016 1 commit
  21. 23 Jun, 2016 1 commit
  22. 10 May, 2016 1 commit
  23. 12 Apr, 2016 1 commit
    • hlopko's avatar
      Use EmbedderHeapTracer instead of object grouping when embedder sets the heap tracer. · 6d1f7282
      hlopko authored
      When the embedder sets the heap tracer, V8, during marking, will collect all reachable wrappers, and then ask embedder to trace its heap. The embedder is expected to call PersistentBase::RegisterExternalReference with all wrappers reachable from the given ones. This fixed point iteration happens in MarkCompact::ProcessEphemeralMarking.
      
      For more efficient object visiting during marking, we need a special JS_API_OBJECT_TYPE (in tandem with already existing JS_SPECIAL_API_OBJECT_TYPE) and corresponding visitor (JSApiObjectVisitor).
      
      BUG=chromium:468240
      LOG=no
      
      Review URL: https://codereview.chromium.org/1844413002
      
      Cr-Commit-Position: refs/heads/master@{#35412}
      6d1f7282
  24. 06 Apr, 2016 1 commit
    • verwaest's avatar
      Use a dictionary-mode code cache on the map rather than a dual system. · d2eb555e
      verwaest authored
      The previous code cache system required stubs to be marked with a StubType, causing them to be inserted either into a fixed array or into a dictionary-mode code cache. This could cause names to be in both cases, and lookup would just find the "fast" one first. Given that we clear out the caches on each GC, the memory overhead shouldn't be too bad. Additionally, the dictionary itself should just stay linear for small arrays; that's faster anyway.
      
      This CL additionally deletes some dead IC code.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1846963002
      
      Cr-Commit-Position: refs/heads/master@{#35291}
      d2eb555e
  25. 16 Mar, 2016 1 commit
    • mstarzinger's avatar
      Introduce "optimized_out" oddball marker for compilers. · eee34dd5
      mstarzinger authored
      This introduces {optimized_out} as another Oddball kind to be used by
      optimizing compilers when values are being optimized away. The aim is
      providing visibility when this value leaks into the application domain.
      Currently this will lead to {undefined} values appearing which then
      silently propagate through the application. The special oddball can be
      identified easily as a bug and also the debugger can treat it specially
      when needed.
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1810483002
      
      Cr-Commit-Position: refs/heads/master@{#34817}
      eee34dd5
  26. 04 Mar, 2016 1 commit
  27. 03 Mar, 2016 1 commit
  28. 02 Mar, 2016 1 commit
    • verwaest's avatar
      Speed up the LookupIterator · 2608ecc7
      verwaest authored
      This introduces a new instance type and reorders the JSObject types so any type requiring special LookupIterator support can be identified with a single range check.
      
      In addition, it restructures the Next for better performance, avoiding unnecessary calls.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1751043002
      
      Cr-Commit-Position: refs/heads/master@{#34429}
      2608ecc7
  29. 27 Feb, 2016 1 commit
  30. 26 Feb, 2016 1 commit
  31. 24 Feb, 2016 1 commit
    • bmeurer's avatar
      [compiler] Drop the CompareNilIC. · 666aec03
      bmeurer authored
      Since both null and undefined are also marked as undetectable now, we
      can just test that bit instead of having the CompareNilIC try to collect
      feedback to speed up the general case (without the undetectable bit
      being used).
      
      Drive-by-fix: Update the type system to match the new handling of
      undetectable in the runtime.
      
      R=danno@chromium.org
      
      Review URL: https://codereview.chromium.org/1722193002
      
      Cr-Commit-Position: refs/heads/master@{#34237}
      666aec03
  32. 16 Feb, 2016 1 commit