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

Unified Diff: runtime/vm/zone.cc

Issue 9325022: Decode the Dart message into a Dart_CMessage structure before calling the native port callback (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 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
« runtime/vm/zone.h ('K') | « runtime/vm/zone.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/zone.cc
diff --git a/runtime/vm/zone.cc b/runtime/vm/zone.cc
index 9afc8c12ffc5d944ffb622d8ad496627d78d4ffb..ee7720604b09dd45f1823fa54dded2f4b792a58f 100644
--- a/runtime/vm/zone.cc
+++ b/runtime/vm/zone.cc
@@ -216,6 +216,14 @@ void BaseZone::DumpZoneSizes() {
#endif
+Zone::Zone()
+ : StackResource(NULL),
+ zone_(),
+ handles_(),
+ previous_(NULL) {
+}
+
+
Zone::Zone(Isolate* isolate)
: StackResource(isolate),
zone_(),
@@ -230,12 +238,15 @@ Zone::Zone(Isolate* isolate)
Zone::~Zone() {
- ASSERT(isolate()->current_zone() == this);
- isolate()->set_current_zone(previous_);
+ if (isolate() != NULL) {
+ ASSERT(isolate()->current_zone() == this);
+ isolate()->set_current_zone(previous_);
+ }
}
void Zone::VisitObjectPointers(ObjectPointerVisitor* visitor) {
+ ASSERT(isolate() != NULL);
Zone* zone = this;
while (zone != NULL) {
zone->handles()->VisitObjectPointers(visitor);
« runtime/vm/zone.h ('K') | « runtime/vm/zone.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698