OLD | NEW |
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 2431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2442 SetOperandAt(0, index); | 2442 SetOperandAt(0, index); |
2443 SetOperandAt(1, length); | 2443 SetOperandAt(1, length); |
2444 set_representation(Representation::Integer32()); | 2444 set_representation(Representation::Integer32()); |
2445 SetFlag(kUseGVN); | 2445 SetFlag(kUseGVN); |
2446 } | 2446 } |
2447 | 2447 |
2448 virtual Representation RequiredInputRepresentation(int index) const { | 2448 virtual Representation RequiredInputRepresentation(int index) const { |
2449 return Representation::Integer32(); | 2449 return Representation::Integer32(); |
2450 } | 2450 } |
2451 | 2451 |
| 2452 virtual void PrintDataTo(StringStream* stream); |
| 2453 |
2452 HValue* index() { return OperandAt(0); } | 2454 HValue* index() { return OperandAt(0); } |
2453 HValue* length() { return OperandAt(1); } | 2455 HValue* length() { return OperandAt(1); } |
2454 | 2456 |
2455 DECLARE_CONCRETE_INSTRUCTION(BoundsCheck) | 2457 DECLARE_CONCRETE_INSTRUCTION(BoundsCheck) |
2456 | 2458 |
2457 protected: | 2459 protected: |
2458 virtual bool DataEquals(HValue* other) { return true; } | 2460 virtual bool DataEquals(HValue* other) { return true; } |
2459 }; | 2461 }; |
2460 | 2462 |
2461 | 2463 |
(...skipping 947 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3409 HValue* context() { return OperandAt(0); } | 3411 HValue* context() { return OperandAt(0); } |
3410 HValue* object() { return OperandAt(1); } | 3412 HValue* object() { return OperandAt(1); } |
3411 ZoneMapList* types() { return &types_; } | 3413 ZoneMapList* types() { return &types_; } |
3412 Handle<String> name() { return name_; } | 3414 Handle<String> name() { return name_; } |
3413 bool need_generic() { return need_generic_; } | 3415 bool need_generic() { return need_generic_; } |
3414 | 3416 |
3415 virtual Representation RequiredInputRepresentation(int index) const { | 3417 virtual Representation RequiredInputRepresentation(int index) const { |
3416 return Representation::Tagged(); | 3418 return Representation::Tagged(); |
3417 } | 3419 } |
3418 | 3420 |
| 3421 virtual void PrintDataTo(StringStream* stream); |
| 3422 |
3419 DECLARE_CONCRETE_INSTRUCTION(LoadNamedFieldPolymorphic) | 3423 DECLARE_CONCRETE_INSTRUCTION(LoadNamedFieldPolymorphic) |
3420 | 3424 |
3421 static const int kMaxLoadPolymorphism = 4; | 3425 static const int kMaxLoadPolymorphism = 4; |
3422 | 3426 |
3423 protected: | 3427 protected: |
3424 virtual bool DataEquals(HValue* value); | 3428 virtual bool DataEquals(HValue* value); |
3425 | 3429 |
3426 private: | 3430 private: |
3427 ZoneMapList types_; | 3431 ZoneMapList types_; |
3428 Handle<String> name_; | 3432 Handle<String> name_; |
(...skipping 13 matching lines...) Expand all Loading... |
3442 } | 3446 } |
3443 | 3447 |
3444 HValue* context() { return OperandAt(0); } | 3448 HValue* context() { return OperandAt(0); } |
3445 HValue* object() { return OperandAt(1); } | 3449 HValue* object() { return OperandAt(1); } |
3446 Handle<Object> name() const { return name_; } | 3450 Handle<Object> name() const { return name_; } |
3447 | 3451 |
3448 virtual Representation RequiredInputRepresentation(int index) const { | 3452 virtual Representation RequiredInputRepresentation(int index) const { |
3449 return Representation::Tagged(); | 3453 return Representation::Tagged(); |
3450 } | 3454 } |
3451 | 3455 |
| 3456 virtual void PrintDataTo(StringStream* stream); |
| 3457 |
3452 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric) | 3458 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric) |
3453 | 3459 |
3454 private: | 3460 private: |
3455 Handle<Object> name_; | 3461 Handle<Object> name_; |
3456 }; | 3462 }; |
3457 | 3463 |
3458 | 3464 |
3459 class HLoadFunctionPrototype: public HUnaryOperation { | 3465 class HLoadFunctionPrototype: public HUnaryOperation { |
3460 public: | 3466 public: |
3461 explicit HLoadFunctionPrototype(HValue* function) | 3467 explicit HLoadFunctionPrototype(HValue* function) |
(...skipping 719 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4181 | 4187 |
4182 DECLARE_CONCRETE_INSTRUCTION(In) | 4188 DECLARE_CONCRETE_INSTRUCTION(In) |
4183 }; | 4189 }; |
4184 | 4190 |
4185 #undef DECLARE_INSTRUCTION | 4191 #undef DECLARE_INSTRUCTION |
4186 #undef DECLARE_CONCRETE_INSTRUCTION | 4192 #undef DECLARE_CONCRETE_INSTRUCTION |
4187 | 4193 |
4188 } } // namespace v8::internal | 4194 } } // namespace v8::internal |
4189 | 4195 |
4190 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 4196 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |