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

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

Issue 414163003: Fix issue 20190: Mark Uint32/Int32 typed data load to produce a Mint always (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 5 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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/globals.h" // Needed here to get TARGET_ARCH_ARM64. 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM64.
6 #if defined(TARGET_ARCH_ARM64) 6 #if defined(TARGET_ARCH_ARM64)
7 7
8 #include "vm/intermediate_language.h" 8 #include "vm/intermediate_language.h"
9 9
10 #include "vm/dart_entry.h" 10 #include "vm/dart_entry.h"
(...skipping 935 matching lines...) Expand 10 before | Expand all | Expand 10 after
946 case kTypedDataUint32ArrayCid: 946 case kTypedDataUint32ArrayCid:
947 return CompileType::FromCid(kSmiCid); 947 return CompileType::FromCid(kSmiCid);
948 948
949 default: 949 default:
950 UNIMPLEMENTED(); 950 UNIMPLEMENTED();
951 return CompileType::Dynamic(); 951 return CompileType::Dynamic();
952 } 952 }
953 } 953 }
954 954
955 955
956 bool LoadIndexedInstr::Typed32BitIsSmi() const { return true; }
957
958
956 Representation LoadIndexedInstr::representation() const { 959 Representation LoadIndexedInstr::representation() const {
957 switch (class_id_) { 960 switch (class_id_) {
958 case kArrayCid: 961 case kArrayCid:
959 case kImmutableArrayCid: 962 case kImmutableArrayCid:
960 case kTypedDataInt8ArrayCid: 963 case kTypedDataInt8ArrayCid:
961 case kTypedDataUint8ArrayCid: 964 case kTypedDataUint8ArrayCid:
962 case kTypedDataUint8ClampedArrayCid: 965 case kTypedDataUint8ClampedArrayCid:
963 case kExternalTypedDataUint8ArrayCid: 966 case kExternalTypedDataUint8ArrayCid:
964 case kExternalTypedDataUint8ClampedArrayCid: 967 case kExternalTypedDataUint8ClampedArrayCid:
965 case kTypedDataInt16ArrayCid: 968 case kTypedDataInt16ArrayCid:
(...skipping 4346 matching lines...) Expand 10 before | Expand all | Expand 10 after
5312 compiler->GenerateCall(token_pos(), &label, stub_kind_, locs()); 5315 compiler->GenerateCall(token_pos(), &label, stub_kind_, locs());
5313 #if defined(DEBUG) 5316 #if defined(DEBUG)
5314 __ LoadImmediate(R4, kInvalidObjectPointer, kNoPP); 5317 __ LoadImmediate(R4, kInvalidObjectPointer, kNoPP);
5315 __ LoadImmediate(R5, kInvalidObjectPointer, kNoPP); 5318 __ LoadImmediate(R5, kInvalidObjectPointer, kNoPP);
5316 #endif 5319 #endif
5317 } 5320 }
5318 5321
5319 } // namespace dart 5322 } // namespace dart
5320 5323
5321 #endif // defined TARGET_ARCH_ARM64 5324 #endif // defined TARGET_ARCH_ARM64
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698