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

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

Issue 1253373002: VM: Hoist handle allocation out of loop when creating the object pool. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 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') | 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 10877 matching lines...) Expand 10 before | Expand all | Expand 10 after
10888 StorePointer(&raw_ptr()->info_array_, info_array.raw()); 10888 StorePointer(&raw_ptr()->info_array_, info_array.raw());
10889 } 10889 }
10890 10890
10891 10891
10892 ObjectPool::EntryType ObjectPool::InfoAt(intptr_t index) const { 10892 ObjectPool::EntryType ObjectPool::InfoAt(intptr_t index) const {
10893 const TypedData& array = TypedData::Handle(info_array()); 10893 const TypedData& array = TypedData::Handle(info_array());
10894 return static_cast<EntryType>(array.GetInt8(index)); 10894 return static_cast<EntryType>(array.GetInt8(index));
10895 } 10895 }
10896 10896
10897 10897
10898 void ObjectPool::SetInfoAt(intptr_t index, EntryType info) const {
10899 const TypedData& array = TypedData::Handle(info_array());
10900 array.SetInt8(index, static_cast<int8_t>(info));
10901 }
10902
10903 const char* ObjectPool::ToCString() const { 10898 const char* ObjectPool::ToCString() const {
10904 return "ObjectPool"; 10899 return "ObjectPool";
10905 } 10900 }
10906 10901
10907 10902
10908 void ObjectPool::PrintJSONImpl(JSONStream* stream, bool ref) const { 10903 void ObjectPool::PrintJSONImpl(JSONStream* stream, bool ref) const {
10909 JSONObject jsobj(stream); 10904 JSONObject jsobj(stream);
10910 AddCommonObjectProperties(&jsobj, "Object", ref); 10905 AddCommonObjectProperties(&jsobj, "Object", ref);
10911 jsobj.AddServiceId(*this); 10906 jsobj.AddServiceId(*this);
10912 jsobj.AddProperty("length", Length()); 10907 jsobj.AddProperty("length", Length());
(...skipping 10361 matching lines...) Expand 10 before | Expand all | Expand 10 after
21274 return tag_label.ToCString(); 21269 return tag_label.ToCString();
21275 } 21270 }
21276 21271
21277 21272
21278 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { 21273 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const {
21279 Instance::PrintJSONImpl(stream, ref); 21274 Instance::PrintJSONImpl(stream, ref);
21280 } 21275 }
21281 21276
21282 21277
21283 } // namespace dart 21278 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/object.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698