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

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

Issue 2005813002: Fix optimizer bug with external strings. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 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/dart_api_impl_test.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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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/redundancy_elimination.h" 5 #include "vm/redundancy_elimination.h"
6 6
7 #include "vm/bit_vector.h" 7 #include "vm/bit_vector.h"
8 #include "vm/flow_graph.h" 8 #include "vm/flow_graph.h"
9 #include "vm/hash_map.h" 9 #include "vm/hash_map.h"
10 #include "vm/il_printer.h" 10 #include "vm/il_printer.h"
(...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 RepresentationBits::encode(rep) | 543 RepresentationBits::encode(rep) |
544 ElementSizeBits::encode(scale); 544 ElementSizeBits::encode(scale);
545 } 545 }
546 546
547 static ElementSize ElementSizeFor(intptr_t class_id) { 547 static ElementSize ElementSizeFor(intptr_t class_id) {
548 switch (class_id) { 548 switch (class_id) {
549 case kArrayCid: 549 case kArrayCid:
550 case kImmutableArrayCid: 550 case kImmutableArrayCid:
551 case kOneByteStringCid: 551 case kOneByteStringCid:
552 case kTwoByteStringCid: 552 case kTwoByteStringCid:
553 case kExternalOneByteStringCid:
554 case kExternalTwoByteStringCid:
553 // Object arrays and strings do not allow accessing them through 555 // Object arrays and strings do not allow accessing them through
554 // different types. No need to attach scale. 556 // different types. No need to attach scale.
555 return kNoSize; 557 return kNoSize;
556 558
557 case kTypedDataInt8ArrayCid: 559 case kTypedDataInt8ArrayCid:
558 case kTypedDataUint8ArrayCid: 560 case kTypedDataUint8ArrayCid:
559 case kTypedDataUint8ClampedArrayCid: 561 case kTypedDataUint8ClampedArrayCid:
560 case kExternalTypedDataUint8ArrayCid: 562 case kExternalTypedDataUint8ArrayCid:
561 case kExternalTypedDataUint8ClampedArrayCid: 563 case kExternalTypedDataUint8ClampedArrayCid:
562 return kInt8; 564 return kInt8;
(...skipping 2900 matching lines...) Expand 10 before | Expand all | Expand 10 after
3463 join->phis_ = NULL; 3465 join->phis_ = NULL;
3464 } else { 3466 } else {
3465 join->phis_->TruncateTo(to_index); 3467 join->phis_->TruncateTo(to_index);
3466 } 3468 }
3467 } 3469 }
3468 } 3470 }
3469 } 3471 }
3470 3472
3471 3473
3472 } // namespace dart 3474 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/dart_api_impl_test.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698