1. 11 May, 2016 1 commit
  2. 06 Apr, 2016 1 commit
    • cbruni's avatar
      [runtime] reduce runtime function and builtins overhead · ceb14f8c
      cbruni authored
      All the counters, trace events and runtime call stats roughly create a 30%
      overhead when calling into the runtime. This CL factors out the counters into
      separate non-inlined functions. This way we can reduce the overhead to a
      minimum and still have some useful stats without a compile-time flag.
      
      BUG=chromium:596055
      LOG=n
      
      Review URL: https://codereview.chromium.org/1868513002
      
      Cr-Commit-Position: refs/heads/master@{#35308}
      ceb14f8c
  3. 11 Mar, 2016 1 commit
  4. 10 Mar, 2016 1 commit
  5. 09 Mar, 2016 1 commit
  6. 08 Mar, 2016 1 commit
  7. 23 Feb, 2016 1 commit
    • cbruni's avatar
      [counters] Making runtime counters reentrant. · 5e468666
      cbruni authored
      So far counters did not work when they were reentrant and thus would lead to
      wrong bookkeeping of the counter stack. Using a separate stack-allocated linked
      list to track the timer stack solves this issue. This is a temporary workaround
      with the limitations of the counter system in mind. Eventually we will move to
      the trace-based system for these kind of statistics.
      
      BUG=v8:4770
      LOG=n
      
      Review URL: https://codereview.chromium.org/1695733002
      
      Cr-Commit-Position: refs/heads/master@{#34208}
      5e468666
  8. 11 Feb, 2016 4 commits
  9. 09 Feb, 2016 3 commits
  10. 08 Feb, 2016 2 commits
  11. 22 Jan, 2016 2 commits
    • jarin's avatar
      Runtime call counters and timers. · 747bd6f2
      jarin authored
      In d8, run with --runtime-call-stats and it will output the stats when d8 finishes.
      
      In Chrome, run the following: (only on trusted code, this punches *massive* security hole into Chrome)
      
      chrome --js-flags="--runtime-call-stats --allow-natives-syntax"
      
      To get the stats in the console, just run
      
      console.log(%GetAndResetRuntimeCallStats());
      
      To output stats every second:
      
      setInterval(function() { console.log(%GetAndResetRuntimeCallStats()); }, 1000)
      
      Review URL: https://codereview.chromium.org/1615943002
      
      Cr-Commit-Position: refs/heads/master@{#33462}
      747bd6f2
    • ishell's avatar
      Array length reduction should throw in strict mode if it can't delete an element. · ed2be747
      ishell authored
      When accessor getter callback is called the v8::PropertyCallbackInfo::ShouldThrowOnError() is always false, since according to ES6 there's no difference between strict and non-strict property loads. For the setter case the v8::PropertyCallbackInfo::ShouldThrowOnError() returns true if the property is set in strict context.
      
      Interceptors follow same idea: for getter, enumerator and query callbacks the v8::PropertyCallbackInfo::ShouldThrowOnError() is always false, and for setter and deleter callback the v8::PropertyCallbackInfo::ShouldThrowOnError() returns true in strict context.
      
      This CL also cleans up the CallApiGetterStub and removes bogus asserts from [arm] Push(reg1, reg2, ..., regN) that prevented from pushing a set of registers containing duplicates.
      
      BUG=v8:4267
      LOG=Y
      
      Committed: https://crrev.com/1d3e837fcbbd9d9fd5e72dfe85dfd47c025f3c9f
      Cr-Commit-Position: refs/heads/master@{#33438}
      
      Review URL: https://codereview.chromium.org/1587073003
      
      Cr-Commit-Position: refs/heads/master@{#33461}
      ed2be747
  12. 21 Jan, 2016 2 commits
    • machenbach's avatar
      Revert of Array length reduction should throw in strict mode if it can't... · 575e90c1
      machenbach authored
      Revert of Array length reduction should throw in strict mode if it can't delete an element. (patchset #7 id:220001 of https://codereview.chromium.org/1587073003/ )
      
      Reason for revert:
      [Sheriff] Breaks layout tests. Please fix upstream.
      https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/4077
      
      Original issue's description:
      > Array length reduction should throw in strict mode if it can't delete an element.
      >
      > When accessor getter callback is called the v8::PropertyCallbackInfo::ShouldThrowOnError() is always false, since according to ES6 there's no difference between strict and non-strict property loads. For the setter case the v8::PropertyCallbackInfo::ShouldThrowOnError() returns true if the property is set in strict context.
      >
      > Interceptors follow same idea: for getter, enumerator and query callbacks the v8::PropertyCallbackInfo::ShouldThrowOnError() is always false, and for setter and deleter callback the v8::PropertyCallbackInfo::ShouldThrowOnError() returns true in strict context.
      >
      > This CL also cleans up the CallApiGetterStub and removes bogus asserts from [arm] Push(reg1, reg2, ..., regN) that prevented from pushing a set of registers containing duplicates.
      >
      > BUG=v8:4267
      > LOG=Y
      >
      > Committed: https://crrev.com/1d3e837fcbbd9d9fd5e72dfe85dfd47c025f3c9f
      > Cr-Commit-Position: refs/heads/master@{#33438}
      
      TBR=verwaest@chromium.org,ishell@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4267
      
      Review URL: https://codereview.chromium.org/1611313003
      
      Cr-Commit-Position: refs/heads/master@{#33444}
      575e90c1
    • ishell's avatar
      Array length reduction should throw in strict mode if it can't delete an element. · 1d3e837f
      ishell authored
      When accessor getter callback is called the v8::PropertyCallbackInfo::ShouldThrowOnError() is always false, since according to ES6 there's no difference between strict and non-strict property loads. For the setter case the v8::PropertyCallbackInfo::ShouldThrowOnError() returns true if the property is set in strict context.
      
      Interceptors follow same idea: for getter, enumerator and query callbacks the v8::PropertyCallbackInfo::ShouldThrowOnError() is always false, and for setter and deleter callback the v8::PropertyCallbackInfo::ShouldThrowOnError() returns true in strict context.
      
      This CL also cleans up the CallApiGetterStub and removes bogus asserts from [arm] Push(reg1, reg2, ..., regN) that prevented from pushing a set of registers containing duplicates.
      
      BUG=v8:4267
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1587073003
      
      Cr-Commit-Position: refs/heads/master@{#33438}
      1d3e837f
  13. 15 Jan, 2016 1 commit
    • rmcilroy's avatar
      [Interpreter] Add ForInPrepare runtime function which returns a ObjectTriple. · 84f8a506
      rmcilroy authored
      Adds a ForInPrepare Runtime function which returns a triple of
      cache_type, cache_array and cache_length.
      
      This requires adding support to CEntryStub to call runtime functions
      which return a ObjectTriple - a struct containing three Object*
      pointers. Also did some cleanup of the x64 CEntryStub to avoid
      replicated code.
      
      Replaces the interpreter's use of the ad-hock InterpreterForInPrepare
      Runtime function with ForInPrepare in preparation for fixing deopt in
      BytecodeGraphBuilder for ForIn (which will be done in a followup CL).
      
      MIPS port contributed by Balazs Kilvady <balazs.kilvady@imgtec.com>.
      
      BUG=v8:4280
      LOG=N
      
      Review URL: https://codereview.chromium.org/1576093004
      
      Cr-Commit-Position: refs/heads/master@{#33334}
      84f8a506
  14. 11 Dec, 2015 1 commit
  15. 10 Dec, 2015 1 commit
  16. 08 Oct, 2015 2 commits
  17. 07 Oct, 2015 1 commit
  18. 05 Oct, 2015 2 commits
  19. 30 Sep, 2015 1 commit
  20. 04 Aug, 2015 1 commit
  21. 23 Jul, 2015 1 commit
    • danno's avatar
      Unify "runtime-style" IC functions with Runtime intrinsics · bc8041dc
      danno authored
      Previous to this CL, ICs used a slightly different code idiom
      to get to C++ code from generated code than runtime intrinsics,
      using an IC_Utility class that in essence provided exactly
      the same functionality as Runtime::FunctionForId, but in its
      own quirky way.
      
      This CL unifies the two mechanisms, folding IC_Utility
      away by making all IC entry points in C++ code, e.g. IC
      miss handlers, full-fledged runtime intrinsics. This makes
      it possible to eliminate a bunch of ad-hoc declarations and
      adapters that the IC system had to needlessly re-invent.
      
      As a bonus and the original reason for this yak-shave:
      IC-related C++ runtime functions are now callable from
      TurboFan.
      
      Review URL: https://codereview.chromium.org/1248303002
      
      Cr-Commit-Position: refs/heads/master@{#29811}
      bc8041dc
  22. 06 Jul, 2015 1 commit
  23. 23 Jan, 2015 1 commit
  24. 27 Nov, 2014 1 commit
  25. 20 Aug, 2014 1 commit
    • wingo@igalia.com's avatar
      Support symbol-named properties in API · e929f5fe
      wingo@igalia.com authored
      Add new "Name" type to API that is a supertype of Symbol and String.
      
      Object::SetDeclaredAccessor, Object::SetAccessorProperty, Template::Set,
      Template::SetAccessorProperty, and Template::SetDeclaredAccessor now
      take a Name as the property name instead of a String.
      
      Add Object::SetAccessor, Template::SetNativeDataProperty, and
      ObjectTemplate::SetAccessor overloads that can define accessors for
      symbol-named properties.
      
      R=dcarney@chromium.org, rossberg@chromium.org
      BUG=v8:3394
      TEST=cctest/test-api/TestSymbolProperties
      LOG=Y
      
      Review URL: https://codereview.chromium.org/459413002
      
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      e929f5fe
  26. 04 Aug, 2014 1 commit
  27. 07 Jul, 2014 1 commit
  28. 06 Jun, 2014 1 commit
  29. 03 Jun, 2014 1 commit
  30. 28 May, 2014 1 commit