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

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

Issue 1381033002: Add data-URI support class to dart:core (next to Uri). (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Remove VM assertion that appears to be incorrect. Created 5 years, 1 month 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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/flow_graph_optimizer.h" 5 #include "vm/flow_graph_optimizer.h"
6 6
7 #include "vm/bit_vector.h" 7 #include "vm/bit_vector.h"
8 #include "vm/cha.h" 8 #include "vm/cha.h"
9 #include "vm/compiler.h" 9 #include "vm/compiler.h"
10 #include "vm/cpu.h" 10 #include "vm/cpu.h"
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 ASSERT(call->HasICData()); 170 ASSERT(call->HasICData());
171 if (call->ic_data()->NumberOfUsedChecks() > 0) { 171 if (call->ic_data()->NumberOfUsedChecks() > 0) {
172 // This occurs when an instance call has too many checks, will be converted 172 // This occurs when an instance call has too many checks, will be converted
173 // to megamorphic call. 173 // to megamorphic call.
174 return false; 174 return false;
175 } 175 }
176 if (FLAG_warn_on_javascript_compatibility) { 176 if (FLAG_warn_on_javascript_compatibility) {
177 // Do not make the instance call megamorphic if the callee needs to decode 177 // Do not make the instance call megamorphic if the callee needs to decode
178 // the calling code sequence to lookup the ic data and verify if a warning 178 // the calling code sequence to lookup the ic data and verify if a warning
179 // has already been issued or not. 179 // has already been issued or not.
180 // TryCreateICData is only invoked if the ic_data target has not been called
181 // yet, so no warning can possibly have been issued.
182 ASSERT(!call->ic_data()->IssuedJSWarning());
Lasse Reichstein Nielsen 2015/11/12 11:48:25 This was hit by standalone/javascript_compatibilit
Florian Schneider 2015/11/12 11:51:10 The reason you hit this is because the string inte
183 if (call->ic_data()->MayCheckForJSWarning()) { 180 if (call->ic_data()->MayCheckForJSWarning()) {
184 return false; 181 return false;
185 } 182 }
186 } 183 }
187 GrowableArray<intptr_t> class_ids(call->ic_data()->NumArgsTested()); 184 GrowableArray<intptr_t> class_ids(call->ic_data()->NumArgsTested());
188 ASSERT(call->ic_data()->NumArgsTested() <= call->ArgumentCount()); 185 ASSERT(call->ic_data()->NumArgsTested() <= call->ArgumentCount());
189 for (intptr_t i = 0; i < call->ic_data()->NumArgsTested(); i++) { 186 for (intptr_t i = 0; i < call->ic_data()->NumArgsTested(); i++) {
190 class_ids.Add(call->PushArgumentAt(i)->value()->Type()->ToCid()); 187 class_ids.Add(call->PushArgumentAt(i)->value()->Type()->ToCid());
191 } 188 }
192 189
(...skipping 8592 matching lines...) Expand 10 before | Expand all | Expand 10 after
8785 8782
8786 // Insert materializations at environment uses. 8783 // Insert materializations at environment uses.
8787 for (intptr_t i = 0; i < exits_collector_.exits().length(); i++) { 8784 for (intptr_t i = 0; i < exits_collector_.exits().length(); i++) {
8788 CreateMaterializationAt( 8785 CreateMaterializationAt(
8789 exits_collector_.exits()[i], alloc, *slots); 8786 exits_collector_.exits()[i], alloc, *slots);
8790 } 8787 }
8791 } 8788 }
8792 8789
8793 8790
8794 } // namespace dart 8791 } // namespace dart
OLDNEW
« CHANGELOG.md ('K') | « runtime/bin/builtin.dart ('k') | sdk/lib/convert/base64.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698