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

Side by Side Diff: src/ia32/lithium-ia32.h

Issue 5862002: Version 3.0.2. (Closed)
Patch Set: Created 10 years 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
OLDNEW
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
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
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
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
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
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_
OLDNEW
« ChangeLog ('K') | « src/ia32/lithium-codegen-ia32.cc ('k') | src/ia32/lithium-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698