Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(521)

Unified Diff: runtime/vm/thread.h

Issue 2610253002: Added isolate + thread high watermark tracking to Observatory (Closed)
Patch Set: Converted uint values to uintptr_t Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/isolate.cc ('k') | runtime/vm/thread.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/thread.h
diff --git a/runtime/vm/thread.h b/runtime/vm/thread.h
index 576d57c19d1e637908acb34d5fd4a7c721f421cb..d82c483eeb930c04d2b777e785858faf24a20638 100644
--- a/runtime/vm/thread.h
+++ b/runtime/vm/thread.h
@@ -264,6 +264,22 @@ class Thread : public BaseThread {
bool ZoneIsOwnedByThread(Zone* zone) const;
+ void IncrementMemoryUsage(uintptr_t value) {
+ current_thread_memory_ += value;
+ if (current_thread_memory_ > memory_high_watermark_) {
+ memory_high_watermark_ = current_thread_memory_;
+ }
+ }
+
+ void DecrementMemoryUsage(uintptr_t value) {
+ ASSERT(current_thread_memory_ >= value);
+ current_thread_memory_ -= value;
+ }
+
+ uintptr_t memory_high_watermark() const { return memory_high_watermark_; }
+
+ void ResetHighWatermark() { memory_high_watermark_ = current_thread_memory_; }
+
// The reusable api local scope for this thread.
ApiLocalScope* api_reusable_scope() const { return api_reusable_scope_; }
void set_api_reusable_scope(ApiLocalScope* value) {
@@ -679,6 +695,8 @@ class Thread : public BaseThread {
OSThread* os_thread_;
Monitor* thread_lock_;
Zone* zone_;
+ uintptr_t current_thread_memory_;
+ uintptr_t memory_high_watermark_;
ApiLocalScope* api_reusable_scope_;
ApiLocalScope* api_top_scope_;
StackResource* top_resource_;
« no previous file with comments | « runtime/vm/isolate.cc ('k') | runtime/vm/thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698