| OLD | NEW |
| 1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 // LCmpJSObjectEq | 60 // LCmpJSObjectEq |
| 61 // LCmpJSObjectEqAndBranch | 61 // LCmpJSObjectEqAndBranch |
| 62 // LCmpT | 62 // LCmpT |
| 63 // LDivI | 63 // LDivI |
| 64 // LInstanceOf | 64 // LInstanceOf |
| 65 // LInstanceOfAndBranch | 65 // LInstanceOfAndBranch |
| 66 // LLoadKeyedFastElement | 66 // LLoadKeyedFastElement |
| 67 // LLoadKeyedGeneric | 67 // LLoadKeyedGeneric |
| 68 // LModI | 68 // LModI |
| 69 // LMulI | 69 // LMulI |
| 70 // LPower | |
| 71 // LShiftI | 70 // LShiftI |
| 72 // LSubI | 71 // LSubI |
| 73 // LCallConstantFunction | 72 // LCallConstantFunction |
| 74 // LCallFunction | 73 // LCallFunction |
| 75 // LCallGlobal | 74 // LCallGlobal |
| 76 // LCallKeyed | 75 // LCallKeyed |
| 77 // LCallKnownGlobal | 76 // LCallKnownGlobal |
| 78 // LCallNamed | 77 // LCallNamed |
| 79 // LCallRuntime | 78 // LCallRuntime |
| 80 // LCallStub | 79 // LCallStub |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 223 V(LoadNamedField) \ | 222 V(LoadNamedField) \ |
| 224 V(LoadNamedGeneric) \ | 223 V(LoadNamedGeneric) \ |
| 225 V(ModI) \ | 224 V(ModI) \ |
| 226 V(MulI) \ | 225 V(MulI) \ |
| 227 V(NumberTagD) \ | 226 V(NumberTagD) \ |
| 228 V(NumberTagI) \ | 227 V(NumberTagI) \ |
| 229 V(NumberUntagD) \ | 228 V(NumberUntagD) \ |
| 230 V(ObjectLiteral) \ | 229 V(ObjectLiteral) \ |
| 231 V(OsrEntry) \ | 230 V(OsrEntry) \ |
| 232 V(Parameter) \ | 231 V(Parameter) \ |
| 233 V(Power) \ | |
| 234 V(PushArgument) \ | 232 V(PushArgument) \ |
| 235 V(RegExpLiteral) \ | 233 V(RegExpLiteral) \ |
| 236 V(Return) \ | 234 V(Return) \ |
| 237 V(ShiftI) \ | 235 V(ShiftI) \ |
| 238 V(SmiTag) \ | 236 V(SmiTag) \ |
| 239 V(SmiUntag) \ | 237 V(SmiUntag) \ |
| 240 V(StackCheck) \ | 238 V(StackCheck) \ |
| 241 V(StoreGlobal) \ | 239 V(StoreGlobal) \ |
| 242 V(StoreKeyedFastElement) \ | 240 V(StoreKeyedFastElement) \ |
| 243 V(StoreKeyedGeneric) \ | 241 V(StoreKeyedGeneric) \ |
| (...skipping 905 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1149 class LAddI: public LBinaryOperation { | 1147 class LAddI: public LBinaryOperation { |
| 1150 public: | 1148 public: |
| 1151 LAddI(LOperand* left, LOperand* right) | 1149 LAddI(LOperand* left, LOperand* right) |
| 1152 : LBinaryOperation(left, right) { } | 1150 : LBinaryOperation(left, right) { } |
| 1153 | 1151 |
| 1154 DECLARE_CONCRETE_INSTRUCTION(AddI, "add-i") | 1152 DECLARE_CONCRETE_INSTRUCTION(AddI, "add-i") |
| 1155 DECLARE_HYDROGEN_ACCESSOR(Add) | 1153 DECLARE_HYDROGEN_ACCESSOR(Add) |
| 1156 }; | 1154 }; |
| 1157 | 1155 |
| 1158 | 1156 |
| 1159 class LPower: public LBinaryOperation { | |
| 1160 public: | |
| 1161 LPower(LOperand* left, LOperand* right) | |
| 1162 : LBinaryOperation(left, right) { } | |
| 1163 | |
| 1164 DECLARE_CONCRETE_INSTRUCTION(Power, "power") | |
| 1165 DECLARE_HYDROGEN_ACCESSOR(Power) | |
| 1166 }; | |
| 1167 | |
| 1168 | |
| 1169 class LArithmeticD: public LBinaryOperation { | 1157 class LArithmeticD: public LBinaryOperation { |
| 1170 public: | 1158 public: |
| 1171 LArithmeticD(Token::Value op, LOperand* left, LOperand* right) | 1159 LArithmeticD(Token::Value op, LOperand* left, LOperand* right) |
| 1172 : LBinaryOperation(left, right), op_(op) { } | 1160 : LBinaryOperation(left, right), op_(op) { } |
| 1173 | 1161 |
| 1174 Token::Value op() const { return op_; } | 1162 Token::Value op() const { return op_; } |
| 1175 | 1163 |
| 1176 virtual void CompileToNative(LCodeGen* generator); | 1164 virtual void CompileToNative(LCodeGen* generator); |
| 1177 virtual const char* Mnemonic() const; | 1165 virtual const char* Mnemonic() const; |
| 1178 | 1166 |
| (...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1895 | 1883 |
| 1896 int ParameterAt(int index); | 1884 int ParameterAt(int index); |
| 1897 int GetParameterStackSlot(int index) const; | 1885 int GetParameterStackSlot(int index) const; |
| 1898 int spill_slot_count() const { return spill_slot_count_; } | 1886 int spill_slot_count() const { return spill_slot_count_; } |
| 1899 HGraph* graph() const { return graph_; } | 1887 HGraph* graph() const { return graph_; } |
| 1900 const ZoneList<LInstruction*>* instructions() const { return &instructions_; } | 1888 const ZoneList<LInstruction*>* instructions() const { return &instructions_; } |
| 1901 void AddGapMove(int index, LOperand* from, LOperand* to); | 1889 void AddGapMove(int index, LOperand* from, LOperand* to); |
| 1902 LGap* GetGapAt(int index) const; | 1890 LGap* GetGapAt(int index) const; |
| 1903 bool IsGapAt(int index) const; | 1891 bool IsGapAt(int index) const; |
| 1904 int NearestGapPos(int index) const; | 1892 int NearestGapPos(int index) const; |
| 1893 int NearestNextGapPos(int index) const; |
| 1905 void MarkEmptyBlocks(); | 1894 void MarkEmptyBlocks(); |
| 1906 const ZoneList<LPointerMap*>* pointer_maps() const { return &pointer_maps_; } | 1895 const ZoneList<LPointerMap*>* pointer_maps() const { return &pointer_maps_; } |
| 1907 LLabel* GetLabel(int block_id) const { | 1896 LLabel* GetLabel(int block_id) const { |
| 1908 HBasicBlock* block = graph_->blocks()->at(block_id); | 1897 HBasicBlock* block = graph_->blocks()->at(block_id); |
| 1909 int first_instruction = block->first_instruction_index(); | 1898 int first_instruction = block->first_instruction_index(); |
| 1910 return LLabel::cast(instructions_[first_instruction]); | 1899 return LLabel::cast(instructions_[first_instruction]); |
| 1911 } | 1900 } |
| 1912 int LookupDestination(int block_id) const { | 1901 int LookupDestination(int block_id) const { |
| 1913 LLabel* cur = GetLabel(block_id); | 1902 LLabel* cur = GetLabel(block_id); |
| 1914 while (cur->replacement() != NULL) { | 1903 while (cur->replacement() != NULL) { |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2073 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2062 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2074 }; | 2063 }; |
| 2075 | 2064 |
| 2076 #undef DECLARE_HYDROGEN_ACCESSOR | 2065 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2077 #undef DECLARE_INSTRUCTION | 2066 #undef DECLARE_INSTRUCTION |
| 2078 #undef DECLARE_CONCRETE_INSTRUCTION | 2067 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2079 | 2068 |
| 2080 } } // namespace v8::internal | 2069 } } // namespace v8::internal |
| 2081 | 2070 |
| 2082 #endif // V8_IA32_LITHIUM_IA32_H_ | 2071 #endif // V8_IA32_LITHIUM_IA32_H_ |
| OLD | NEW |