| 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 21 matching lines...) Expand all Loading... |
| 32 #include "lithium-allocator.h" | 32 #include "lithium-allocator.h" |
| 33 #include "lithium.h" | 33 #include "lithium.h" |
| 34 #include "safepoint-table.h" | 34 #include "safepoint-table.h" |
| 35 | 35 |
| 36 namespace v8 { | 36 namespace v8 { |
| 37 namespace internal { | 37 namespace internal { |
| 38 | 38 |
| 39 // Forward declarations. | 39 // Forward declarations. |
| 40 class LCodeGen; | 40 class LCodeGen; |
| 41 | 41 |
| 42 |
| 42 #define LITHIUM_ALL_INSTRUCTION_LIST(V) \ | 43 #define LITHIUM_ALL_INSTRUCTION_LIST(V) \ |
| 43 V(ControlInstruction) \ | 44 V(ControlInstruction) \ |
| 44 V(Call) \ | 45 V(Call) \ |
| 45 LITHIUM_CONCRETE_INSTRUCTION_LIST(V) | 46 LITHIUM_CONCRETE_INSTRUCTION_LIST(V) |
| 46 | 47 |
| 47 | 48 |
| 48 #define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \ | 49 #define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \ |
| 49 V(AccessArgumentsAt) \ | 50 V(AccessArgumentsAt) \ |
| 50 V(AddI) \ | 51 V(AddI) \ |
| 51 V(ApplyArguments) \ | 52 V(ApplyArguments) \ |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 V(SmiUntag) \ | 148 V(SmiUntag) \ |
| 148 V(StackCheck) \ | 149 V(StackCheck) \ |
| 149 V(StoreContextSlot) \ | 150 V(StoreContextSlot) \ |
| 150 V(StoreGlobalCell) \ | 151 V(StoreGlobalCell) \ |
| 151 V(StoreGlobalGeneric) \ | 152 V(StoreGlobalGeneric) \ |
| 152 V(StoreKeyedFastElement) \ | 153 V(StoreKeyedFastElement) \ |
| 153 V(StoreKeyedGeneric) \ | 154 V(StoreKeyedGeneric) \ |
| 154 V(StoreKeyedSpecializedArrayElement) \ | 155 V(StoreKeyedSpecializedArrayElement) \ |
| 155 V(StoreNamedField) \ | 156 V(StoreNamedField) \ |
| 156 V(StoreNamedGeneric) \ | 157 V(StoreNamedGeneric) \ |
| 158 V(StringAdd) \ |
| 157 V(StringCharCodeAt) \ | 159 V(StringCharCodeAt) \ |
| 158 V(StringCharFromCode) \ | 160 V(StringCharFromCode) \ |
| 159 V(StringLength) \ | 161 V(StringLength) \ |
| 160 V(SubI) \ | 162 V(SubI) \ |
| 161 V(TaggedToI) \ | 163 V(TaggedToI) \ |
| 162 V(Throw) \ | 164 V(Throw) \ |
| 163 V(ToFastProperties) \ | 165 V(ToFastProperties) \ |
| 164 V(Typeof) \ | 166 V(Typeof) \ |
| 165 V(TypeofIs) \ | 167 V(TypeofIs) \ |
| 166 V(TypeofIsAndBranch) \ | 168 V(TypeofIsAndBranch) \ |
| (...skipping 1595 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1762 virtual void PrintDataTo(StringStream* stream); | 1764 virtual void PrintDataTo(StringStream* stream); |
| 1763 | 1765 |
| 1764 LOperand* context() { return inputs_[0]; } | 1766 LOperand* context() { return inputs_[0]; } |
| 1765 LOperand* object() { return inputs_[1]; } | 1767 LOperand* object() { return inputs_[1]; } |
| 1766 LOperand* key() { return inputs_[2]; } | 1768 LOperand* key() { return inputs_[2]; } |
| 1767 LOperand* value() { return inputs_[3]; } | 1769 LOperand* value() { return inputs_[3]; } |
| 1768 bool strict_mode() { return hydrogen()->strict_mode(); } | 1770 bool strict_mode() { return hydrogen()->strict_mode(); } |
| 1769 }; | 1771 }; |
| 1770 | 1772 |
| 1771 | 1773 |
| 1774 class LStringAdd: public LTemplateInstruction<1, 2, 0> { |
| 1775 public: |
| 1776 LStringAdd(LOperand* left, LOperand* right) { |
| 1777 inputs_[0] = left; |
| 1778 inputs_[1] = right; |
| 1779 } |
| 1780 |
| 1781 DECLARE_CONCRETE_INSTRUCTION(StringAdd, "string-add") |
| 1782 DECLARE_HYDROGEN_ACCESSOR(StringAdd) |
| 1783 |
| 1784 LOperand* left() { return inputs_[0]; } |
| 1785 LOperand* right() { return inputs_[1]; } |
| 1786 }; |
| 1787 |
| 1788 |
| 1772 class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> { | 1789 class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> { |
| 1773 public: | 1790 public: |
| 1774 LStringCharCodeAt(LOperand* string, LOperand* index) { | 1791 LStringCharCodeAt(LOperand* string, LOperand* index) { |
| 1775 inputs_[0] = string; | 1792 inputs_[0] = string; |
| 1776 inputs_[1] = index; | 1793 inputs_[1] = index; |
| 1777 } | 1794 } |
| 1778 | 1795 |
| 1779 DECLARE_CONCRETE_INSTRUCTION(StringCharCodeAt, "string-char-code-at") | 1796 DECLARE_CONCRETE_INSTRUCTION(StringCharCodeAt, "string-char-code-at") |
| 1780 DECLARE_HYDROGEN_ACCESSOR(StringCharCodeAt) | 1797 DECLARE_HYDROGEN_ACCESSOR(StringCharCodeAt) |
| 1781 | 1798 |
| (...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2230 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2247 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2231 }; | 2248 }; |
| 2232 | 2249 |
| 2233 #undef DECLARE_HYDROGEN_ACCESSOR | 2250 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2234 #undef DECLARE_INSTRUCTION | 2251 #undef DECLARE_INSTRUCTION |
| 2235 #undef DECLARE_CONCRETE_INSTRUCTION | 2252 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2236 | 2253 |
| 2237 } } // namespace v8::internal | 2254 } } // namespace v8::internal |
| 2238 | 2255 |
| 2239 #endif // V8_IA32_LITHIUM_IA32_H_ | 2256 #endif // V8_IA32_LITHIUM_IA32_H_ |
| OLD | NEW |