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

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

Issue 12041005: Optimize loads and stores to Int32Array and Uint32Array. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 11 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) 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/globals.h" // Needed here to get TARGET_ARCH_XXX. 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_XXX.
6 6
7 #include "vm/flow_graph_compiler.h" 7 #include "vm/flow_graph_compiler.h"
8 8
9 #include "vm/cha.h" 9 #include "vm/cha.h"
10 #include "vm/dart_entry.h" 10 #include "vm/dart_entry.h"
(...skipping 872 matching lines...) Expand 10 before | Expand all | Expand 10 after
883 case kInt8ArrayCid: 883 case kInt8ArrayCid:
884 return Int8Array::kBytesPerElement; 884 return Int8Array::kBytesPerElement;
885 case kUint8ArrayCid: 885 case kUint8ArrayCid:
886 return Uint8Array::kBytesPerElement; 886 return Uint8Array::kBytesPerElement;
887 case kUint8ClampedArrayCid: 887 case kUint8ClampedArrayCid:
888 return Uint8ClampedArray::kBytesPerElement; 888 return Uint8ClampedArray::kBytesPerElement;
889 case kInt16ArrayCid: 889 case kInt16ArrayCid:
890 return Int16Array::kBytesPerElement; 890 return Int16Array::kBytesPerElement;
891 case kUint16ArrayCid: 891 case kUint16ArrayCid:
892 return Uint16Array::kBytesPerElement; 892 return Uint16Array::kBytesPerElement;
893 case kInt32ArrayCid:
Kevin Millikin (Google) 2013/01/21 15:16:01 There are several places with boilerplate. Keep i
Florian Schneider 2013/01/21 16:03:25 I'll keep that in mind for my next change where I
894 return Int32Array::kBytesPerElement;
895 case kUint32ArrayCid:
896 return Uint32Array::kBytesPerElement;
893 case kOneByteStringCid: 897 case kOneByteStringCid:
894 return OneByteString::kBytesPerElement; 898 return OneByteString::kBytesPerElement;
895 case kTwoByteStringCid: 899 case kTwoByteStringCid:
896 return TwoByteString::kBytesPerElement; 900 return TwoByteString::kBytesPerElement;
897 case kExternalUint8ArrayCid: 901 case kExternalUint8ArrayCid:
898 return ExternalUint8Array::kBytesPerElement; 902 return ExternalUint8Array::kBytesPerElement;
899 default: 903 default:
900 UNIMPLEMENTED(); 904 UNIMPLEMENTED();
901 return 0; 905 return 0;
902 } 906 }
(...skipping 12 matching lines...) Expand all
915 case kInt8ArrayCid: 919 case kInt8ArrayCid:
916 return Int8Array::data_offset(); 920 return Int8Array::data_offset();
917 case kUint8ArrayCid: 921 case kUint8ArrayCid:
918 return Uint8Array::data_offset(); 922 return Uint8Array::data_offset();
919 case kUint8ClampedArrayCid: 923 case kUint8ClampedArrayCid:
920 return Uint8ClampedArray::data_offset(); 924 return Uint8ClampedArray::data_offset();
921 case kInt16ArrayCid: 925 case kInt16ArrayCid:
922 return Int16Array::data_offset(); 926 return Int16Array::data_offset();
923 case kUint16ArrayCid: 927 case kUint16ArrayCid:
924 return Uint16Array::data_offset(); 928 return Uint16Array::data_offset();
929 case kInt32ArrayCid:
930 return Int32Array::data_offset();
931 case kUint32ArrayCid:
932 return Uint32Array::data_offset();
925 case kOneByteStringCid: 933 case kOneByteStringCid:
926 return OneByteString::data_offset(); 934 return OneByteString::data_offset();
927 case kTwoByteStringCid: 935 case kTwoByteStringCid:
928 return TwoByteString::data_offset(); 936 return TwoByteString::data_offset();
929 default: 937 default:
930 UNIMPLEMENTED(); 938 UNIMPLEMENTED();
931 return Array::data_offset(); 939 return Array::data_offset();
932 } 940 }
933 } 941 }
934 942
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
982 if (i != largest_ix) { 990 if (i != largest_ix) {
983 // Swap. 991 // Swap.
984 CidTarget temp = (*sorted)[i]; 992 CidTarget temp = (*sorted)[i];
985 (*sorted)[i] = (*sorted)[largest_ix]; 993 (*sorted)[i] = (*sorted)[largest_ix];
986 (*sorted)[largest_ix] = temp; 994 (*sorted)[largest_ix] = temp;
987 } 995 }
988 } 996 }
989 } 997 }
990 998
991 } // namespace dart 999 } // namespace dart
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/flow_graph_compiler_ia32.cc » ('j') | runtime/vm/flow_graph_optimizer.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698