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

Unified Diff: runtime/vm/scavenger.h

Issue 9655011: Implement prologue weak persistent handles. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: final revision Created 8 years, 9 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/pages.cc ('k') | runtime/vm/scavenger.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/scavenger.h
diff --git a/runtime/vm/scavenger.h b/runtime/vm/scavenger.h
index fc9b6e64d823e0e79525e14f61801d44d2ac9118..ce60bcc809d195ba0b7e8ba647b6c8153d6ce575 100644
--- a/runtime/vm/scavenger.h
+++ b/runtime/vm/scavenger.h
@@ -60,6 +60,7 @@ class Scavenger {
// Collect the garbage in this scavenger.
void Scavenge();
+ void Scavenge(bool invoke_api_callbacks);
// Accessors to generate code for inlined allocation.
uword* TopAddress() { return &top_; }
@@ -73,11 +74,15 @@ class Scavenger {
private:
uword FirstObjectStart() const { return to_->start() | object_alignment_; }
- void Prologue();
- void IterateRoots(Isolate* isolate, ObjectPointerVisitor* visitor);
- void IterateWeakRoots(Isolate* isolate, HandleVisitor* visitor);
+ void Prologue(Isolate* isolate, bool invoke_api_callbacks);
+ void IterateRoots(Isolate* isolate,
+ ObjectPointerVisitor* visitor,
+ bool visit_prologue_weak_persistent_handles);
+ void IterateWeakRoots(Isolate* isolate,
+ HandleVisitor* visitor,
+ bool visit_prologue_weak_persistent_handles);
void ProcessToSpace(ObjectPointerVisitor* visitor);
- void Epilogue();
+ void Epilogue(Isolate* isolate, bool invoke_api_callbacks);
// During a scavenge we need to remember the promoted objects.
// This is implemented as a stack of objects at the end of the to space. As
« no previous file with comments | « runtime/vm/pages.cc ('k') | runtime/vm/scavenger.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698