Chromium Code Reviews| 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/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/bigint_operations.h" | 10 #include "vm/bigint_operations.h" |
| (...skipping 897 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 908 Array::Handle(Array::New(RawObject::NumberOfTypedDataClasses())); | 908 Array::Handle(Array::New(RawObject::NumberOfTypedDataClasses())); |
| 909 int index = 0; | 909 int index = 0; |
| 910 #define REGISTER_TYPED_DATA_CLASS(clazz) \ | 910 #define REGISTER_TYPED_DATA_CLASS(clazz) \ |
| 911 cls = Class::NewTypedDataClass(kTypedData##clazz##Cid); \ | 911 cls = Class::NewTypedDataClass(kTypedData##clazz##Cid); \ |
| 912 index = kTypedData##clazz##Cid - kTypedDataInt8ArrayCid; \ | 912 index = kTypedData##clazz##Cid - kTypedDataInt8ArrayCid; \ |
| 913 typeddata_classes.SetAt(index, cls); \ | 913 typeddata_classes.SetAt(index, cls); \ |
| 914 RegisterPrivateClass(cls, Symbols::_##clazz(), lib); \ | 914 RegisterPrivateClass(cls, Symbols::_##clazz(), lib); \ |
| 915 | 915 |
| 916 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_CLASS); | 916 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_CLASS); |
| 917 #undef REGISTER_TYPED_DATA_CLASS | 917 #undef REGISTER_TYPED_DATA_CLASS |
| 918 #define REGISTER_TYPED_DATA_VIEW_CLASS(clazz) \ | |
| 919 cls = Class::NewTypedDataViewClass(kTypedData##clazz##ViewCid); \ | |
| 920 index = kTypedData##clazz##ViewCid - kTypedDataInt8ArrayCid; \ | |
| 921 typeddata_classes.SetAt(index, cls); \ | |
| 922 RegisterPrivateClass(cls, Symbols::_##clazz##View(), lib); \ | |
| 923 pending_classes.Add(cls, Heap::kOld); \ | |
| 924 | |
| 925 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_VIEW_CLASS); | |
| 926 #undef REGISTER_TYPED_DATA_VIEW_CLASS | |
| 918 #define REGISTER_EXT_TYPED_DATA_CLASS(clazz) \ | 927 #define REGISTER_EXT_TYPED_DATA_CLASS(clazz) \ |
| 919 cls = Class::NewExternalTypedDataClass(kExternalTypedData##clazz##Cid); \ | 928 cls = Class::NewExternalTypedDataClass(kExternalTypedData##clazz##Cid); \ |
| 920 index = kExternalTypedData##clazz##Cid - kTypedDataInt8ArrayCid; \ | 929 index = kExternalTypedData##clazz##Cid - kTypedDataInt8ArrayCid; \ |
| 921 typeddata_classes.SetAt(index, cls); \ | 930 typeddata_classes.SetAt(index, cls); \ |
| 922 RegisterPrivateClass(cls, Symbols::_External##clazz(), lib); \ | 931 RegisterPrivateClass(cls, Symbols::_External##clazz(), lib); \ |
| 923 | 932 |
| 924 CLASS_LIST_TYPED_DATA(REGISTER_EXT_TYPED_DATA_CLASS); | 933 CLASS_LIST_TYPED_DATA(REGISTER_EXT_TYPED_DATA_CLASS); |
| 925 #undef REGISTER_EXT_TYPED_DATA_CLASS | 934 #undef REGISTER_EXT_TYPED_DATA_CLASS |
| 926 object_store->set_typeddata_classes(typeddata_classes); | 935 object_store->set_typeddata_classes(typeddata_classes); |
| 927 | 936 |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1068 cls = Class::New<ImmutableArray>(); | 1077 cls = Class::New<ImmutableArray>(); |
| 1069 object_store->set_immutable_array_class(cls); | 1078 object_store->set_immutable_array_class(cls); |
| 1070 | 1079 |
| 1071 cls = Class::New<GrowableObjectArray>(); | 1080 cls = Class::New<GrowableObjectArray>(); |
| 1072 object_store->set_growable_object_array_class(cls); | 1081 object_store->set_growable_object_array_class(cls); |
| 1073 | 1082 |
| 1074 #define REGISTER_SCALARLIST_CLASS(name, object_store_name) \ | 1083 #define REGISTER_SCALARLIST_CLASS(name, object_store_name) \ |
| 1075 cls = Class::New<name>(); \ | 1084 cls = Class::New<name>(); \ |
| 1076 object_store->set_##object_store_name##_class(cls); \ | 1085 object_store->set_##object_store_name##_class(cls); \ |
| 1077 | 1086 |
| 1078 REGISTER_SCALARLIST_CLASS(Float32x4, float32x4); | 1087 REGISTER_SCALARLIST_CLASS(Float32x4, float32x4); |
|
Ivan Posva
2013/03/22 04:50:01
Can we make it a goal to remove dart:scalarlist on
siva
2013/03/25 17:20:35
Yes, once the simd stuff has landed we could get r
| |
| 1079 REGISTER_SCALARLIST_CLASS(Uint32x4, uint32x4); | 1088 REGISTER_SCALARLIST_CLASS(Uint32x4, uint32x4); |
| 1080 REGISTER_SCALARLIST_CLASS(Int8Array, int8_array); | 1089 REGISTER_SCALARLIST_CLASS(Int8Array, int8_array); |
| 1081 REGISTER_SCALARLIST_CLASS(Uint8Array, uint8_array); | 1090 REGISTER_SCALARLIST_CLASS(Uint8Array, uint8_array); |
| 1082 REGISTER_SCALARLIST_CLASS(Uint8ClampedArray, uint8_clamped_array); | 1091 REGISTER_SCALARLIST_CLASS(Uint8ClampedArray, uint8_clamped_array); |
| 1083 REGISTER_SCALARLIST_CLASS(Int16Array, int16_array); | 1092 REGISTER_SCALARLIST_CLASS(Int16Array, int16_array); |
| 1084 REGISTER_SCALARLIST_CLASS(Uint16Array, uint16_array); | 1093 REGISTER_SCALARLIST_CLASS(Uint16Array, uint16_array); |
| 1085 REGISTER_SCALARLIST_CLASS(Int32Array, int32_array); | 1094 REGISTER_SCALARLIST_CLASS(Int32Array, int32_array); |
| 1086 REGISTER_SCALARLIST_CLASS(Uint32Array, uint32_array); | 1095 REGISTER_SCALARLIST_CLASS(Uint32Array, uint32_array); |
| 1087 REGISTER_SCALARLIST_CLASS(Int64Array, int64_array); | 1096 REGISTER_SCALARLIST_CLASS(Int64Array, int64_array); |
| 1088 REGISTER_SCALARLIST_CLASS(Uint64Array, uint64_array); | 1097 REGISTER_SCALARLIST_CLASS(Uint64Array, uint64_array); |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 1101 REGISTER_SCALARLIST_CLASS(ExternalUint64Array, external_uint64_array); | 1110 REGISTER_SCALARLIST_CLASS(ExternalUint64Array, external_uint64_array); |
| 1102 REGISTER_SCALARLIST_CLASS(ExternalFloat32x4Array, external_float32x4_array); | 1111 REGISTER_SCALARLIST_CLASS(ExternalFloat32x4Array, external_float32x4_array); |
| 1103 REGISTER_SCALARLIST_CLASS(ExternalFloat32Array, external_float32_array); | 1112 REGISTER_SCALARLIST_CLASS(ExternalFloat32Array, external_float32_array); |
| 1104 REGISTER_SCALARLIST_CLASS(ExternalFloat64Array, external_float64_array); | 1113 REGISTER_SCALARLIST_CLASS(ExternalFloat64Array, external_float64_array); |
| 1105 #undef REGISTER_SCALARLIST_CLASS | 1114 #undef REGISTER_SCALARLIST_CLASS |
| 1106 | 1115 |
| 1107 #define REGISTER_TYPED_DATA_CLASS(clazz) \ | 1116 #define REGISTER_TYPED_DATA_CLASS(clazz) \ |
| 1108 cls = Class::NewTypedDataClass(kTypedData##clazz##Cid); | 1117 cls = Class::NewTypedDataClass(kTypedData##clazz##Cid); |
| 1109 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_CLASS); | 1118 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_CLASS); |
| 1110 #undef REGISTER_TYPED_DATA_CLASS | 1119 #undef REGISTER_TYPED_DATA_CLASS |
| 1120 #define REGISTER_TYPED_DATA_VIEW_CLASS(clazz) \ | |
| 1121 cls = Class::NewTypedDataViewClass(kTypedData##clazz##ViewCid); | |
| 1122 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_VIEW_CLASS); | |
| 1123 #undef REGISTER_TYPED_DATA_VIEW_CLASS | |
| 1111 #define REGISTER_EXT_TYPED_DATA_CLASS(clazz) \ | 1124 #define REGISTER_EXT_TYPED_DATA_CLASS(clazz) \ |
| 1112 cls = Class::NewExternalTypedDataClass(kExternalTypedData##clazz##Cid); | 1125 cls = Class::NewExternalTypedDataClass(kExternalTypedData##clazz##Cid); |
| 1113 CLASS_LIST_TYPED_DATA(REGISTER_EXT_TYPED_DATA_CLASS); | 1126 CLASS_LIST_TYPED_DATA(REGISTER_EXT_TYPED_DATA_CLASS); |
| 1114 #undef REGISTER_EXT_TYPED_DATA_CLASS | 1127 #undef REGISTER_EXT_TYPED_DATA_CLASS |
| 1115 | 1128 |
| 1116 cls = Class::New<Integer>(); | 1129 cls = Class::New<Integer>(); |
| 1117 object_store->set_integer_implementation_class(cls); | 1130 object_store->set_integer_implementation_class(cls); |
| 1118 | 1131 |
| 1119 cls = Class::New<Smi>(); | 1132 cls = Class::New<Smi>(); |
| 1120 object_store->set_smi_class(cls); | 1133 object_store->set_smi_class(cls); |
| (...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1945 ASSERT(RawObject::IsTypedDataClassId(class_id)); | 1958 ASSERT(RawObject::IsTypedDataClassId(class_id)); |
| 1946 intptr_t instance_size = TypedData::InstanceSize(); | 1959 intptr_t instance_size = TypedData::InstanceSize(); |
| 1947 Class& result = Class::Handle(New<TypedData>(class_id)); | 1960 Class& result = Class::Handle(New<TypedData>(class_id)); |
| 1948 result.set_instance_size(instance_size); | 1961 result.set_instance_size(instance_size); |
| 1949 result.set_next_field_offset(instance_size); | 1962 result.set_next_field_offset(instance_size); |
| 1950 result.set_is_prefinalized(); | 1963 result.set_is_prefinalized(); |
| 1951 return result.raw(); | 1964 return result.raw(); |
| 1952 } | 1965 } |
| 1953 | 1966 |
| 1954 | 1967 |
| 1968 RawClass* Class::NewTypedDataViewClass(intptr_t class_id) { | |
| 1969 ASSERT(RawObject::IsTypedDataViewClassId(class_id)); | |
| 1970 Class& result = Class::Handle(New<Instance>(class_id)); | |
| 1971 result.set_instance_size(0); | |
| 1972 result.set_next_field_offset(0); | |
| 1973 return result.raw(); | |
| 1974 } | |
| 1975 | |
| 1976 | |
| 1955 RawClass* Class::NewExternalTypedDataClass(intptr_t class_id) { | 1977 RawClass* Class::NewExternalTypedDataClass(intptr_t class_id) { |
| 1956 ASSERT(RawObject::IsExternalTypedDataClassId(class_id)); | 1978 ASSERT(RawObject::IsExternalTypedDataClassId(class_id)); |
| 1957 intptr_t instance_size = ExternalTypedData::InstanceSize(); | 1979 intptr_t instance_size = ExternalTypedData::InstanceSize(); |
| 1958 Class& result = Class::Handle(New<ExternalTypedData>(class_id)); | 1980 Class& result = Class::Handle(New<ExternalTypedData>(class_id)); |
| 1959 result.set_instance_size(instance_size); | 1981 result.set_instance_size(instance_size); |
| 1960 result.set_next_field_offset(instance_size); | 1982 result.set_next_field_offset(instance_size); |
| 1961 result.set_is_prefinalized(); | 1983 result.set_is_prefinalized(); |
| 1962 return result.raw(); | 1984 return result.raw(); |
| 1963 } | 1985 } |
| 1964 | 1986 |
| (...skipping 11653 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 13618 } | 13640 } |
| 13619 return result.raw(); | 13641 return result.raw(); |
| 13620 } | 13642 } |
| 13621 | 13643 |
| 13622 | 13644 |
| 13623 const char* WeakProperty::ToCString() const { | 13645 const char* WeakProperty::ToCString() const { |
| 13624 return "_WeakProperty"; | 13646 return "_WeakProperty"; |
| 13625 } | 13647 } |
| 13626 | 13648 |
| 13627 } // namespace dart | 13649 } // namespace dart |
| OLD | NEW |