Index: vm/raw_object.cc |
=================================================================== |
--- vm/raw_object.cc (revision 5501) |
+++ vm/raw_object.cc (working copy) |
@@ -137,6 +137,12 @@ |
instance_size = PcDescriptors::InstanceSize(num_descriptors); |
break; |
} |
+ case kStackmap: { |
+ const RawStackmap* map = reinterpret_cast<const RawStackmap*>(this); |
+ intptr_t size_in_bytes = Smi::Value(map->ptr()->bitmap_size_in_bytes_); |
+ instance_size = Stackmap::InstanceSize(size_in_bytes); |
+ break; |
+ } |
case kLocalVarDescriptors: { |
const RawLocalVarDescriptors* raw_descriptors = |
reinterpret_cast<const RawLocalVarDescriptors*>(this); |
@@ -372,6 +378,15 @@ |
} |
+intptr_t RawStackmap::VisitStackmapPointers(RawStackmap* raw_obj, |
+ ObjectPointerVisitor* visitor) { |
+ RawStackmap* obj = raw_obj->ptr(); |
+ intptr_t size_in_bytes = Smi::Value(obj->bitmap_size_in_bytes_); |
+ visitor->VisitPointers(raw_obj->from(), raw_obj->to()); |
+ return Stackmap::InstanceSize(size_in_bytes); |
+} |
+ |
+ |
intptr_t RawLocalVarDescriptors::VisitLocalVarDescriptorsPointers( |
RawLocalVarDescriptors* raw_obj, ObjectPointerVisitor* visitor) { |
RawLocalVarDescriptors* obj = raw_obj->ptr(); |
@@ -661,5 +676,4 @@ |
return JSRegExp::InstanceSize(length); |
} |
- |
} // namespace dart |