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

Unified Diff: runtime/vm/raw_object.cc

Issue 10830131: Adding deopt info to code object. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 5 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/raw_object.cc
===================================================================
--- runtime/vm/raw_object.cc (revision 10150)
+++ runtime/vm/raw_object.cc (working copy)
@@ -230,6 +230,13 @@
instance_size = ExceptionHandlers::InstanceSize(num_handlers);
break;
}
+ case kDeoptInfo: {
+ const RawDeoptInfo* raw_handlers =
+ reinterpret_cast<const RawDeoptInfo*>(this);
+ intptr_t num_handlers = Smi::Value(raw_handlers->ptr()->length_);
siva 2012/08/02 16:57:37 num_handlers => num_entries ? as these are not exc
srdjan 2012/08/02 17:51:44 Done.
+ instance_size = DeoptInfo::InstanceSize(num_handlers);
+ break;
+ }
case kJSRegExp: {
const RawJSRegExp* raw_jsregexp =
reinterpret_cast<const RawJSRegExp*>(this);
@@ -508,6 +515,15 @@
}
+intptr_t RawDeoptInfo::VisitDeoptInfoPointers(
+ RawDeoptInfo* raw_obj, ObjectPointerVisitor* visitor) {
+ RawDeoptInfo* obj = raw_obj->ptr();
+ intptr_t length = Smi::Value(obj->length_);
+ visitor->VisitPointer(reinterpret_cast<RawObject**>(&obj->length_));
+ return DeoptInfo::InstanceSize(length);
+}
+
+
intptr_t RawContext::VisitContextPointers(RawContext* raw_obj,
ObjectPointerVisitor* visitor) {
intptr_t num_variables = raw_obj->ptr()->num_variables_;

Powered by Google App Engine
This is Rietveld 408576698