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

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

Issue 13004017: More preparation for removal of dart:scalarlist (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 9 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/flow_graph_optimizer.cc ('k') | runtime/vm/intrinsifier.h » ('j') | 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) 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/intermediate_language.h" 5 #include "vm/intermediate_language.h"
6 6
7 #include "vm/bit_vector.h" 7 #include "vm/bit_vector.h"
8 #include "vm/dart_entry.h" 8 #include "vm/dart_entry.h"
9 #include "vm/flow_graph_allocator.h" 9 #include "vm/flow_graph_allocator.h"
10 #include "vm/flow_graph_builder.h" 10 #include "vm/flow_graph_builder.h"
(...skipping 1968 matching lines...) Expand 10 before | Expand all | Expand 10 after
1979 RangeBoundary::FromConstant(String::kMaxElements)); 1979 RangeBoundary::FromConstant(String::kMaxElements));
1980 return; 1980 return;
1981 } 1981 }
1982 Definition::InferRange(); 1982 Definition::InferRange();
1983 } 1983 }
1984 1984
1985 1985
1986 1986
1987 void LoadIndexedInstr::InferRange() { 1987 void LoadIndexedInstr::InferRange() {
1988 switch (class_id()) { 1988 switch (class_id()) {
1989 case kInt8ArrayCid:
1990 case kTypedDataInt8ArrayCid: 1989 case kTypedDataInt8ArrayCid:
1991 range_ = new Range(RangeBoundary::FromConstant(-128), 1990 range_ = new Range(RangeBoundary::FromConstant(-128),
1992 RangeBoundary::FromConstant(127)); 1991 RangeBoundary::FromConstant(127));
1993 break; 1992 break;
1994 case kUint8ArrayCid:
1995 case kUint8ClampedArrayCid:
1996 case kExternalUint8ArrayCid:
1997 case kExternalUint8ClampedArrayCid:
1998 case kTypedDataUint8ArrayCid: 1993 case kTypedDataUint8ArrayCid:
1999 case kTypedDataUint8ClampedArrayCid: 1994 case kTypedDataUint8ClampedArrayCid:
2000 case kExternalTypedDataUint8ArrayCid: 1995 case kExternalTypedDataUint8ArrayCid:
2001 case kExternalTypedDataUint8ClampedArrayCid: 1996 case kExternalTypedDataUint8ClampedArrayCid:
2002 range_ = new Range(RangeBoundary::FromConstant(0), 1997 range_ = new Range(RangeBoundary::FromConstant(0),
2003 RangeBoundary::FromConstant(255)); 1998 RangeBoundary::FromConstant(255));
2004 break; 1999 break;
2005 case kInt16ArrayCid:
2006 case kTypedDataInt16ArrayCid: 2000 case kTypedDataInt16ArrayCid:
2007 range_ = new Range(RangeBoundary::FromConstant(-32768), 2001 range_ = new Range(RangeBoundary::FromConstant(-32768),
2008 RangeBoundary::FromConstant(32767)); 2002 RangeBoundary::FromConstant(32767));
2009 break; 2003 break;
2010 case kUint16ArrayCid:
2011 case kTypedDataUint16ArrayCid: 2004 case kTypedDataUint16ArrayCid:
2012 range_ = new Range(RangeBoundary::FromConstant(0), 2005 range_ = new Range(RangeBoundary::FromConstant(0),
2013 RangeBoundary::FromConstant(65535)); 2006 RangeBoundary::FromConstant(65535));
2014 break; 2007 break;
2015 case kOneByteStringCid: 2008 case kOneByteStringCid:
2016 range_ = new Range(RangeBoundary::FromConstant(0), 2009 range_ = new Range(RangeBoundary::FromConstant(0),
2017 RangeBoundary::FromConstant(0xFF)); 2010 RangeBoundary::FromConstant(0xFF));
2018 break; 2011 break;
2019 case kTwoByteStringCid: 2012 case kTwoByteStringCid:
2020 range_ = new Range(RangeBoundary::FromConstant(0), 2013 range_ = new Range(RangeBoundary::FromConstant(0),
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
2250 } 2243 }
2251 switch (class_id) { 2244 switch (class_id) {
2252 case kGrowableObjectArrayCid: 2245 case kGrowableObjectArrayCid:
2253 return GrowableObjectArray::length_offset(); 2246 return GrowableObjectArray::length_offset();
2254 case kOneByteStringCid: 2247 case kOneByteStringCid:
2255 case kTwoByteStringCid: 2248 case kTwoByteStringCid:
2256 return String::length_offset(); 2249 return String::length_offset();
2257 case kArrayCid: 2250 case kArrayCid:
2258 case kImmutableArrayCid: 2251 case kImmutableArrayCid:
2259 return Array::length_offset(); 2252 return Array::length_offset();
2260 case kInt8ArrayCid:
2261 case kUint8ArrayCid:
2262 case kUint8ClampedArrayCid:
2263 case kInt16ArrayCid:
2264 case kUint16ArrayCid:
2265 case kInt32ArrayCid:
2266 case kUint32ArrayCid:
2267 case kInt64ArrayCid:
2268 case kUint64ArrayCid:
2269 case kFloat64ArrayCid:
2270 case kFloat32ArrayCid:
2271 case kExternalUint8ArrayCid:
2272 case kExternalUint8ClampedArrayCid:
2273 return ByteArray::length_offset();
2274 default: 2253 default:
2275 UNREACHABLE(); 2254 UNREACHABLE();
2276 return -1; 2255 return -1;
2277 } 2256 }
2278 } 2257 }
2279 2258
2280 2259
2281 InvokeMathCFunctionInstr::InvokeMathCFunctionInstr( 2260 InvokeMathCFunctionInstr::InvokeMathCFunctionInstr(
2282 ZoneGrowableArray<Value*>* inputs, 2261 ZoneGrowableArray<Value*>* inputs,
2283 InstanceCallInstr* instance_call, 2262 InstanceCallInstr* instance_call,
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
2361 default: 2340 default:
2362 UNREACHABLE(); 2341 UNREACHABLE();
2363 } 2342 }
2364 return kPowRuntimeEntry; 2343 return kPowRuntimeEntry;
2365 } 2344 }
2366 2345
2367 2346
2368 #undef __ 2347 #undef __
2369 2348
2370 } // namespace dart 2349 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_optimizer.cc ('k') | runtime/vm/intrinsifier.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698