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

Side by Side Diff: runtime/vm/object.cc

Issue 24187002: Allocate pending_classes array in new gen. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 3 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 | « no previous file | no next file » | 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 #include "vm/object.h" 5 #include "vm/object.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 #include "platform/assert.h" 8 #include "platform/assert.h"
9 #include "vm/assembler.h" 9 #include "vm/assembler.h"
10 #include "vm/cpu.h" 10 #include "vm/cpu.h"
(...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after
835 object_store->set_libraries(libraries); 835 object_store->set_libraries(libraries);
836 836
837 // Pre-register the core library. 837 // Pre-register the core library.
838 Library::InitCoreLibrary(isolate); 838 Library::InitCoreLibrary(isolate);
839 839
840 // Basic infrastructure has been setup, initialize the class dictionary. 840 // Basic infrastructure has been setup, initialize the class dictionary.
841 Library& core_lib = Library::Handle(Library::CoreLibrary()); 841 Library& core_lib = Library::Handle(Library::CoreLibrary());
842 ASSERT(!core_lib.IsNull()); 842 ASSERT(!core_lib.IsNull());
843 843
844 const GrowableObjectArray& pending_classes = 844 const GrowableObjectArray& pending_classes =
845 GrowableObjectArray::Handle(GrowableObjectArray::New(Heap::kOld)); 845 GrowableObjectArray::Handle(GrowableObjectArray::New());
846 object_store->set_pending_classes(pending_classes); 846 object_store->set_pending_classes(pending_classes);
847 847
848 Context& context = Context::Handle(Context::New(0, Heap::kOld)); 848 Context& context = Context::Handle(Context::New(0, Heap::kOld));
849 object_store->set_empty_context(context); 849 object_store->set_empty_context(context);
850 850
851 // Now that the symbol table is initialized and that the core dictionary as 851 // Now that the symbol table is initialized and that the core dictionary as
852 // well as the core implementation dictionary have been setup, preallocate 852 // well as the core implementation dictionary have been setup, preallocate
853 // remaining classes and register them by name in the dictionaries. 853 // remaining classes and register them by name in the dictionaries.
854 String& name = String::Handle(); 854 String& name = String::Handle();
855 cls = object_store->array_class(); // Was allocated above. 855 cls = object_store->array_class(); // Was allocated above.
856 RegisterPrivateClass(cls, Symbols::ObjectArray(), core_lib); 856 RegisterPrivateClass(cls, Symbols::ObjectArray(), core_lib);
857 pending_classes.Add(cls, Heap::kOld); 857 pending_classes.Add(cls);
858 // We cannot use NewNonParameterizedType(cls), because Array is parameterized. 858 // We cannot use NewNonParameterizedType(cls), because Array is parameterized.
859 type ^= Type::New(Object::Handle(cls.raw()), 859 type ^= Type::New(Object::Handle(cls.raw()),
860 TypeArguments::Handle(), 860 TypeArguments::Handle(),
861 Scanner::kDummyTokenIndex); 861 Scanner::kDummyTokenIndex);
862 type.SetIsFinalized(); 862 type.SetIsFinalized();
863 type ^= type.Canonicalize(); 863 type ^= type.Canonicalize();
864 object_store->set_array_type(type); 864 object_store->set_array_type(type);
865 865
866 cls = object_store->growable_object_array_class(); // Was allocated above. 866 cls = object_store->growable_object_array_class(); // Was allocated above.
867 RegisterPrivateClass(cls, Symbols::GrowableObjectArray(), core_lib); 867 RegisterPrivateClass(cls, Symbols::GrowableObjectArray(), core_lib);
868 pending_classes.Add(cls, Heap::kOld); 868 pending_classes.Add(cls);
869 869
870 cls = Class::New<Array>(kImmutableArrayCid); 870 cls = Class::New<Array>(kImmutableArrayCid);
871 object_store->set_immutable_array_class(cls); 871 object_store->set_immutable_array_class(cls);
872 cls.set_type_arguments_field_offset(Array::type_arguments_offset()); 872 cls.set_type_arguments_field_offset(Array::type_arguments_offset());
873 ASSERT(object_store->immutable_array_class() != object_store->array_class()); 873 ASSERT(object_store->immutable_array_class() != object_store->array_class());
874 cls.set_is_prefinalized(); 874 cls.set_is_prefinalized();
875 RegisterPrivateClass(cls, Symbols::ImmutableArray(), core_lib); 875 RegisterPrivateClass(cls, Symbols::ImmutableArray(), core_lib);
876 pending_classes.Add(cls, Heap::kOld); 876 pending_classes.Add(cls);
877 877
878 cls = object_store->one_byte_string_class(); // Was allocated above. 878 cls = object_store->one_byte_string_class(); // Was allocated above.
879 RegisterPrivateClass(cls, Symbols::OneByteString(), core_lib); 879 RegisterPrivateClass(cls, Symbols::OneByteString(), core_lib);
880 pending_classes.Add(cls, Heap::kOld); 880 pending_classes.Add(cls);
881 881
882 cls = object_store->two_byte_string_class(); // Was allocated above. 882 cls = object_store->two_byte_string_class(); // Was allocated above.
883 RegisterPrivateClass(cls, Symbols::TwoByteString(), core_lib); 883 RegisterPrivateClass(cls, Symbols::TwoByteString(), core_lib);
884 pending_classes.Add(cls, Heap::kOld); 884 pending_classes.Add(cls);
885 885
886 cls = Class::NewStringClass(kExternalOneByteStringCid); 886 cls = Class::NewStringClass(kExternalOneByteStringCid);
887 object_store->set_external_one_byte_string_class(cls); 887 object_store->set_external_one_byte_string_class(cls);
888 RegisterPrivateClass(cls, Symbols::ExternalOneByteString(), core_lib); 888 RegisterPrivateClass(cls, Symbols::ExternalOneByteString(), core_lib);
889 pending_classes.Add(cls, Heap::kOld); 889 pending_classes.Add(cls);
890 890
891 cls = Class::NewStringClass(kExternalTwoByteStringCid); 891 cls = Class::NewStringClass(kExternalTwoByteStringCid);
892 object_store->set_external_two_byte_string_class(cls); 892 object_store->set_external_two_byte_string_class(cls);
893 RegisterPrivateClass(cls, Symbols::ExternalTwoByteString(), core_lib); 893 RegisterPrivateClass(cls, Symbols::ExternalTwoByteString(), core_lib);
894 pending_classes.Add(cls, Heap::kOld); 894 pending_classes.Add(cls);
895 895
896 cls = Class::New<Stacktrace>(); 896 cls = Class::New<Stacktrace>();
897 object_store->set_stacktrace_class(cls); 897 object_store->set_stacktrace_class(cls);
898 RegisterClass(cls, Symbols::StackTrace(), core_lib); 898 RegisterClass(cls, Symbols::StackTrace(), core_lib);
899 pending_classes.Add(cls, Heap::kOld); 899 pending_classes.Add(cls);
900 // Super type set below, after Object is allocated. 900 // Super type set below, after Object is allocated.
901 901
902 cls = Class::New<JSRegExp>(); 902 cls = Class::New<JSRegExp>();
903 object_store->set_jsregexp_class(cls); 903 object_store->set_jsregexp_class(cls);
904 RegisterPrivateClass(cls, Symbols::JSSyntaxRegExp(), core_lib); 904 RegisterPrivateClass(cls, Symbols::JSSyntaxRegExp(), core_lib);
905 pending_classes.Add(cls, Heap::kOld); 905 pending_classes.Add(cls);
906 906
907 // Initialize the base interfaces used by the core VM classes. 907 // Initialize the base interfaces used by the core VM classes.
908 908
909 // Allocate and initialize the pre-allocated classes in the core library. 909 // Allocate and initialize the pre-allocated classes in the core library.
910 // The script and token index of these pre-allocated classes is set up in 910 // The script and token index of these pre-allocated classes is set up in
911 // the parser when the corelib script is compiled (see 911 // the parser when the corelib script is compiled (see
912 // Parser::ParseClassDefinition). 912 // Parser::ParseClassDefinition).
913 cls = Class::New<Instance>(kInstanceCid); 913 cls = Class::New<Instance>(kInstanceCid);
914 object_store->set_object_class(cls); 914 object_store->set_object_class(cls);
915 cls.set_name(Symbols::Object()); 915 cls.set_name(Symbols::Object());
916 cls.set_is_prefinalized(); 916 cls.set_is_prefinalized();
917 core_lib.AddClass(cls); 917 core_lib.AddClass(cls);
918 pending_classes.Add(cls, Heap::kOld); 918 pending_classes.Add(cls);
919 type = Type::NewNonParameterizedType(cls); 919 type = Type::NewNonParameterizedType(cls);
920 object_store->set_object_type(type); 920 object_store->set_object_type(type);
921 921
922 cls = Class::New<Bool>(); 922 cls = Class::New<Bool>();
923 object_store->set_bool_class(cls); 923 object_store->set_bool_class(cls);
924 RegisterClass(cls, Symbols::Bool(), core_lib); 924 RegisterClass(cls, Symbols::Bool(), core_lib);
925 pending_classes.Add(cls, Heap::kOld); 925 pending_classes.Add(cls);
926 926
927 cls = Class::New<Instance>(kNullCid); 927 cls = Class::New<Instance>(kNullCid);
928 cls.set_is_prefinalized(); 928 cls.set_is_prefinalized();
929 object_store->set_null_class(cls); 929 object_store->set_null_class(cls);
930 RegisterClass(cls, Symbols::Null(), core_lib); 930 RegisterClass(cls, Symbols::Null(), core_lib);
931 pending_classes.Add(cls, Heap::kOld); 931 pending_classes.Add(cls);
932 932
933 cls = object_store->type_class(); 933 cls = object_store->type_class();
934 RegisterPrivateClass(cls, Symbols::Type(), core_lib); 934 RegisterPrivateClass(cls, Symbols::Type(), core_lib);
935 pending_classes.Add(cls, Heap::kOld); 935 pending_classes.Add(cls);
936 936
937 cls = object_store->type_parameter_class(); 937 cls = object_store->type_parameter_class();
938 RegisterPrivateClass(cls, Symbols::TypeParameter(), core_lib); 938 RegisterPrivateClass(cls, Symbols::TypeParameter(), core_lib);
939 pending_classes.Add(cls, Heap::kOld); 939 pending_classes.Add(cls);
940 940
941 cls = object_store->bounded_type_class(); 941 cls = object_store->bounded_type_class();
942 RegisterPrivateClass(cls, Symbols::BoundedType(), core_lib); 942 RegisterPrivateClass(cls, Symbols::BoundedType(), core_lib);
943 pending_classes.Add(cls, Heap::kOld); 943 pending_classes.Add(cls);
944 944
945 cls = object_store->mixin_app_type_class(); 945 cls = object_store->mixin_app_type_class();
946 RegisterPrivateClass(cls, Symbols::MixinAppType(), core_lib); 946 RegisterPrivateClass(cls, Symbols::MixinAppType(), core_lib);
947 pending_classes.Add(cls, Heap::kOld); 947 pending_classes.Add(cls);
948 948
949 cls = Class::New<Integer>(); 949 cls = Class::New<Integer>();
950 object_store->set_integer_implementation_class(cls); 950 object_store->set_integer_implementation_class(cls);
951 RegisterPrivateClass(cls, Symbols::IntegerImplementation(), core_lib); 951 RegisterPrivateClass(cls, Symbols::IntegerImplementation(), core_lib);
952 pending_classes.Add(cls, Heap::kOld); 952 pending_classes.Add(cls);
953 953
954 cls = Class::New<Smi>(); 954 cls = Class::New<Smi>();
955 object_store->set_smi_class(cls); 955 object_store->set_smi_class(cls);
956 RegisterPrivateClass(cls, Symbols::_Smi(), core_lib); 956 RegisterPrivateClass(cls, Symbols::_Smi(), core_lib);
957 pending_classes.Add(cls, Heap::kOld); 957 pending_classes.Add(cls);
958 958
959 cls = Class::New<Mint>(); 959 cls = Class::New<Mint>();
960 object_store->set_mint_class(cls); 960 object_store->set_mint_class(cls);
961 RegisterPrivateClass(cls, Symbols::_Mint(), core_lib); 961 RegisterPrivateClass(cls, Symbols::_Mint(), core_lib);
962 pending_classes.Add(cls, Heap::kOld); 962 pending_classes.Add(cls);
963 963
964 cls = Class::New<Bigint>(); 964 cls = Class::New<Bigint>();
965 object_store->set_bigint_class(cls); 965 object_store->set_bigint_class(cls);
966 RegisterPrivateClass(cls, Symbols::_Bigint(), core_lib); 966 RegisterPrivateClass(cls, Symbols::_Bigint(), core_lib);
967 pending_classes.Add(cls, Heap::kOld); 967 pending_classes.Add(cls);
968 968
969 cls = Class::New<Double>(); 969 cls = Class::New<Double>();
970 object_store->set_double_class(cls); 970 object_store->set_double_class(cls);
971 RegisterPrivateClass(cls, Symbols::_Double(), core_lib); 971 RegisterPrivateClass(cls, Symbols::_Double(), core_lib);
972 pending_classes.Add(cls, Heap::kOld); 972 pending_classes.Add(cls);
973 973
974 // Abstract super class for all signature classes. 974 // Abstract super class for all signature classes.
975 cls = Class::New<Instance>(kIllegalCid); 975 cls = Class::New<Instance>(kIllegalCid);
976 cls.set_is_prefinalized(); 976 cls.set_is_prefinalized();
977 RegisterPrivateClass(cls, Symbols::FunctionImpl(), core_lib); 977 RegisterPrivateClass(cls, Symbols::FunctionImpl(), core_lib);
978 pending_classes.Add(cls, Heap::kOld); 978 pending_classes.Add(cls);
979 type = Type::NewNonParameterizedType(cls); 979 type = Type::NewNonParameterizedType(cls);
980 object_store->set_function_impl_type(type); 980 object_store->set_function_impl_type(type);
981 981
982 cls = Class::New<WeakProperty>(); 982 cls = Class::New<WeakProperty>();
983 object_store->set_weak_property_class(cls); 983 object_store->set_weak_property_class(cls);
984 RegisterPrivateClass(cls, Symbols::_WeakProperty(), core_lib); 984 RegisterPrivateClass(cls, Symbols::_WeakProperty(), core_lib);
985 985
986 // Pre-register the mirrors library so we can place the vm class 986 // Pre-register the mirrors library so we can place the vm class
987 // MirrorReference there rather than the core library. 987 // MirrorReference there rather than the core library.
988 lib = Library::LookupLibrary(Symbols::DartMirrors()); 988 lib = Library::LookupLibrary(Symbols::DartMirrors());
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1026 typed_data_classes.SetAt(index, cls); \ 1026 typed_data_classes.SetAt(index, cls); \
1027 RegisterPrivateClass(cls, Symbols::_##clazz(), lib); \ 1027 RegisterPrivateClass(cls, Symbols::_##clazz(), lib); \
1028 1028
1029 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_CLASS); 1029 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_CLASS);
1030 #undef REGISTER_TYPED_DATA_CLASS 1030 #undef REGISTER_TYPED_DATA_CLASS
1031 #define REGISTER_TYPED_DATA_VIEW_CLASS(clazz) \ 1031 #define REGISTER_TYPED_DATA_VIEW_CLASS(clazz) \
1032 cls = Class::NewTypedDataViewClass(kTypedData##clazz##ViewCid); \ 1032 cls = Class::NewTypedDataViewClass(kTypedData##clazz##ViewCid); \
1033 index = kTypedData##clazz##ViewCid - kTypedDataInt8ArrayCid; \ 1033 index = kTypedData##clazz##ViewCid - kTypedDataInt8ArrayCid; \
1034 typed_data_classes.SetAt(index, cls); \ 1034 typed_data_classes.SetAt(index, cls); \
1035 RegisterPrivateClass(cls, Symbols::_##clazz##View(), lib); \ 1035 RegisterPrivateClass(cls, Symbols::_##clazz##View(), lib); \
1036 pending_classes.Add(cls, Heap::kOld); \ 1036 pending_classes.Add(cls); \
1037 1037
1038 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_VIEW_CLASS); 1038 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_VIEW_CLASS);
1039 cls = Class::NewTypedDataViewClass(kByteDataViewCid); 1039 cls = Class::NewTypedDataViewClass(kByteDataViewCid);
1040 index = kByteDataViewCid - kTypedDataInt8ArrayCid; 1040 index = kByteDataViewCid - kTypedDataInt8ArrayCid;
1041 typed_data_classes.SetAt(index, cls); 1041 typed_data_classes.SetAt(index, cls);
1042 RegisterPrivateClass(cls, Symbols::_ByteDataView(), lib); 1042 RegisterPrivateClass(cls, Symbols::_ByteDataView(), lib);
1043 pending_classes.Add(cls, Heap::kOld); 1043 pending_classes.Add(cls);
1044 #undef REGISTER_TYPED_DATA_VIEW_CLASS 1044 #undef REGISTER_TYPED_DATA_VIEW_CLASS
1045 #define REGISTER_EXT_TYPED_DATA_CLASS(clazz) \ 1045 #define REGISTER_EXT_TYPED_DATA_CLASS(clazz) \
1046 cls = Class::NewExternalTypedDataClass(kExternalTypedData##clazz##Cid); \ 1046 cls = Class::NewExternalTypedDataClass(kExternalTypedData##clazz##Cid); \
1047 index = kExternalTypedData##clazz##Cid - kTypedDataInt8ArrayCid; \ 1047 index = kExternalTypedData##clazz##Cid - kTypedDataInt8ArrayCid; \
1048 typed_data_classes.SetAt(index, cls); \ 1048 typed_data_classes.SetAt(index, cls); \
1049 RegisterPrivateClass(cls, Symbols::_External##clazz(), lib); \ 1049 RegisterPrivateClass(cls, Symbols::_External##clazz(), lib); \
1050 1050
1051 CLASS_LIST_TYPED_DATA(REGISTER_EXT_TYPED_DATA_CLASS); 1051 CLASS_LIST_TYPED_DATA(REGISTER_EXT_TYPED_DATA_CLASS);
1052 #undef REGISTER_EXT_TYPED_DATA_CLASS 1052 #undef REGISTER_EXT_TYPED_DATA_CLASS
1053 // Register Float32x4 and Uint32x4 in the object store. 1053 // Register Float32x4 and Uint32x4 in the object store.
1054 cls = Class::New<Float32x4>(); 1054 cls = Class::New<Float32x4>();
1055 object_store->set_float32x4_class(cls); 1055 object_store->set_float32x4_class(cls);
1056 RegisterPrivateClass(cls, Symbols::_Float32x4(), lib); 1056 RegisterPrivateClass(cls, Symbols::_Float32x4(), lib);
1057 cls = Class::New<Uint32x4>(); 1057 cls = Class::New<Uint32x4>();
1058 object_store->set_uint32x4_class(cls); 1058 object_store->set_uint32x4_class(cls);
1059 RegisterPrivateClass(cls, Symbols::_Uint32x4(), lib); 1059 RegisterPrivateClass(cls, Symbols::_Uint32x4(), lib);
1060 1060
1061 cls = Class::New<Instance>(kIllegalCid); 1061 cls = Class::New<Instance>(kIllegalCid);
1062 RegisterClass(cls, Symbols::Float32x4(), lib); 1062 RegisterClass(cls, Symbols::Float32x4(), lib);
1063 cls.set_is_prefinalized(); 1063 cls.set_is_prefinalized();
1064 pending_classes.Add(cls, Heap::kOld); 1064 pending_classes.Add(cls);
1065 type = Type::NewNonParameterizedType(cls); 1065 type = Type::NewNonParameterizedType(cls);
1066 object_store->set_float32x4_type(type); 1066 object_store->set_float32x4_type(type);
1067 1067
1068 cls = Class::New<Instance>(kIllegalCid); 1068 cls = Class::New<Instance>(kIllegalCid);
1069 RegisterClass(cls, Symbols::Uint32x4(), lib); 1069 RegisterClass(cls, Symbols::Uint32x4(), lib);
1070 cls.set_is_prefinalized(); 1070 cls.set_is_prefinalized();
1071 pending_classes.Add(cls, Heap::kOld); 1071 pending_classes.Add(cls);
1072 type = Type::NewNonParameterizedType(cls); 1072 type = Type::NewNonParameterizedType(cls);
1073 object_store->set_uint32x4_type(type); 1073 object_store->set_uint32x4_type(type);
1074 1074
1075 object_store->set_typed_data_classes(typed_data_classes); 1075 object_store->set_typed_data_classes(typed_data_classes);
1076 1076
1077 // Set the super type of class Stacktrace to Object type so that the 1077 // Set the super type of class Stacktrace to Object type so that the
1078 // 'toString' method is implemented. 1078 // 'toString' method is implemented.
1079 cls = object_store->stacktrace_class(); 1079 cls = object_store->stacktrace_class();
1080 type = object_store->object_type(); 1080 type = object_store->object_type();
1081 cls.set_super_type(type); 1081 cls.set_super_type(type);
1082 1082
1083 // Abstract class that represents the Dart class Function. 1083 // Abstract class that represents the Dart class Function.
1084 cls = Class::New<Instance>(kIllegalCid); 1084 cls = Class::New<Instance>(kIllegalCid);
1085 cls.set_is_prefinalized(); 1085 cls.set_is_prefinalized();
1086 RegisterClass(cls, Symbols::Function(), core_lib); 1086 RegisterClass(cls, Symbols::Function(), core_lib);
1087 pending_classes.Add(cls, Heap::kOld); 1087 pending_classes.Add(cls);
1088 type = Type::NewNonParameterizedType(cls); 1088 type = Type::NewNonParameterizedType(cls);
1089 object_store->set_function_type(type); 1089 object_store->set_function_type(type);
1090 1090
1091 cls = Class::New<Number>(); 1091 cls = Class::New<Number>();
1092 RegisterClass(cls, Symbols::Number(), core_lib); 1092 RegisterClass(cls, Symbols::Number(), core_lib);
1093 pending_classes.Add(cls, Heap::kOld); 1093 pending_classes.Add(cls);
1094 type = Type::NewNonParameterizedType(cls); 1094 type = Type::NewNonParameterizedType(cls);
1095 object_store->set_number_type(type); 1095 object_store->set_number_type(type);
1096 1096
1097 cls = Class::New<Instance>(kIllegalCid); 1097 cls = Class::New<Instance>(kIllegalCid);
1098 RegisterClass(cls, Symbols::Int(), core_lib); 1098 RegisterClass(cls, Symbols::Int(), core_lib);
1099 cls.set_is_prefinalized(); 1099 cls.set_is_prefinalized();
1100 pending_classes.Add(cls, Heap::kOld); 1100 pending_classes.Add(cls);
1101 type = Type::NewNonParameterizedType(cls); 1101 type = Type::NewNonParameterizedType(cls);
1102 object_store->set_int_type(type); 1102 object_store->set_int_type(type);
1103 1103
1104 cls = Class::New<Instance>(kIllegalCid); 1104 cls = Class::New<Instance>(kIllegalCid);
1105 RegisterClass(cls, Symbols::Double(), core_lib); 1105 RegisterClass(cls, Symbols::Double(), core_lib);
1106 cls.set_is_prefinalized(); 1106 cls.set_is_prefinalized();
1107 pending_classes.Add(cls, Heap::kOld); 1107 pending_classes.Add(cls);
1108 type = Type::NewNonParameterizedType(cls); 1108 type = Type::NewNonParameterizedType(cls);
1109 object_store->set_double_type(type); 1109 object_store->set_double_type(type);
1110 1110
1111 name = Symbols::New("String"); 1111 name = Symbols::New("String");
1112 cls = Class::New<Instance>(kIllegalCid); 1112 cls = Class::New<Instance>(kIllegalCid);
1113 RegisterClass(cls, name, core_lib); 1113 RegisterClass(cls, name, core_lib);
1114 cls.set_is_prefinalized(); 1114 cls.set_is_prefinalized();
1115 pending_classes.Add(cls, Heap::kOld); 1115 pending_classes.Add(cls);
1116 type = Type::NewNonParameterizedType(cls); 1116 type = Type::NewNonParameterizedType(cls);
1117 object_store->set_string_type(type); 1117 object_store->set_string_type(type);
1118 1118
1119 cls = object_store->bool_class(); 1119 cls = object_store->bool_class();
1120 type = Type::NewNonParameterizedType(cls); 1120 type = Type::NewNonParameterizedType(cls);
1121 object_store->set_bool_type(type); 1121 object_store->set_bool_type(type);
1122 1122
1123 cls = object_store->smi_class(); 1123 cls = object_store->smi_class();
1124 type = Type::NewNonParameterizedType(cls); 1124 type = Type::NewNonParameterizedType(cls);
1125 object_store->set_smi_type(type); 1125 object_store->set_smi_type(type);
(...skipping 13785 matching lines...) Expand 10 before | Expand all | Expand 10 after
14911 return "_MirrorReference"; 14911 return "_MirrorReference";
14912 } 14912 }
14913 14913
14914 14914
14915 void MirrorReference::PrintToJSONStream(JSONStream* stream, bool ref) const { 14915 void MirrorReference::PrintToJSONStream(JSONStream* stream, bool ref) const {
14916 JSONObject jsobj(stream); 14916 JSONObject jsobj(stream);
14917 } 14917 }
14918 14918
14919 14919
14920 } // namespace dart 14920 } // namespace dart
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698