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

Unified Diff: runtime/vm/heap.h

Issue 2012973002: Background finalization. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 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
Index: runtime/vm/heap.h
diff --git a/runtime/vm/heap.h b/runtime/vm/heap.h
index 6131bf319bfc2d3fd048900c7c5bf52a75db3f6f..4b79801100e0aad4a9c8476e3a2d13118ee8a5ca 100644
--- a/runtime/vm/heap.h
+++ b/runtime/vm/heap.h
@@ -14,6 +14,7 @@
#include "vm/spaces.h"
#include "vm/verifier.h"
#include "vm/weak_table.h"
+#include "vm/thread_pool.h"
siva 2016/06/02 20:18:05 Why is thread_pool.h included here?
rmacnak 2016/06/03 01:08:31 Leftover, removed.
namespace dart {
@@ -24,6 +25,8 @@ class ObjectSet;
class ServiceEvent;
class TimelineEventScope;
class VirtualMemory;
+class FinalizablePersistentHandle;
siva 2016/06/02 20:18:05 Is this forward declaration necessary
+
class Heap {
public:
@@ -256,6 +259,10 @@ class Heap {
Monitor* barrier() const { return barrier_; }
Monitor* barrier_done() const { return barrier_done_; }
+ Monitor* finalization_tasks_lock() const { return finalization_tasks_lock_; }
+ intptr_t finalization_tasks() const { return finalization_tasks_; }
+ void set_finalization_tasks(intptr_t count) { finalization_tasks_ = count; }
+
bool ShouldPretenure(intptr_t class_id) const;
void SetupExternalPage(void* pointer, uword size, bool is_executable) {
@@ -353,6 +360,9 @@ class Heap {
Monitor* barrier_;
Monitor* barrier_done_;
+ Monitor* finalization_tasks_lock_;
+ intptr_t finalization_tasks_;
+
// GC stats collection.
GCStats stats_;

Powered by Google App Engine
This is Rietveld 408576698