| 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/cpu.h" | 10 #include "vm/cpu.h" |
| (...skipping 1130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1141 pending_classes.Add(cls); | 1141 pending_classes.Add(cls); |
| 1142 #undef REGISTER_TYPED_DATA_VIEW_CLASS | 1142 #undef REGISTER_TYPED_DATA_VIEW_CLASS |
| 1143 #define REGISTER_EXT_TYPED_DATA_CLASS(clazz) \ | 1143 #define REGISTER_EXT_TYPED_DATA_CLASS(clazz) \ |
| 1144 cls = Class::NewExternalTypedDataClass(kExternalTypedData##clazz##Cid); \ | 1144 cls = Class::NewExternalTypedDataClass(kExternalTypedData##clazz##Cid); \ |
| 1145 index = kExternalTypedData##clazz##Cid - kTypedDataInt8ArrayCid; \ | 1145 index = kExternalTypedData##clazz##Cid - kTypedDataInt8ArrayCid; \ |
| 1146 typed_data_classes.SetAt(index, cls); \ | 1146 typed_data_classes.SetAt(index, cls); \ |
| 1147 RegisterPrivateClass(cls, Symbols::_External##clazz(), lib); \ | 1147 RegisterPrivateClass(cls, Symbols::_External##clazz(), lib); \ |
| 1148 | 1148 |
| 1149 CLASS_LIST_TYPED_DATA(REGISTER_EXT_TYPED_DATA_CLASS); | 1149 CLASS_LIST_TYPED_DATA(REGISTER_EXT_TYPED_DATA_CLASS); |
| 1150 #undef REGISTER_EXT_TYPED_DATA_CLASS | 1150 #undef REGISTER_EXT_TYPED_DATA_CLASS |
| 1151 // Register Float32x4 and Uint32x4 in the object store. | 1151 // Register Float32x4 and Int32x4 in the object store. |
| 1152 cls = Class::New<Float32x4>(); | 1152 cls = Class::New<Float32x4>(); |
| 1153 object_store->set_float32x4_class(cls); | 1153 object_store->set_float32x4_class(cls); |
| 1154 RegisterPrivateClass(cls, Symbols::_Float32x4(), lib); | 1154 RegisterPrivateClass(cls, Symbols::_Float32x4(), lib); |
| 1155 cls = Class::New<Uint32x4>(); | 1155 cls = Class::New<Int32x4>(); |
| 1156 object_store->set_uint32x4_class(cls); | 1156 object_store->set_int32x4_class(cls); |
| 1157 RegisterPrivateClass(cls, Symbols::_Uint32x4(), lib); | 1157 RegisterPrivateClass(cls, Symbols::_Int32x4(), lib); |
| 1158 | 1158 |
| 1159 cls = Class::New<Instance>(kIllegalCid); | 1159 cls = Class::New<Instance>(kIllegalCid); |
| 1160 RegisterClass(cls, Symbols::Float32x4(), lib); | 1160 RegisterClass(cls, Symbols::Float32x4(), lib); |
| 1161 cls.set_num_type_arguments(0); | 1161 cls.set_num_type_arguments(0); |
| 1162 cls.set_num_own_type_arguments(0); | 1162 cls.set_num_own_type_arguments(0); |
| 1163 cls.set_is_prefinalized(); | 1163 cls.set_is_prefinalized(); |
| 1164 pending_classes.Add(cls); | 1164 pending_classes.Add(cls); |
| 1165 type = Type::NewNonParameterizedType(cls); | 1165 type = Type::NewNonParameterizedType(cls); |
| 1166 object_store->set_float32x4_type(type); | 1166 object_store->set_float32x4_type(type); |
| 1167 | 1167 |
| 1168 cls = Class::New<Instance>(kIllegalCid); | 1168 cls = Class::New<Instance>(kIllegalCid); |
| 1169 RegisterClass(cls, Symbols::Uint32x4(), lib); | 1169 RegisterClass(cls, Symbols::Int32x4(), lib); |
| 1170 cls.set_num_type_arguments(0); | 1170 cls.set_num_type_arguments(0); |
| 1171 cls.set_num_own_type_arguments(0); | 1171 cls.set_num_own_type_arguments(0); |
| 1172 cls.set_is_prefinalized(); | 1172 cls.set_is_prefinalized(); |
| 1173 pending_classes.Add(cls); | 1173 pending_classes.Add(cls); |
| 1174 type = Type::NewNonParameterizedType(cls); | 1174 type = Type::NewNonParameterizedType(cls); |
| 1175 object_store->set_uint32x4_type(type); | 1175 object_store->set_int32x4_type(type); |
| 1176 | 1176 |
| 1177 object_store->set_typed_data_classes(typed_data_classes); | 1177 object_store->set_typed_data_classes(typed_data_classes); |
| 1178 | 1178 |
| 1179 // Set the super type of class Stacktrace to Object type so that the | 1179 // Set the super type of class Stacktrace to Object type so that the |
| 1180 // 'toString' method is implemented. | 1180 // 'toString' method is implemented. |
| 1181 cls = object_store->stacktrace_class(); | 1181 cls = object_store->stacktrace_class(); |
| 1182 type = object_store->object_type(); | 1182 type = object_store->object_type(); |
| 1183 cls.set_super_type(type); | 1183 cls.set_super_type(type); |
| 1184 | 1184 |
| 1185 // Abstract class that represents the Dart class Function. | 1185 // Abstract class that represents the Dart class Function. |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1301 | 1301 |
| 1302 cls = Class::New<Array>(kImmutableArrayCid); | 1302 cls = Class::New<Array>(kImmutableArrayCid); |
| 1303 object_store->set_immutable_array_class(cls); | 1303 object_store->set_immutable_array_class(cls); |
| 1304 | 1304 |
| 1305 cls = Class::New<GrowableObjectArray>(); | 1305 cls = Class::New<GrowableObjectArray>(); |
| 1306 object_store->set_growable_object_array_class(cls); | 1306 object_store->set_growable_object_array_class(cls); |
| 1307 | 1307 |
| 1308 cls = Class::New<Float32x4>(); | 1308 cls = Class::New<Float32x4>(); |
| 1309 object_store->set_float32x4_class(cls); | 1309 object_store->set_float32x4_class(cls); |
| 1310 | 1310 |
| 1311 cls = Class::New<Uint32x4>(); | 1311 cls = Class::New<Int32x4>(); |
| 1312 object_store->set_uint32x4_class(cls); | 1312 object_store->set_int32x4_class(cls); |
| 1313 | 1313 |
| 1314 #define REGISTER_TYPED_DATA_CLASS(clazz) \ | 1314 #define REGISTER_TYPED_DATA_CLASS(clazz) \ |
| 1315 cls = Class::NewTypedDataClass(kTypedData##clazz##Cid); | 1315 cls = Class::NewTypedDataClass(kTypedData##clazz##Cid); |
| 1316 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_CLASS); | 1316 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_CLASS); |
| 1317 #undef REGISTER_TYPED_DATA_CLASS | 1317 #undef REGISTER_TYPED_DATA_CLASS |
| 1318 #define REGISTER_TYPED_DATA_VIEW_CLASS(clazz) \ | 1318 #define REGISTER_TYPED_DATA_VIEW_CLASS(clazz) \ |
| 1319 cls = Class::NewTypedDataViewClass(kTypedData##clazz##ViewCid); | 1319 cls = Class::NewTypedDataViewClass(kTypedData##clazz##ViewCid); |
| 1320 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_VIEW_CLASS); | 1320 CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_VIEW_CLASS); |
| 1321 cls = Class::NewTypedDataViewClass(kByteDataViewCid); | 1321 cls = Class::NewTypedDataViewClass(kByteDataViewCid); |
| 1322 #undef REGISTER_TYPED_DATA_VIEW_CLASS | 1322 #undef REGISTER_TYPED_DATA_VIEW_CLASS |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1527 case kTwoByteStringCid: | 1527 case kTwoByteStringCid: |
| 1528 case kExternalOneByteStringCid: | 1528 case kExternalOneByteStringCid: |
| 1529 case kExternalTwoByteStringCid: | 1529 case kExternalTwoByteStringCid: |
| 1530 return Symbols::New("String"); | 1530 return Symbols::New("String"); |
| 1531 case kArrayCid: | 1531 case kArrayCid: |
| 1532 case kImmutableArrayCid: | 1532 case kImmutableArrayCid: |
| 1533 case kGrowableObjectArrayCid: | 1533 case kGrowableObjectArrayCid: |
| 1534 return Symbols::List().raw(); | 1534 return Symbols::List().raw(); |
| 1535 case kFloat32x4Cid: | 1535 case kFloat32x4Cid: |
| 1536 return Symbols::Float32x4().raw(); | 1536 return Symbols::Float32x4().raw(); |
| 1537 case kUint32x4Cid: | 1537 case kInt32x4Cid: |
| 1538 return Symbols::Uint32x4().raw(); | 1538 return Symbols::Int32x4().raw(); |
| 1539 case kTypedDataInt8ArrayCid: | 1539 case kTypedDataInt8ArrayCid: |
| 1540 case kExternalTypedDataInt8ArrayCid: | 1540 case kExternalTypedDataInt8ArrayCid: |
| 1541 return Symbols::Int8List().raw(); | 1541 return Symbols::Int8List().raw(); |
| 1542 case kTypedDataUint8ArrayCid: | 1542 case kTypedDataUint8ArrayCid: |
| 1543 case kExternalTypedDataUint8ArrayCid: | 1543 case kExternalTypedDataUint8ArrayCid: |
| 1544 return Symbols::Uint8List().raw(); | 1544 return Symbols::Uint8List().raw(); |
| 1545 case kTypedDataUint8ClampedArrayCid: | 1545 case kTypedDataUint8ClampedArrayCid: |
| 1546 case kExternalTypedDataUint8ClampedArrayCid: | 1546 case kExternalTypedDataUint8ClampedArrayCid: |
| 1547 return Symbols::Uint8ClampedList().raw(); | 1547 return Symbols::Uint8ClampedList().raw(); |
| 1548 case kTypedDataInt16ArrayCid: | 1548 case kTypedDataInt16ArrayCid: |
| (...skipping 9854 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11403 (type_class() == Type::Handle(Type::Double()).type_class()); | 11403 (type_class() == Type::Handle(Type::Double()).type_class()); |
| 11404 } | 11404 } |
| 11405 | 11405 |
| 11406 | 11406 |
| 11407 bool AbstractType::IsFloat32x4Type() const { | 11407 bool AbstractType::IsFloat32x4Type() const { |
| 11408 return HasResolvedTypeClass() && | 11408 return HasResolvedTypeClass() && |
| 11409 (type_class() == Type::Handle(Type::Float32x4()).type_class()); | 11409 (type_class() == Type::Handle(Type::Float32x4()).type_class()); |
| 11410 } | 11410 } |
| 11411 | 11411 |
| 11412 | 11412 |
| 11413 bool AbstractType::IsUint32x4Type() const { | 11413 bool AbstractType::IsInt32x4Type() const { |
| 11414 return HasResolvedTypeClass() && | 11414 return HasResolvedTypeClass() && |
| 11415 (type_class() == Type::Handle(Type::Uint32x4()).type_class()); | 11415 (type_class() == Type::Handle(Type::Int32x4()).type_class()); |
| 11416 } | 11416 } |
| 11417 | 11417 |
| 11418 | 11418 |
| 11419 bool AbstractType::IsNumberType() const { | 11419 bool AbstractType::IsNumberType() const { |
| 11420 return HasResolvedTypeClass() && | 11420 return HasResolvedTypeClass() && |
| 11421 (type_class() == Type::Handle(Type::Number()).type_class()); | 11421 (type_class() == Type::Handle(Type::Number()).type_class()); |
| 11422 } | 11422 } |
| 11423 | 11423 |
| 11424 | 11424 |
| 11425 bool AbstractType::IsStringType() const { | 11425 bool AbstractType::IsStringType() const { |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11568 RawType* Type::Double() { | 11568 RawType* Type::Double() { |
| 11569 return Isolate::Current()->object_store()->double_type(); | 11569 return Isolate::Current()->object_store()->double_type(); |
| 11570 } | 11570 } |
| 11571 | 11571 |
| 11572 | 11572 |
| 11573 RawType* Type::Float32x4() { | 11573 RawType* Type::Float32x4() { |
| 11574 return Isolate::Current()->object_store()->float32x4_type(); | 11574 return Isolate::Current()->object_store()->float32x4_type(); |
| 11575 } | 11575 } |
| 11576 | 11576 |
| 11577 | 11577 |
| 11578 RawType* Type::Uint32x4() { | 11578 RawType* Type::Int32x4() { |
| 11579 return Isolate::Current()->object_store()->uint32x4_type(); | 11579 return Isolate::Current()->object_store()->int32x4_type(); |
| 11580 } | 11580 } |
| 11581 | 11581 |
| 11582 | 11582 |
| 11583 RawType* Type::Number() { | 11583 RawType* Type::Number() { |
| 11584 return Isolate::Current()->object_store()->number_type(); | 11584 return Isolate::Current()->object_store()->number_type(); |
| 11585 } | 11585 } |
| 11586 | 11586 |
| 11587 | 11587 |
| 11588 RawType* Type::StringType() { | 11588 RawType* Type::StringType() { |
| 11589 return Isolate::Current()->object_store()->string_type(); | 11589 return Isolate::Current()->object_store()->string_type(); |
| (...skipping 3456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 15046 OS::SNPrint(chars, len, kFormat, _x, _y, _z, _w); | 15046 OS::SNPrint(chars, len, kFormat, _x, _y, _z, _w); |
| 15047 return chars; | 15047 return chars; |
| 15048 } | 15048 } |
| 15049 | 15049 |
| 15050 | 15050 |
| 15051 void Float32x4::PrintToJSONStream(JSONStream* stream, bool ref) const { | 15051 void Float32x4::PrintToJSONStream(JSONStream* stream, bool ref) const { |
| 15052 JSONObject jsobj(stream); | 15052 JSONObject jsobj(stream); |
| 15053 } | 15053 } |
| 15054 | 15054 |
| 15055 | 15055 |
| 15056 RawUint32x4* Uint32x4::New(uint32_t v0, uint32_t v1, uint32_t v2, uint32_t v3, | 15056 RawInt32x4* Int32x4::New(int32_t v0, int32_t v1, int32_t v2, int32_t v3, |
| 15057 Heap::Space space) { | 15057 Heap::Space space) { |
| 15058 ASSERT(Isolate::Current()->object_store()->uint32x4_class() != | 15058 ASSERT(Isolate::Current()->object_store()->int32x4_class() != |
| 15059 Class::null()); | 15059 Class::null()); |
| 15060 Uint32x4& result = Uint32x4::Handle(); | 15060 Int32x4& result = Int32x4::Handle(); |
| 15061 { | 15061 { |
| 15062 RawObject* raw = Object::Allocate(Uint32x4::kClassId, | 15062 RawObject* raw = Object::Allocate(Int32x4::kClassId, |
| 15063 Uint32x4::InstanceSize(), | 15063 Int32x4::InstanceSize(), |
| 15064 space); | 15064 space); |
| 15065 NoGCScope no_gc; | 15065 NoGCScope no_gc; |
| 15066 result ^= raw; | 15066 result ^= raw; |
| 15067 } | 15067 } |
| 15068 result.set_x(v0); | 15068 result.set_x(v0); |
| 15069 result.set_y(v1); | 15069 result.set_y(v1); |
| 15070 result.set_z(v2); | 15070 result.set_z(v2); |
| 15071 result.set_w(v3); | 15071 result.set_w(v3); |
| 15072 return result.raw(); | 15072 return result.raw(); |
| 15073 } | 15073 } |
| 15074 | 15074 |
| 15075 | 15075 |
| 15076 RawUint32x4* Uint32x4::New(simd128_value_t value, Heap::Space space) { | 15076 RawInt32x4* Int32x4::New(simd128_value_t value, Heap::Space space) { |
| 15077 ASSERT(Isolate::Current()->object_store()->float32x4_class() != | 15077 ASSERT(Isolate::Current()->object_store()->int32x4_class() != |
| 15078 Class::null()); | 15078 Class::null()); |
| 15079 Uint32x4& result = Uint32x4::Handle(); | 15079 Int32x4& result = Int32x4::Handle(); |
| 15080 { | 15080 { |
| 15081 RawObject* raw = Object::Allocate(Uint32x4::kClassId, | 15081 RawObject* raw = Object::Allocate(Int32x4::kClassId, |
| 15082 Uint32x4::InstanceSize(), | 15082 Int32x4::InstanceSize(), |
| 15083 space); | 15083 space); |
| 15084 NoGCScope no_gc; | 15084 NoGCScope no_gc; |
| 15085 result ^= raw; | 15085 result ^= raw; |
| 15086 } | 15086 } |
| 15087 result.set_value(value); | 15087 result.set_value(value); |
| 15088 return result.raw(); | 15088 return result.raw(); |
| 15089 } | 15089 } |
| 15090 | 15090 |
| 15091 | 15091 |
| 15092 void Uint32x4::set_x(uint32_t value) const { | 15092 void Int32x4::set_x(int32_t value) const { |
| 15093 raw_ptr()->value_[0] = value; | 15093 raw_ptr()->value_[0] = value; |
| 15094 } | 15094 } |
| 15095 | 15095 |
| 15096 | 15096 |
| 15097 void Uint32x4::set_y(uint32_t value) const { | 15097 void Int32x4::set_y(int32_t value) const { |
| 15098 raw_ptr()->value_[1] = value; | 15098 raw_ptr()->value_[1] = value; |
| 15099 } | 15099 } |
| 15100 | 15100 |
| 15101 | 15101 |
| 15102 void Uint32x4::set_z(uint32_t value) const { | 15102 void Int32x4::set_z(int32_t value) const { |
| 15103 raw_ptr()->value_[2] = value; | 15103 raw_ptr()->value_[2] = value; |
| 15104 } | 15104 } |
| 15105 | 15105 |
| 15106 | 15106 |
| 15107 void Uint32x4::set_w(uint32_t value) const { | 15107 void Int32x4::set_w(int32_t value) const { |
| 15108 raw_ptr()->value_[3] = value; | 15108 raw_ptr()->value_[3] = value; |
| 15109 } | 15109 } |
| 15110 | 15110 |
| 15111 | 15111 |
| 15112 uint32_t Uint32x4::x() const { | 15112 int32_t Int32x4::x() const { |
| 15113 return raw_ptr()->value_[0]; | 15113 return raw_ptr()->value_[0]; |
| 15114 } | 15114 } |
| 15115 | 15115 |
| 15116 | 15116 |
| 15117 uint32_t Uint32x4::y() const { | 15117 int32_t Int32x4::y() const { |
| 15118 return raw_ptr()->value_[1]; | 15118 return raw_ptr()->value_[1]; |
| 15119 } | 15119 } |
| 15120 | 15120 |
| 15121 | 15121 |
| 15122 uint32_t Uint32x4::z() const { | 15122 int32_t Int32x4::z() const { |
| 15123 return raw_ptr()->value_[2]; | 15123 return raw_ptr()->value_[2]; |
| 15124 } | 15124 } |
| 15125 | 15125 |
| 15126 | 15126 |
| 15127 uint32_t Uint32x4::w() const { | 15127 int32_t Int32x4::w() const { |
| 15128 return raw_ptr()->value_[3]; | 15128 return raw_ptr()->value_[3]; |
| 15129 } | 15129 } |
| 15130 | 15130 |
| 15131 | 15131 |
| 15132 simd128_value_t Uint32x4::value() const { | 15132 simd128_value_t Int32x4::value() const { |
| 15133 return simd128_value_t().readFrom(&raw_ptr()->value_[0]); | 15133 return simd128_value_t().readFrom(&raw_ptr()->value_[0]); |
| 15134 } | 15134 } |
| 15135 | 15135 |
| 15136 | 15136 |
| 15137 void Uint32x4::set_value(simd128_value_t value) const { | 15137 void Int32x4::set_value(simd128_value_t value) const { |
| 15138 value.writeTo(&raw_ptr()->value_[0]); | 15138 value.writeTo(&raw_ptr()->value_[0]); |
| 15139 } | 15139 } |
| 15140 | 15140 |
| 15141 | 15141 |
| 15142 const char* Uint32x4::ToCString() const { | 15142 const char* Int32x4::ToCString() const { |
| 15143 const char* kFormat = "[%08x, %08x, %08x, %08x]"; | 15143 const char* kFormat = "[%08x, %08x, %08x, %08x]"; |
| 15144 uint32_t _x = x(); | 15144 int32_t _x = x(); |
| 15145 uint32_t _y = y(); | 15145 int32_t _y = y(); |
| 15146 uint32_t _z = z(); | 15146 int32_t _z = z(); |
| 15147 uint32_t _w = w(); | 15147 int32_t _w = w(); |
| 15148 // Calculate the size of the string. | 15148 // Calculate the size of the string. |
| 15149 intptr_t len = OS::SNPrint(NULL, 0, kFormat, _x, _y, _z, _w) + 1; | 15149 intptr_t len = OS::SNPrint(NULL, 0, kFormat, _x, _y, _z, _w) + 1; |
| 15150 char* chars = Isolate::Current()->current_zone()->Alloc<char>(len); | 15150 char* chars = Isolate::Current()->current_zone()->Alloc<char>(len); |
| 15151 OS::SNPrint(chars, len, kFormat, _x, _y, _z, _w); | 15151 OS::SNPrint(chars, len, kFormat, _x, _y, _z, _w); |
| 15152 return chars; | 15152 return chars; |
| 15153 } | 15153 } |
| 15154 | 15154 |
| 15155 | 15155 |
| 15156 void Uint32x4::PrintToJSONStream(JSONStream* stream, bool ref) const { | 15156 void Int32x4::PrintToJSONStream(JSONStream* stream, bool ref) const { |
| 15157 JSONObject jsobj(stream); | 15157 JSONObject jsobj(stream); |
| 15158 } | 15158 } |
| 15159 | 15159 |
| 15160 | 15160 |
| 15161 const intptr_t TypedData::element_size[] = { | 15161 const intptr_t TypedData::element_size[] = { |
| 15162 1, // kTypedDataInt8ArrayCid. | 15162 1, // kTypedDataInt8ArrayCid. |
| 15163 1, // kTypedDataUint8ArrayCid. | 15163 1, // kTypedDataUint8ArrayCid. |
| 15164 1, // kTypedDataUint8ClampedArrayCid. | 15164 1, // kTypedDataUint8ClampedArrayCid. |
| 15165 2, // kTypedDataInt16ArrayCid. | 15165 2, // kTypedDataInt16ArrayCid. |
| 15166 2, // kTypedDataUint16ArrayCid. | 15166 2, // kTypedDataUint16ArrayCid. |
| 15167 4, // kTypedDataInt32ArrayCid. | 15167 4, // kTypedDataInt32ArrayCid. |
| 15168 4, // kTypedDataUint32ArrayCid. | 15168 4, // kTypedDataUint32ArrayCid. |
| 15169 8, // kTypedDataInt64ArrayCid. | 15169 8, // kTypedDataInt64ArrayCid. |
| 15170 8, // kTypedDataUint64ArrayCid. | 15170 8, // kTypedDataUint64ArrayCid. |
| 15171 4, // kTypedDataFloat32ArrayCid. | 15171 4, // kTypedDataFloat32ArrayCid. |
| 15172 8, // kTypedDataFloat64ArrayCid. | 15172 8, // kTypedDataFloat64ArrayCid. |
| 15173 16, // kTypedDataFloat32x4ArrayCid. | 15173 16, // kTypedDataFloat32x4ArrayCid. |
| 15174 16, // kTypedDataUint32x4ArrayCid. | 15174 16, // kTypedDataInt32x4ArrayCid. |
| 15175 }; | 15175 }; |
| 15176 | 15176 |
| 15177 | 15177 |
| 15178 RawTypedData* TypedData::New(intptr_t class_id, | 15178 RawTypedData* TypedData::New(intptr_t class_id, |
| 15179 intptr_t len, | 15179 intptr_t len, |
| 15180 Heap::Space space) { | 15180 Heap::Space space) { |
| 15181 if (len < 0 || len > TypedData::MaxElements(class_id)) { | 15181 if (len < 0 || len > TypedData::MaxElements(class_id)) { |
| 15182 FATAL1("Fatal error in TypedData::New: invalid len %" Pd "\n", len); | 15182 FATAL1("Fatal error in TypedData::New: invalid len %" Pd "\n", len); |
| 15183 } | 15183 } |
| 15184 TypedData& result = TypedData::Handle(); | 15184 TypedData& result = TypedData::Handle(); |
| (...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 15717 return "_MirrorReference"; | 15717 return "_MirrorReference"; |
| 15718 } | 15718 } |
| 15719 | 15719 |
| 15720 | 15720 |
| 15721 void MirrorReference::PrintToJSONStream(JSONStream* stream, bool ref) const { | 15721 void MirrorReference::PrintToJSONStream(JSONStream* stream, bool ref) const { |
| 15722 JSONObject jsobj(stream); | 15722 JSONObject jsobj(stream); |
| 15723 } | 15723 } |
| 15724 | 15724 |
| 15725 | 15725 |
| 15726 } // namespace dart | 15726 } // namespace dart |
| OLD | NEW |