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

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

Issue 1157003003: Add TypedData instance kinds. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 6 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/object.h ('k') | runtime/vm/service/service.md » ('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 #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
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
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
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
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
OLDNEW
« no previous file with comments | « runtime/vm/object.h ('k') | runtime/vm/service/service.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698