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

Side by Side Diff: src/hydrogen-instructions.h

Issue 8387070: Make non-templatized versions of LIR printing functions. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 9 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 | Annotate | Revision Log
« no previous file with comments | « src/hashmap.cc ('k') | src/hydrogen-instructions.cc » ('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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 bool CanBeZero() const { return upper_ >= 0 && lower_ <= 0; } 238 bool CanBeZero() const { return upper_ >= 0 && lower_ <= 0; }
239 bool CanBeNegative() const { return lower_ < 0; } 239 bool CanBeNegative() const { return lower_ < 0; }
240 bool Includes(int value) const { return lower_ <= value && upper_ >= value; } 240 bool Includes(int value) const { return lower_ <= value && upper_ >= value; }
241 bool IsMostGeneric() const { 241 bool IsMostGeneric() const {
242 return lower_ == kMinInt && upper_ == kMaxInt && CanBeMinusZero(); 242 return lower_ == kMinInt && upper_ == kMaxInt && CanBeMinusZero();
243 } 243 }
244 bool IsInSmiRange() const { 244 bool IsInSmiRange() const {
245 return lower_ >= Smi::kMinValue && upper_ <= Smi::kMaxValue; 245 return lower_ >= Smi::kMinValue && upper_ <= Smi::kMaxValue;
246 } 246 }
247 void KeepOrder(); 247 void KeepOrder();
248 #ifdef DEBUG
248 void Verify() const; 249 void Verify() const;
250 #endif
249 251
250 void StackUpon(Range* other) { 252 void StackUpon(Range* other) {
251 Intersect(other); 253 Intersect(other);
252 next_ = other; 254 next_ = other;
253 } 255 }
254 256
255 void Intersect(Range* other); 257 void Intersect(Range* other);
256 void Union(Range* other); 258 void Union(Range* other);
257 259
258 void AddConstant(int32_t value); 260 void AddConstant(int32_t value);
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 } 400 }
399 401
400 bool IsHeapObject() { 402 bool IsHeapObject() {
401 ASSERT(type_ != kUninitialized); 403 ASSERT(type_ != kUninitialized);
402 return IsHeapNumber() || IsString() || IsNonPrimitive(); 404 return IsHeapNumber() || IsString() || IsNonPrimitive();
403 } 405 }
404 406
405 static HType TypeFromValue(Handle<Object> value); 407 static HType TypeFromValue(Handle<Object> value);
406 408
407 const char* ToString(); 409 const char* ToString();
408 const char* ToShortString();
409 410
410 private: 411 private:
411 enum Type { 412 enum Type {
412 kTagged = 0x1, // 0000 0000 0000 0001 413 kTagged = 0x1, // 0000 0000 0000 0001
413 kTaggedPrimitive = 0x5, // 0000 0000 0000 0101 414 kTaggedPrimitive = 0x5, // 0000 0000 0000 0101
414 kTaggedNumber = 0xd, // 0000 0000 0000 1101 415 kTaggedNumber = 0xd, // 0000 0000 0000 1101
415 kSmi = 0x1d, // 0000 0000 0001 1101 416 kSmi = 0x1d, // 0000 0000 0001 1101
416 kHeapNumber = 0x2d, // 0000 0000 0010 1101 417 kHeapNumber = 0x2d, // 0000 0000 0010 1101
417 kString = 0x45, // 0000 0000 0100 0101 418 kString = 0x45, // 0000 0000 0100 0101
418 kBoolean = 0x85, // 0000 0000 1000 0101 419 kBoolean = 0x85, // 0000 0000 1000 0101
(...skipping 3865 matching lines...) Expand 10 before | Expand all | Expand 10 after
4284 4285
4285 DECLARE_CONCRETE_INSTRUCTION(In) 4286 DECLARE_CONCRETE_INSTRUCTION(In)
4286 }; 4287 };
4287 4288
4288 #undef DECLARE_INSTRUCTION 4289 #undef DECLARE_INSTRUCTION
4289 #undef DECLARE_CONCRETE_INSTRUCTION 4290 #undef DECLARE_CONCRETE_INSTRUCTION
4290 4291
4291 } } // namespace v8::internal 4292 } } // namespace v8::internal
4292 4293
4293 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ 4294 #endif // V8_HYDROGEN_INSTRUCTIONS_H_
OLDNEW
« no previous file with comments | « src/hashmap.cc ('k') | src/hydrogen-instructions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698