1. 14 Jun, 2018 2 commits
    • Clemens Hammacher's avatar
      Reland "Introduce StdoutStream which prints to Android log or stdout" · 8e2e1257
      Clemens Hammacher authored
      This is a reland of 0909dbe3.
      Added missing V8_EXPORT_PRIVATE to AndroidLogStream.
      
      TBR=mstarzinger@chromium.org
      
      Original change's description:
      > Introduce StdoutStream which prints to Android log or stdout
      >
      > The often used construct {OFStream(stdout)} does not work on Android.
      > This CL introduces an {StdoutStream} which behaves exactly like
      > {OFStream(stdout)} on non-android platforms, and redirects to the
      > Android log on appropriate systems and configurations.
      >
      > R=mstarzinger@chromium.org
      >
      > Bug: v8:7820
      > Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b
      > Reviewed-on: https://chromium-review.googlesource.com/1088911
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53692}
      
      Bug: v8:7820
      Change-Id: I8164bad78a401dbe4246c9ffcacd050fe511ed58
      Reviewed-on: https://chromium-review.googlesource.com/1100636Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53733}
      8e2e1257
    • Michael Achenbach's avatar
      Revert "Introduce StdoutStream which prints to Android log or stdout" · d2e1620c
      Michael Achenbach authored
      This reverts commit 0909dbe3.
      
      Reason for revert: Blocks roll:
      https://chromium-review.googlesource.com/c/chromium/src/+/1099143
      
      Original change's description:
      > Introduce StdoutStream which prints to Android log or stdout
      > 
      > The often used construct {OFStream(stdout)} does not work on Android.
      > This CL introduces an {StdoutStream} which behaves exactly like
      > {OFStream(stdout)} on non-android platforms, and redirects to the
      > Android log on appropriate systems and configurations.
      > 
      > R=​mstarzinger@chromium.org
      > 
      > Bug: v8:7820
      > Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b
      > Reviewed-on: https://chromium-review.googlesource.com/1088911
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53692}
      
      TBR=mstarzinger@chromium.org,jarin@chromium.org,jgruber@chromium.org,clemensh@chromium.org,bmeurer@chromium.org
      
      Change-Id: Iadadd9a0df10dca0fad647138a83db50148e864d
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7820
      Reviewed-on: https://chromium-review.googlesource.com/1100635Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53725}
      d2e1620c
  2. 13 Jun, 2018 1 commit
  3. 06 Feb, 2018 1 commit
  4. 30 Nov, 2017 2 commits
  5. 14 Nov, 2017 1 commit
    • Camillo Bruni's avatar
      [RCS] Add explicit tests for function callbacks · 6526c6dd
      Camillo Bruni authored
      This CL adds a very crude unittest to check that RuntimeCallStats work
      correctly with api callbacks present. This currently doesn't check that
      all parent timers (namely FunctionCallback) are handled properly.
      
      Drive-by-Fix:
      - Use Microseconds for all RCS timer tests
      - Add TestWithContext::SetGlobalProperty helper
      - Use explicit v8:: prefix in test-utils.{h,cc}
      
      Change-Id: I054e78abca0b87a3b9e07d3b06cccdad15403bae
      Reviewed-on: https://chromium-review.googlesource.com/766429
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49348}
      6526c6dd
  6. 10 Nov, 2017 1 commit
  7. 02 Nov, 2017 1 commit
  8. 27 Oct, 2017 1 commit
  9. 23 Oct, 2017 1 commit
  10. 19 Oct, 2017 1 commit
  11. 18 Oct, 2017 1 commit
  12. 13 Oct, 2017 1 commit
  13. 10 Oct, 2017 1 commit
  14. 09 Oct, 2017 1 commit
  15. 05 Oct, 2017 1 commit
  16. 29 Aug, 2017 1 commit
    • Alexei Filippov's avatar
      [runtime-call-stats] Fix a long standing crash in RuntimeCallStats::Leave · ed7155c6
      Alexei Filippov authored
      Make sure there is a matching Leave for each Enter. Otherwise it ends up
      with a dead stack-allocated object in the timer chain.
      
      The patch incorporates the following fixes:
      - RuntimeCallTimerScope::RuntimeCallTimerScope(HeapObject* ...) did create a
        local object instead of calling an overloaded constructor.
      - InterpreterCompilationJob::ExecuteJobImpl made an implicit call to a default
        copy constructor of TimerScope which led to a single Enter was made per two
        Leaves.
      - InterpreterCompilationJob::FinalizeJobImpl was calling RuntimeCallTimerScope
        from a background thread, which caused timer scopes become unbalanced.
      - RuntimeCallTimerScope constructors were put into counters-inl.h which is not
        included into most usages of RCS. That led to a suboptimal performance.
      - Added thread check into Enter and Leave
      
      BUG=chromium:669329
      
      Change-Id: Ib5cff0e02e0b6c8b56a03ca3a5ebc37d93fcde55
      Reviewed-on: https://chromium-review.googlesource.com/637307Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Alexei Filippov <alph@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47666}
      ed7155c6
  17. 28 Aug, 2017 1 commit
  18. 25 Aug, 2017 1 commit
  19. 23 Aug, 2017 1 commit
    • Ross McIlroy's avatar
      Reland "[Compiler] Remove code aging support." · 8bf15bf1
      Ross McIlroy authored
      > This reverts commit 42d3d36b.
      > 
      > Original change's description:
      > > [Compiler] Remove code aging support.
      > > 
      > > Code aging is no longer supported by any remaining compilers now
      > > that full codegen has been removed. This CL removes all vestiges of
      > > code aging.
      > > 
      > > BUG=v8:6409
      > > 
      > > Change-Id: I945ebcc20c7c55120550c8ee36188bfa042ea65e
      > > Reviewed-on: https://chromium-review.googlesource.com/619153
      > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#47501}
      > 
      > TBR=ulan@chromium.org,rmcilroy@chromium.org,marja@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,rodolph.perfetta@arm.com
      > 
      > Change-Id: I9d8b2985e2d472697908270d93a35eb7ef9c88a8
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: v8:6409
      > Reviewed-on: https://chromium-review.googlesource.com/625998
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47506}
      
      TBR=ulan@chromium.org,rmcilroy@chromium.org,marja@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,rodolph.perfetta@arm.com
      
      Change-Id: I68785c6be7686e874b3848103e3a34483eaeb519
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6409
      Reviewed-on: https://chromium-review.googlesource.com/625919Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47535}
      8bf15bf1
  20. 22 Aug, 2017 2 commits
  21. 01 Aug, 2017 1 commit
  22. 27 Jun, 2017 1 commit
  23. 26 Jun, 2017 1 commit
  24. 23 Jun, 2017 2 commits
  25. 22 Jun, 2017 1 commit
    • kschimpf's avatar
      Fix use of history timers in background threads. · d4a10807
      kschimpf authored
      HistoryTimer's can't run in the background because they use a timer
      with a simple api of Start() and Stop(). This CL fixes this problem
      by building a base class TimedHistogram that doesn't have a timer.
      
      The class HistoryTimer is modified to use this base class so that
      uses that run on the foreground thread do not need to be modified.
      
      It also adds a new class TimedHistogramScope that defines the timer
      in this class. This allows the corresopnding TimedHistogram class to
      be type safe.
      
      BUG=v8:6361
      
      Review-Url: https://codereview.chromium.org/2929853003
      Cr-Commit-Position: refs/heads/master@{#46150}
      d4a10807
  26. 08 Jun, 2017 1 commit
    • kschimpf's avatar
      Localize counter class member functions. · f073a20b
      kschimpf authored
      This CL takes advantage of the fact that StatsCounter is now local to
      the Counters class. This includes:
      
      1) Method StatsTable::SetCreateHistogramFunction() was only called in
      one spot (in api.cc), which also called Counters::ResetHistograms()
      and Counters::InitializeHistorgram(). InitializeHistogram can be
      folded into Histogram.Reset().
      
      2) Since Histogram::Reset() now regenerats the histogram, we no longer
      need the field lookup_done_. Therefore there is no longer a race
      between updating ptr_ and lookup_done_, making the Histogram class
      thread safe.
      
      3) Made the constructors of several classes private (except for class
      Counters), minimizing the scope that they are used. When the couldn't
      be moved, add comment that they were public only for test cases.
      
      4) Removed the need for a mutex lock on StatsCounter::Reset(), since
      it is now guaranteed to only be called when
      StatsTable::SetCounterFunction() is called.
      
      BUG=v8:6361
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng
      
      Review-Url: https://codereview.chromium.org/2918703002
      Cr-Commit-Position: refs/heads/master@{#45791}
      f073a20b
  27. 29 May, 2017 1 commit
    • kschimpf's avatar
      Move StatsTable into the Counters class. · 2a9965bd
      kschimpf authored
      By moving StatsTable from class Isolate to class Counters, it make the
      class StatsTable thead safe. This is needed because these two classes
      call each other, and for background compilation, instances of the
      Counters class can persist longer that the corresponding Isolate it
      came from.
      
      It also removes unnecessary hops to the the Isolate, and checks if the
      StatsTable has been created, for these communications.
      
      BUG=v8:6361
      
      Review-Url: https://codereview.chromium.org/2906063002
      Cr-Commit-Position: refs/heads/master@{#45576}
      2a9965bd
  28. 24 May, 2017 1 commit
    • kschimpf's avatar
      Create a thread safe version of StatsCounters and use. · fbbc0ff2
      kschimpf authored
      Creates a new class StatsCounterThreadSafe to be used by counters that
      can be updated when compiling/decoding etc. are done using workers.
      
      Does this by using a mutex on all opreations.
      
      Also updates the StatsCounterThreadSafe constructor to force counter
      initialization, as well as method Reset(). In addition, whenever the
      method StatsTable::SetCounterFunction() is called (from the main
      thread), it forces counter initialization for all thread safe stats
      counters.
      
      BUG=v8:6361
      
      Review-Url: https://codereview.chromium.org/2887193002
      Cr-Commit-Position: refs/heads/master@{#45526}
      fbbc0ff2
  29. 10 Apr, 2017 3 commits
  30. 07 Apr, 2017 1 commit
  31. 29 Mar, 2017 1 commit
  32. 21 Mar, 2017 1 commit
    • jbroman's avatar
      Generate less code in v8::internal::Counters constructor · 53562fd9
      jbroman authored
      This saves 72 KiB (approximately 0.1%) of the Chrome APK size of for ARM/Android.
      
      In Counters, each similar group of counters generates a compact data structure,
      which a loop then iterates over, rather than having the full loop unrolled
      (though the compiler will automatically unroll small ones).
      
      In RuntimeCallStats, the compiler was not being clever enough to avoid
      initializing count_ and time_ to zero individually, even after the initialization
      of names was moved into a loop. As a result, RuntimeCallCounter was modified
      to have a non-initializing constructor for exclusive use by RuntimeCallStats,
      which explicitly initializes the counters in a loop. Since v8::base::TimeDelta
      does not support an uninitialized state, time_ was changed to be stored as
      int64_t microseconds internally, which generates the same code (it's the same
      representation as TimeDelta).
      
      BUG=v8:6119
      
      Review-Url: https://codereview.chromium.org/2759033002
      Cr-Commit-Position: refs/heads/master@{#43996}
      53562fd9
  33. 06 Dec, 2016 1 commit
  34. 02 Dec, 2016 1 commit