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

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

Issue 1584223006: Remove signature classes from the VM. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: sync Created 4 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 unified diff | Download patch
« no previous file with comments | « runtime/vm/raw_object_snapshot.cc ('k') | runtime/vm/snapshot.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_SNAPSHOT_H_ 5 #ifndef VM_SNAPSHOT_H_
6 #define VM_SNAPSHOT_H_ 6 #define VM_SNAPSHOT_H_
7 7
8 #include "platform/assert.h" 8 #include "platform/assert.h"
9 #include "vm/allocation.h" 9 #include "vm/allocation.h"
10 #include "vm/bitfield.h" 10 #include "vm/bitfield.h"
11 #include "vm/datastream.h" 11 #include "vm/datastream.h"
12 #include "vm/exceptions.h" 12 #include "vm/exceptions.h"
13 #include "vm/globals.h" 13 #include "vm/globals.h"
14 #include "vm/growable_array.h" 14 #include "vm/growable_array.h"
15 #include "vm/isolate.h" 15 #include "vm/isolate.h"
16 #include "vm/visitor.h" 16 #include "vm/visitor.h"
17 17
18 namespace dart { 18 namespace dart {
19 19
20 // Forward declarations. 20 // Forward declarations.
21 class AbstractType; 21 class AbstractType;
22 class Array; 22 class Array;
23 class Class; 23 class Class;
24 class ClassTable; 24 class ClassTable;
25 class Closure;
25 class Code; 26 class Code;
26 class ExternalTypedData; 27 class ExternalTypedData;
27 class GrowableObjectArray; 28 class GrowableObjectArray;
28 class Heap; 29 class Heap;
29 class Instructions; 30 class Instructions;
30 class LanguageError; 31 class LanguageError;
31 class Library; 32 class Library;
32 class Object; 33 class Object;
33 class PassiveObject; 34 class PassiveObject;
34 class ObjectStore; 35 class ObjectStore;
35 class MegamorphicCache; 36 class MegamorphicCache;
36 class PageSpace; 37 class PageSpace;
37 class RawApiError; 38 class RawApiError;
38 class RawArray; 39 class RawArray;
39 class RawBigint; 40 class RawBigint;
40 class RawBoundedType; 41 class RawBoundedType;
41 class RawCapability; 42 class RawCapability;
42 class RawClass; 43 class RawClass;
44 class RawClosure;
43 class RawClosureData; 45 class RawClosureData;
44 class RawContext; 46 class RawContext;
45 class RawContextScope; 47 class RawContextScope;
46 class RawDouble; 48 class RawDouble;
47 class RawExceptionHandlers; 49 class RawExceptionHandlers;
48 class RawField; 50 class RawField;
49 class RawFloat32x4; 51 class RawFloat32x4;
50 class RawFloat64x2; 52 class RawFloat64x2;
51 class RawFunction; 53 class RawFunction;
54 class RawFunctionType;
52 class RawGrowableObjectArray; 55 class RawGrowableObjectArray;
53 class RawICData; 56 class RawICData;
54 class RawImmutableArray; 57 class RawImmutableArray;
55 class RawInstructions; 58 class RawInstructions;
56 class RawInt32x4; 59 class RawInt32x4;
57 class RawJSRegExp; 60 class RawJSRegExp;
58 class RawLanguageError; 61 class RawLanguageError;
59 class RawLibrary; 62 class RawLibrary;
60 class RawLibraryPrefix; 63 class RawLibraryPrefix;
61 class RawLinkedHashMap; 64 class RawLinkedHashMap;
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 RawTokenStream* NewTokenStream(intptr_t len); 408 RawTokenStream* NewTokenStream(intptr_t len);
406 RawContext* NewContext(intptr_t num_variables); 409 RawContext* NewContext(intptr_t num_variables);
407 RawClass* NewClass(intptr_t class_id); 410 RawClass* NewClass(intptr_t class_id);
408 RawInstance* NewInstance(); 411 RawInstance* NewInstance();
409 RawMint* NewMint(int64_t value); 412 RawMint* NewMint(int64_t value);
410 RawBigint* NewBigint(); 413 RawBigint* NewBigint();
411 RawTypedData* NewTypedData(intptr_t class_id, intptr_t len); 414 RawTypedData* NewTypedData(intptr_t class_id, intptr_t len);
412 RawDouble* NewDouble(double value); 415 RawDouble* NewDouble(double value);
413 RawUnresolvedClass* NewUnresolvedClass(); 416 RawUnresolvedClass* NewUnresolvedClass();
414 RawType* NewType(); 417 RawType* NewType();
418 RawFunctionType* NewFunctionType();
415 RawTypeRef* NewTypeRef(); 419 RawTypeRef* NewTypeRef();
416 RawTypeParameter* NewTypeParameter(); 420 RawTypeParameter* NewTypeParameter();
417 RawBoundedType* NewBoundedType(); 421 RawBoundedType* NewBoundedType();
418 RawMixinAppType* NewMixinAppType(); 422 RawMixinAppType* NewMixinAppType();
419 RawPatchClass* NewPatchClass(); 423 RawPatchClass* NewPatchClass();
424 RawClosure* NewClosure();
420 RawClosureData* NewClosureData(); 425 RawClosureData* NewClosureData();
421 RawRedirectionData* NewRedirectionData(); 426 RawRedirectionData* NewRedirectionData();
422 RawFunction* NewFunction(); 427 RawFunction* NewFunction();
423 RawCode* NewCode(intptr_t pointer_offsets_length); 428 RawCode* NewCode(intptr_t pointer_offsets_length);
424 RawObjectPool* NewObjectPool(intptr_t length); 429 RawObjectPool* NewObjectPool(intptr_t length);
425 RawPcDescriptors* NewPcDescriptors(intptr_t length); 430 RawPcDescriptors* NewPcDescriptors(intptr_t length);
426 RawLocalVarDescriptors* NewLocalVarDescriptors(intptr_t num_entries); 431 RawLocalVarDescriptors* NewLocalVarDescriptors(intptr_t num_entries);
427 RawExceptionHandlers* NewExceptionHandlers(intptr_t num_entries); 432 RawExceptionHandlers* NewExceptionHandlers(intptr_t num_entries);
428 RawStackmap* NewStackmap(intptr_t length); 433 RawStackmap* NewStackmap(intptr_t length);
429 RawContextScope* NewContextScope(intptr_t num_variables); 434 RawContextScope* NewContextScope(intptr_t num_variables);
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 UnhandledException& error_; // Error handle. 556 UnhandledException& error_; // Error handle.
552 intptr_t max_vm_isolate_object_id_; 557 intptr_t max_vm_isolate_object_id_;
553 ZoneGrowableArray<BackRefNode>* backward_references_; 558 ZoneGrowableArray<BackRefNode>* backward_references_;
554 InstructionsReader* instructions_reader_; 559 InstructionsReader* instructions_reader_;
555 560
556 friend class ApiError; 561 friend class ApiError;
557 friend class Array; 562 friend class Array;
558 friend class Bigint; 563 friend class Bigint;
559 friend class BoundedType; 564 friend class BoundedType;
560 friend class Class; 565 friend class Class;
566 friend class Closure;
561 friend class ClosureData; 567 friend class ClosureData;
562 friend class Code; 568 friend class Code;
563 friend class Context; 569 friend class Context;
564 friend class ContextScope; 570 friend class ContextScope;
565 friend class ExceptionHandlers; 571 friend class ExceptionHandlers;
566 friend class Field; 572 friend class Field;
567 friend class Function; 573 friend class Function;
568 friend class GrowableObjectArray; 574 friend class GrowableObjectArray;
569 friend class ICData; 575 friend class ICData;
570 friend class ImmutableArray; 576 friend class ImmutableArray;
(...skipping 10 matching lines...) Expand all
581 friend class MixinAppType; 587 friend class MixinAppType;
582 friend class Namespace; 588 friend class Namespace;
583 friend class ObjectPool; 589 friend class ObjectPool;
584 friend class PatchClass; 590 friend class PatchClass;
585 friend class RedirectionData; 591 friend class RedirectionData;
586 friend class Script; 592 friend class Script;
587 friend class Stacktrace; 593 friend class Stacktrace;
588 friend class SubtypeTestCache; 594 friend class SubtypeTestCache;
589 friend class TokenStream; 595 friend class TokenStream;
590 friend class Type; 596 friend class Type;
597 friend class FunctionType;
591 friend class TypeArguments; 598 friend class TypeArguments;
592 friend class TypeParameter; 599 friend class TypeParameter;
593 friend class TypeRef; 600 friend class TypeRef;
594 friend class UnhandledException; 601 friend class UnhandledException;
595 friend class UnresolvedClass; 602 friend class UnresolvedClass;
596 friend class WeakProperty; 603 friend class WeakProperty;
597 DISALLOW_COPY_AND_ASSIGN(SnapshotReader); 604 DISALLOW_COPY_AND_ASSIGN(SnapshotReader);
598 }; 605 };
599 606
600 607
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
914 int32_t GetInstructionsId(RawInstructions* instructions) { 921 int32_t GetInstructionsId(RawInstructions* instructions) {
915 return instructions_writer_->GetOffsetFor(instructions); 922 return instructions_writer_->GetOffsetFor(instructions);
916 } 923 }
917 924
918 void SetInstructionsCode(RawInstructions* instructions, RawCode* code) { 925 void SetInstructionsCode(RawInstructions* instructions, RawCode* code) {
919 return instructions_writer_->SetInstructionsCode(instructions, code); 926 return instructions_writer_->SetInstructionsCode(instructions, code);
920 } 927 }
921 928
922 void WriteFunctionId(RawFunction* func, bool owner_is_class); 929 void WriteFunctionId(RawFunction* func, bool owner_is_class);
923 930
931 RawFunction* IsSerializableClosure(RawClosure* closure);
932
933 void WriteStaticImplicitClosure(intptr_t object_id,
934 RawFunction* func,
935 intptr_t tags);
936
924 protected: 937 protected:
925 bool CheckAndWritePredefinedObject(RawObject* raw); 938 bool CheckAndWritePredefinedObject(RawObject* raw);
926 bool HandleVMIsolateObject(RawObject* raw); 939 bool HandleVMIsolateObject(RawObject* raw);
927 940
928 void WriteClassId(RawClass* cls); 941 void WriteClassId(RawClass* cls);
929 void WriteStaticImplicitClosure(intptr_t object_id,
930 RawFunction* func,
931 intptr_t tags);
932 void WriteObjectImpl(RawObject* raw, bool as_reference); 942 void WriteObjectImpl(RawObject* raw, bool as_reference);
933 void WriteMarkedObjectImpl(RawObject* raw, 943 void WriteMarkedObjectImpl(RawObject* raw,
934 intptr_t tags, 944 intptr_t tags,
935 intptr_t object_id, 945 intptr_t object_id,
936 bool as_reference); 946 bool as_reference);
937 void WriteForwardedObjects(); 947 void WriteForwardedObjects();
938 void ArrayWriteTo(intptr_t object_id, 948 void ArrayWriteTo(intptr_t object_id,
939 intptr_t array_kind, 949 intptr_t array_kind,
940 intptr_t tags, 950 intptr_t tags,
941 RawSmi* length, 951 RawSmi* length,
942 RawTypeArguments* type_arguments, 952 RawTypeArguments* type_arguments,
943 RawObject* data[], 953 RawObject* data[],
944 bool as_reference); 954 bool as_reference);
945 RawFunction* IsSerializableClosure(RawClass* cls, RawObject* obj);
946 RawClass* GetFunctionOwner(RawFunction* func); 955 RawClass* GetFunctionOwner(RawFunction* func);
947 void CheckForNativeFields(RawClass* cls); 956 void CheckForNativeFields(RawClass* cls);
948 void SetWriteException(Exceptions::ExceptionType type, const char* msg); 957 void SetWriteException(Exceptions::ExceptionType type, const char* msg);
949 void WriteInstance(RawObject* raw, 958 void WriteInstance(RawObject* raw,
950 RawClass* cls, 959 RawClass* cls,
951 intptr_t tags, 960 intptr_t tags,
952 intptr_t object_id, 961 intptr_t object_id,
953 bool as_reference); 962 bool as_reference);
954 bool AllowObjectsInDartLibrary(RawLibrary* library); 963 bool AllowObjectsInDartLibrary(RawLibrary* library);
955 intptr_t FindVmSnapshotObject(RawObject* rawobj); 964 intptr_t FindVmSnapshotObject(RawObject* rawobj);
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
1128 private: 1137 private:
1129 SnapshotWriter* writer_; 1138 SnapshotWriter* writer_;
1130 bool as_references_; 1139 bool as_references_;
1131 1140
1132 DISALLOW_COPY_AND_ASSIGN(SnapshotWriterVisitor); 1141 DISALLOW_COPY_AND_ASSIGN(SnapshotWriterVisitor);
1133 }; 1142 };
1134 1143
1135 } // namespace dart 1144 } // namespace dart
1136 1145
1137 #endif // VM_SNAPSHOT_H_ 1146 #endif // VM_SNAPSHOT_H_
OLDNEW
« no previous file with comments | « runtime/vm/raw_object_snapshot.cc ('k') | runtime/vm/snapshot.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698