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

Side by Side Diff: runtime/vm/raw_object.h

Issue 182703003: Cleanup native, collected, and stub code handling in profiler (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/profiler.cc ('k') | runtime/vm/service.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef VM_RAW_OBJECT_H_ 5 #ifndef VM_RAW_OBJECT_H_
6 #define VM_RAW_OBJECT_H_ 6 #define VM_RAW_OBJECT_H_
7 7
8 #include "platform/assert.h" 8 #include "platform/assert.h"
9 #include "vm/globals.h" 9 #include "vm/globals.h"
10 #include "vm/token.h" 10 #include "vm/token.h"
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 432
433 intptr_t SizeFromClass() const; 433 intptr_t SizeFromClass() const;
434 434
435 intptr_t GetClassId() const { 435 intptr_t GetClassId() const {
436 uword tags = ptr()->tags_; 436 uword tags = ptr()->tags_;
437 return ClassIdTag::decode(tags); 437 return ClassIdTag::decode(tags);
438 } 438 }
439 439
440 friend class Api; 440 friend class Api;
441 friend class Array; 441 friend class Array;
442 friend class Code;
442 friend class FreeListElement; 443 friend class FreeListElement;
443 friend class GCMarker; 444 friend class GCMarker;
444 friend class ExternalTypedData; 445 friend class ExternalTypedData;
445 friend class Heap; 446 friend class Heap;
446 friend class ClassStatsVisitor; 447 friend class ClassStatsVisitor;
447 friend class MarkingVisitor; 448 friend class MarkingVisitor;
448 friend class Object; 449 friend class Object;
449 friend class ObjectHistogram; 450 friend class ObjectHistogram;
450 friend class RawExternalTypedData; 451 friend class RawExternalTypedData;
451 friend class RawInstructions; 452 friend class RawInstructions;
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
809 }; 810 };
810 811
811 812
812 class RawCode : public RawObject { 813 class RawCode : public RawObject {
813 RAW_HEAP_OBJECT_IMPLEMENTATION(Code); 814 RAW_HEAP_OBJECT_IMPLEMENTATION(Code);
814 815
815 RawObject** from() { 816 RawObject** from() {
816 return reinterpret_cast<RawObject**>(&ptr()->instructions_); 817 return reinterpret_cast<RawObject**>(&ptr()->instructions_);
817 } 818 }
818 RawInstructions* instructions_; 819 RawInstructions* instructions_;
819 RawFunction* function_; 820 // If owner_ is Function::null() the owner is a regular stub.
821 // If owner_ is a Class the owner is the allocation stub for that class.
822 // Else, owner_ is a regular Dart Function.
823 RawObject* owner_; // Function, Null, or a Class.
820 RawExceptionHandlers* exception_handlers_; 824 RawExceptionHandlers* exception_handlers_;
821 RawPcDescriptors* pc_descriptors_; 825 RawPcDescriptors* pc_descriptors_;
822 RawArray* deopt_info_array_; 826 RawArray* deopt_info_array_;
823 RawArray* object_table_; 827 RawArray* object_table_;
824 RawArray* static_calls_target_table_; // (code-offset, function, code). 828 RawArray* static_calls_target_table_; // (code-offset, function, code).
825 RawArray* stackmaps_; 829 RawArray* stackmaps_;
826 RawLocalVarDescriptors* var_descriptors_; 830 RawLocalVarDescriptors* var_descriptors_;
827 RawArray* comments_; 831 RawArray* comments_;
828 RawObject** to() { 832 RawObject** to() {
829 return reinterpret_cast<RawObject**>(&ptr()->comments_); 833 return reinterpret_cast<RawObject**>(&ptr()->comments_);
(...skipping 938 matching lines...) Expand 10 before | Expand all | Expand 10 after
1768 // Make sure this is updated when new TypedData types are added. 1772 // Make sure this is updated when new TypedData types are added.
1769 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 14); 1773 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 14);
1770 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 15); 1774 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 15);
1771 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 14); 1775 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 14);
1772 return (kNullCid - kTypedDataInt8ArrayCid); 1776 return (kNullCid - kTypedDataInt8ArrayCid);
1773 } 1777 }
1774 1778
1775 } // namespace dart 1779 } // namespace dart
1776 1780
1777 #endif // VM_RAW_OBJECT_H_ 1781 #endif // VM_RAW_OBJECT_H_
OLDNEW
« no previous file with comments | « runtime/vm/profiler.cc ('k') | runtime/vm/service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698