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

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

Issue 23684059: Polymorphic inlining of [] operations. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/intermediate_language.cc ('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 9529 matching lines...) Expand 10 before | Expand all | Expand 10 after
9540 // Frequent case. 9540 // Frequent case.
9541 return raw(); 9541 return raw();
9542 } 9542 }
9543 const intptr_t kNumArgsTested = 1; 9543 const intptr_t kNumArgsTested = 1;
9544 ICData& result = ICData::Handle(ICData::New( 9544 ICData& result = ICData::Handle(ICData::New(
9545 Function::Handle(function()), 9545 Function::Handle(function()),
9546 String::Handle(target_name()), 9546 String::Handle(target_name()),
9547 Array::Handle(arguments_descriptor()), 9547 Array::Handle(arguments_descriptor()),
9548 deopt_id(), 9548 deopt_id(),
9549 kNumArgsTested)); 9549 kNumArgsTested));
9550 result.set_deopt_reason(deopt_reason());
9550 const intptr_t len = NumberOfChecks(); 9551 const intptr_t len = NumberOfChecks();
9551 for (intptr_t i = 0; i < len; i++) { 9552 for (intptr_t i = 0; i < len; i++) {
9552 const intptr_t class_id = GetClassIdAt(i, arg_nr); 9553 const intptr_t class_id = GetClassIdAt(i, arg_nr);
9553 const intptr_t count = GetCountAt(i); 9554 const intptr_t count = GetCountAt(i);
9554 intptr_t duplicate_class_id = -1; 9555 intptr_t duplicate_class_id = -1;
9555 const intptr_t result_len = result.NumberOfChecks(); 9556 const intptr_t result_len = result.NumberOfChecks();
9556 for (intptr_t k = 0; k < result_len; k++) { 9557 for (intptr_t k = 0; k < result_len; k++) {
9557 if (class_id == result.GetReceiverClassIdAt(k)) { 9558 if (class_id == result.GetReceiverClassIdAt(k)) {
9558 duplicate_class_id = k; 9559 duplicate_class_id = k;
9559 break; 9560 break;
(...skipping 5325 matching lines...) Expand 10 before | Expand all | Expand 10 after
14885 return "_MirrorReference"; 14886 return "_MirrorReference";
14886 } 14887 }
14887 14888
14888 14889
14889 void MirrorReference::PrintToJSONStream(JSONStream* stream, bool ref) const { 14890 void MirrorReference::PrintToJSONStream(JSONStream* stream, bool ref) const {
14890 JSONObject jsobj(stream); 14891 JSONObject jsobj(stream);
14891 } 14892 }
14892 14893
14893 14894
14894 } // namespace dart 14895 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698