OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 V(CheckSmi) \ | 90 V(CheckSmi) \ |
91 V(ClampToUint8) \ | 91 V(ClampToUint8) \ |
92 V(ClassOfTestAndBranch) \ | 92 V(ClassOfTestAndBranch) \ |
93 V(CompareIDAndBranch) \ | 93 V(CompareIDAndBranch) \ |
94 V(CompareGeneric) \ | 94 V(CompareGeneric) \ |
95 V(CompareObjectEqAndBranch) \ | 95 V(CompareObjectEqAndBranch) \ |
96 V(CompareMap) \ | 96 V(CompareMap) \ |
97 V(CompareConstantEqAndBranch) \ | 97 V(CompareConstantEqAndBranch) \ |
98 V(Constant) \ | 98 V(Constant) \ |
99 V(Context) \ | 99 V(Context) \ |
| 100 V(DeclareGlobals) \ |
100 V(DeleteProperty) \ | 101 V(DeleteProperty) \ |
101 V(Deoptimize) \ | 102 V(Deoptimize) \ |
102 V(Div) \ | 103 V(Div) \ |
103 V(ElementsKind) \ | 104 V(ElementsKind) \ |
104 V(EnterInlined) \ | 105 V(EnterInlined) \ |
105 V(FixedArrayBaseLength) \ | 106 V(FixedArrayBaseLength) \ |
106 V(ForceRepresentation) \ | 107 V(ForceRepresentation) \ |
107 V(FunctionLiteral) \ | 108 V(FunctionLiteral) \ |
108 V(GetCachedArrayIndex) \ | 109 V(GetCachedArrayIndex) \ |
109 V(GlobalObject) \ | 110 V(GlobalObject) \ |
(...skipping 1369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1479 | 1480 |
1480 virtual Representation RequiredInputRepresentation(int index) { | 1481 virtual Representation RequiredInputRepresentation(int index) { |
1481 return Representation::Tagged(); | 1482 return Representation::Tagged(); |
1482 } | 1483 } |
1483 | 1484 |
1484 protected: | 1485 protected: |
1485 virtual bool DataEquals(HValue* other) { return true; } | 1486 virtual bool DataEquals(HValue* other) { return true; } |
1486 }; | 1487 }; |
1487 | 1488 |
1488 | 1489 |
| 1490 class HDeclareGlobals: public HUnaryOperation { |
| 1491 public: |
| 1492 HDeclareGlobals(HValue* context, |
| 1493 Handle<FixedArray> pairs, |
| 1494 int flags) |
| 1495 : HUnaryOperation(context), |
| 1496 pairs_(pairs), |
| 1497 flags_(flags) { |
| 1498 set_representation(Representation::Tagged()); |
| 1499 SetAllSideEffects(); |
| 1500 } |
| 1501 |
| 1502 HValue* context() { return OperandAt(0); } |
| 1503 Handle<FixedArray> pairs() const { return pairs_; } |
| 1504 int flags() const { return flags_; } |
| 1505 |
| 1506 DECLARE_CONCRETE_INSTRUCTION(DeclareGlobals) |
| 1507 |
| 1508 virtual Representation RequiredInputRepresentation(int index) { |
| 1509 return Representation::Tagged(); |
| 1510 } |
| 1511 private: |
| 1512 Handle<FixedArray> pairs_; |
| 1513 int flags_; |
| 1514 }; |
| 1515 |
| 1516 |
1489 class HGlobalObject: public HUnaryOperation { | 1517 class HGlobalObject: public HUnaryOperation { |
1490 public: | 1518 public: |
1491 explicit HGlobalObject(HValue* context) : HUnaryOperation(context) { | 1519 explicit HGlobalObject(HValue* context) : HUnaryOperation(context) { |
1492 set_representation(Representation::Tagged()); | 1520 set_representation(Representation::Tagged()); |
1493 SetFlag(kUseGVN); | 1521 SetFlag(kUseGVN); |
1494 } | 1522 } |
1495 | 1523 |
1496 DECLARE_CONCRETE_INSTRUCTION(GlobalObject) | 1524 DECLARE_CONCRETE_INSTRUCTION(GlobalObject) |
1497 | 1525 |
1498 virtual Representation RequiredInputRepresentation(int index) { | 1526 virtual Representation RequiredInputRepresentation(int index) { |
(...skipping 3098 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4597 | 4625 |
4598 DECLARE_CONCRETE_INSTRUCTION(In) | 4626 DECLARE_CONCRETE_INSTRUCTION(In) |
4599 }; | 4627 }; |
4600 | 4628 |
4601 #undef DECLARE_INSTRUCTION | 4629 #undef DECLARE_INSTRUCTION |
4602 #undef DECLARE_CONCRETE_INSTRUCTION | 4630 #undef DECLARE_CONCRETE_INSTRUCTION |
4603 | 4631 |
4604 } } // namespace v8::internal | 4632 } } // namespace v8::internal |
4605 | 4633 |
4606 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 4634 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |