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 3283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3294 return Symbols::Int32List().raw(); | 3294 return Symbols::Int32List().raw(); |
3295 case kTypedDataUint32ArrayCid: | 3295 case kTypedDataUint32ArrayCid: |
3296 case kExternalTypedDataUint32ArrayCid: | 3296 case kExternalTypedDataUint32ArrayCid: |
3297 return Symbols::Uint32List().raw(); | 3297 return Symbols::Uint32List().raw(); |
3298 case kTypedDataInt64ArrayCid: | 3298 case kTypedDataInt64ArrayCid: |
3299 case kExternalTypedDataInt64ArrayCid: | 3299 case kExternalTypedDataInt64ArrayCid: |
3300 return Symbols::Int64List().raw(); | 3300 return Symbols::Int64List().raw(); |
3301 case kTypedDataUint64ArrayCid: | 3301 case kTypedDataUint64ArrayCid: |
3302 case kExternalTypedDataUint64ArrayCid: | 3302 case kExternalTypedDataUint64ArrayCid: |
3303 return Symbols::Uint64List().raw(); | 3303 return Symbols::Uint64List().raw(); |
| 3304 case kTypedDataInt32x4ArrayCid: |
| 3305 case kExternalTypedDataInt32x4ArrayCid: |
| 3306 return Symbols::Int32x4List().raw(); |
3304 case kTypedDataFloat32x4ArrayCid: | 3307 case kTypedDataFloat32x4ArrayCid: |
3305 case kExternalTypedDataFloat32x4ArrayCid: | 3308 case kExternalTypedDataFloat32x4ArrayCid: |
3306 return Symbols::Float32x4List().raw(); | 3309 return Symbols::Float32x4List().raw(); |
| 3310 case kTypedDataFloat64x2ArrayCid: |
| 3311 case kExternalTypedDataFloat64x2ArrayCid: |
| 3312 return Symbols::Float64x2List().raw(); |
3307 case kTypedDataFloat32ArrayCid: | 3313 case kTypedDataFloat32ArrayCid: |
3308 case kExternalTypedDataFloat32ArrayCid: | 3314 case kExternalTypedDataFloat32ArrayCid: |
3309 return Symbols::Float32List().raw(); | 3315 return Symbols::Float32List().raw(); |
3310 case kTypedDataFloat64ArrayCid: | 3316 case kTypedDataFloat64ArrayCid: |
3311 case kExternalTypedDataFloat64ArrayCid: | 3317 case kExternalTypedDataFloat64ArrayCid: |
3312 return Symbols::Float64List().raw(); | 3318 return Symbols::Float64List().raw(); |
3313 default: | 3319 default: |
3314 if (!IsCanonicalSignatureClass()) { | 3320 if (!IsCanonicalSignatureClass()) { |
3315 const String& name = String::Handle(Name()); | 3321 const String& name = String::Handle(Name()); |
3316 return String::IdentifierPrettyName(name); | 3322 return String::IdentifierPrettyName(name); |
(...skipping 16784 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
20101 return array.raw(); | 20107 return array.raw(); |
20102 } | 20108 } |
20103 | 20109 |
20104 | 20110 |
20105 const char* TypedData::ToCString() const { | 20111 const char* TypedData::ToCString() const { |
20106 return "TypedData"; | 20112 return "TypedData"; |
20107 } | 20113 } |
20108 | 20114 |
20109 | 20115 |
20110 void TypedData::PrintJSONImpl(JSONStream* stream, bool ref) const { | 20116 void TypedData::PrintJSONImpl(JSONStream* stream, bool ref) const { |
20111 Instance::PrintJSONImpl(stream, ref); | 20117 JSONObject jsobj(stream); |
| 20118 PrintSharedInstanceJSON(&jsobj, ref); |
| 20119 const Class& cls = Class::Handle(clazz()); |
| 20120 const String& kind = String::Handle(cls.UserVisibleName()); |
| 20121 jsobj.AddProperty("kind", kind.ToCString()); |
| 20122 jsobj.AddServiceId(*this); |
| 20123 jsobj.AddProperty("length", Length()); |
| 20124 if (ref) { |
| 20125 return; |
| 20126 } |
| 20127 |
| 20128 { |
| 20129 NoSafepointScope no_safepoint; |
| 20130 jsobj.AddPropertyBase64("bytes", |
| 20131 reinterpret_cast<const uint8_t*>(DataAddr(0)), |
| 20132 LengthInBytes()); |
| 20133 } |
20112 } | 20134 } |
20113 | 20135 |
20114 | 20136 |
20115 FinalizablePersistentHandle* ExternalTypedData::AddFinalizer( | 20137 FinalizablePersistentHandle* ExternalTypedData::AddFinalizer( |
20116 void* peer, Dart_WeakPersistentHandleFinalizer callback) const { | 20138 void* peer, Dart_WeakPersistentHandleFinalizer callback) const { |
20117 return dart::AddFinalizer(*this, peer, callback); | 20139 return dart::AddFinalizer(*this, peer, callback); |
20118 } | 20140 } |
20119 | 20141 |
20120 | 20142 |
20121 RawExternalTypedData* ExternalTypedData::New(intptr_t class_id, | 20143 RawExternalTypedData* ExternalTypedData::New(intptr_t class_id, |
(...skipping 14 matching lines...) Expand all Loading... |
20136 } | 20158 } |
20137 | 20159 |
20138 | 20160 |
20139 const char* ExternalTypedData::ToCString() const { | 20161 const char* ExternalTypedData::ToCString() const { |
20140 return "ExternalTypedData"; | 20162 return "ExternalTypedData"; |
20141 } | 20163 } |
20142 | 20164 |
20143 | 20165 |
20144 void ExternalTypedData::PrintJSONImpl(JSONStream* stream, | 20166 void ExternalTypedData::PrintJSONImpl(JSONStream* stream, |
20145 bool ref) const { | 20167 bool ref) const { |
20146 Instance::PrintJSONImpl(stream, ref); | 20168 JSONObject jsobj(stream); |
| 20169 PrintSharedInstanceJSON(&jsobj, ref); |
| 20170 const Class& cls = Class::Handle(clazz()); |
| 20171 const String& kind = String::Handle(cls.UserVisibleName()); |
| 20172 jsobj.AddProperty("kind", kind.ToCString()); |
| 20173 jsobj.AddServiceId(*this); |
| 20174 jsobj.AddProperty("length", Length()); |
| 20175 if (ref) { |
| 20176 return; |
| 20177 } |
| 20178 |
| 20179 { |
| 20180 NoSafepointScope no_safepoint; |
| 20181 jsobj.AddPropertyBase64("bytes", |
| 20182 reinterpret_cast<const uint8_t*>(DataAddr(0)), |
| 20183 LengthInBytes()); |
| 20184 } |
20147 } | 20185 } |
20148 | 20186 |
20149 | 20187 |
20150 RawCapability* Capability::New(uint64_t id, Heap::Space space) { | 20188 RawCapability* Capability::New(uint64_t id, Heap::Space space) { |
20151 Capability& result = Capability::Handle(); | 20189 Capability& result = Capability::Handle(); |
20152 { | 20190 { |
20153 RawObject* raw = Object::Allocate(Capability::kClassId, | 20191 RawObject* raw = Object::Allocate(Capability::kClassId, |
20154 Capability::InstanceSize(), | 20192 Capability::InstanceSize(), |
20155 space); | 20193 space); |
20156 NoSafepointScope no_safepoint; | 20194 NoSafepointScope no_safepoint; |
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
20813 return tag_label.ToCString(); | 20851 return tag_label.ToCString(); |
20814 } | 20852 } |
20815 | 20853 |
20816 | 20854 |
20817 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { | 20855 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { |
20818 Instance::PrintJSONImpl(stream, ref); | 20856 Instance::PrintJSONImpl(stream, ref); |
20819 } | 20857 } |
20820 | 20858 |
20821 | 20859 |
20822 } // namespace dart | 20860 } // namespace dart |
OLD | NEW |