| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/raw_object.h" | 5 #include "vm/raw_object.h" |
| 6 | 6 |
| 7 #include "vm/freelist.h" | 7 #include "vm/freelist.h" |
| 8 #include "vm/isolate.h" | 8 #include "vm/isolate.h" |
| 9 #include "vm/object.h" | 9 #include "vm/object.h" |
| 10 #include "vm/visitor.h" | 10 #include "vm/visitor.h" |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 instance_size = TypeArguments::InstanceSize(array_length); | 130 instance_size = TypeArguments::InstanceSize(array_length); |
| 131 break; | 131 break; |
| 132 } | 132 } |
| 133 case kPcDescriptors: { | 133 case kPcDescriptors: { |
| 134 const RawPcDescriptors* raw_descriptors = | 134 const RawPcDescriptors* raw_descriptors = |
| 135 reinterpret_cast<const RawPcDescriptors*>(this); | 135 reinterpret_cast<const RawPcDescriptors*>(this); |
| 136 intptr_t num_descriptors = Smi::Value(raw_descriptors->ptr()->length_); | 136 intptr_t num_descriptors = Smi::Value(raw_descriptors->ptr()->length_); |
| 137 instance_size = PcDescriptors::InstanceSize(num_descriptors); | 137 instance_size = PcDescriptors::InstanceSize(num_descriptors); |
| 138 break; | 138 break; |
| 139 } | 139 } |
| 140 case kStackmap: { |
| 141 const RawStackmap* map = reinterpret_cast<const RawStackmap*>(this); |
| 142 intptr_t size_in_bytes = Smi::Value(map->ptr()->bitmap_size_in_bytes_); |
| 143 instance_size = Stackmap::InstanceSize(size_in_bytes); |
| 144 break; |
| 145 } |
| 140 case kLocalVarDescriptors: { | 146 case kLocalVarDescriptors: { |
| 141 const RawLocalVarDescriptors* raw_descriptors = | 147 const RawLocalVarDescriptors* raw_descriptors = |
| 142 reinterpret_cast<const RawLocalVarDescriptors*>(this); | 148 reinterpret_cast<const RawLocalVarDescriptors*>(this); |
| 143 intptr_t num_descriptors = raw_descriptors->ptr()->length_; | 149 intptr_t num_descriptors = raw_descriptors->ptr()->length_; |
| 144 instance_size = LocalVarDescriptors::InstanceSize(num_descriptors); | 150 instance_size = LocalVarDescriptors::InstanceSize(num_descriptors); |
| 145 break; | 151 break; |
| 146 } | 152 } |
| 147 case kExceptionHandlers: { | 153 case kExceptionHandlers: { |
| 148 const RawExceptionHandlers* raw_handlers = | 154 const RawExceptionHandlers* raw_handlers = |
| 149 reinterpret_cast<const RawExceptionHandlers*>(this); | 155 reinterpret_cast<const RawExceptionHandlers*>(this); |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 365 | 371 |
| 366 intptr_t RawPcDescriptors::VisitPcDescriptorsPointers( | 372 intptr_t RawPcDescriptors::VisitPcDescriptorsPointers( |
| 367 RawPcDescriptors* raw_obj, ObjectPointerVisitor* visitor) { | 373 RawPcDescriptors* raw_obj, ObjectPointerVisitor* visitor) { |
| 368 RawPcDescriptors* obj = raw_obj->ptr(); | 374 RawPcDescriptors* obj = raw_obj->ptr(); |
| 369 intptr_t length = Smi::Value(obj->length_); | 375 intptr_t length = Smi::Value(obj->length_); |
| 370 visitor->VisitPointer(reinterpret_cast<RawObject**>(&obj->length_)); | 376 visitor->VisitPointer(reinterpret_cast<RawObject**>(&obj->length_)); |
| 371 return PcDescriptors::InstanceSize(length); | 377 return PcDescriptors::InstanceSize(length); |
| 372 } | 378 } |
| 373 | 379 |
| 374 | 380 |
| 381 intptr_t RawStackmap::VisitStackmapPointers(RawStackmap* raw_obj, |
| 382 ObjectPointerVisitor* visitor) { |
| 383 RawStackmap* obj = raw_obj->ptr(); |
| 384 intptr_t size_in_bytes = Smi::Value(obj->bitmap_size_in_bytes_); |
| 385 visitor->VisitPointers(raw_obj->from(), raw_obj->to()); |
| 386 return Stackmap::InstanceSize(size_in_bytes); |
| 387 } |
| 388 |
| 389 |
| 375 intptr_t RawLocalVarDescriptors::VisitLocalVarDescriptorsPointers( | 390 intptr_t RawLocalVarDescriptors::VisitLocalVarDescriptorsPointers( |
| 376 RawLocalVarDescriptors* raw_obj, ObjectPointerVisitor* visitor) { | 391 RawLocalVarDescriptors* raw_obj, ObjectPointerVisitor* visitor) { |
| 377 RawLocalVarDescriptors* obj = raw_obj->ptr(); | 392 RawLocalVarDescriptors* obj = raw_obj->ptr(); |
| 378 intptr_t len = obj->length_; | 393 intptr_t len = obj->length_; |
| 379 visitor->VisitPointer(reinterpret_cast<RawObject**>(&obj->names_)); | 394 visitor->VisitPointer(reinterpret_cast<RawObject**>(&obj->names_)); |
| 380 return LocalVarDescriptors::InstanceSize(len); | 395 return LocalVarDescriptors::InstanceSize(len); |
| 381 } | 396 } |
| 382 | 397 |
| 383 | 398 |
| 384 intptr_t RawExceptionHandlers::VisitExceptionHandlersPointers( | 399 intptr_t RawExceptionHandlers::VisitExceptionHandlersPointers( |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 654 | 669 |
| 655 intptr_t RawJSRegExp::VisitJSRegExpPointers(RawJSRegExp* raw_obj, | 670 intptr_t RawJSRegExp::VisitJSRegExpPointers(RawJSRegExp* raw_obj, |
| 656 ObjectPointerVisitor* visitor) { | 671 ObjectPointerVisitor* visitor) { |
| 657 // Make sure that we got here with the tagged pointer as this. | 672 // Make sure that we got here with the tagged pointer as this. |
| 658 ASSERT(raw_obj->IsHeapObject()); | 673 ASSERT(raw_obj->IsHeapObject()); |
| 659 intptr_t length = Smi::Value(raw_obj->ptr()->data_length_); | 674 intptr_t length = Smi::Value(raw_obj->ptr()->data_length_); |
| 660 visitor->VisitPointers(raw_obj->from(), raw_obj->to()); | 675 visitor->VisitPointers(raw_obj->from(), raw_obj->to()); |
| 661 return JSRegExp::InstanceSize(length); | 676 return JSRegExp::InstanceSize(length); |
| 662 } | 677 } |
| 663 | 678 |
| 664 | |
| 665 } // namespace dart | 679 } // namespace dart |
| OLD | NEW |