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 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 void EmitBranch(int left_block, int right_block, Condition cc); | 189 void EmitBranch(int left_block, int right_block, Condition cc); |
190 void EmitCmpI(LOperand* left, LOperand* right); | 190 void EmitCmpI(LOperand* left, LOperand* right); |
191 void EmitNumberUntagD(Register input, XMMRegister result, LEnvironment* env); | 191 void EmitNumberUntagD(Register input, XMMRegister result, LEnvironment* env); |
192 | 192 |
193 // Emits optimized code for typeof x == "y". Modifies input register. | 193 // Emits optimized code for typeof x == "y". Modifies input register. |
194 // Returns the condition on which a final split to | 194 // Returns the condition on which a final split to |
195 // true and false label should be made, to optimize fallthrough. | 195 // true and false label should be made, to optimize fallthrough. |
196 Condition EmitTypeofIs(Label* true_label, Label* false_label, | 196 Condition EmitTypeofIs(Label* true_label, Label* false_label, |
197 Register input, Handle<String> type_name); | 197 Register input, Handle<String> type_name); |
198 | 198 |
| 199 // Emits optimized code for %_IsObject(x). Preserves input register. |
| 200 // Returns the condition on which a final split to |
| 201 // true and false label should be made, to optimize fallthrough. |
| 202 Condition EmitIsObject(Register input, |
| 203 Register temp1, |
| 204 Register temp2, |
| 205 Label* is_not_object, |
| 206 Label* is_object); |
| 207 |
199 LChunk* const chunk_; | 208 LChunk* const chunk_; |
200 MacroAssembler* const masm_; | 209 MacroAssembler* const masm_; |
201 CompilationInfo* const info_; | 210 CompilationInfo* const info_; |
202 | 211 |
203 int current_block_; | 212 int current_block_; |
204 int current_instruction_; | 213 int current_instruction_; |
205 const ZoneList<LInstruction*>* instructions_; | 214 const ZoneList<LInstruction*>* instructions_; |
206 ZoneList<LEnvironment*> deoptimizations_; | 215 ZoneList<LEnvironment*> deoptimizations_; |
207 ZoneList<Handle<Object> > deoptimization_literals_; | 216 ZoneList<Handle<Object> > deoptimization_literals_; |
208 int inlined_function_count_; | 217 int inlined_function_count_; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 private: | 253 private: |
245 LCodeGen* codegen_; | 254 LCodeGen* codegen_; |
246 Label entry_; | 255 Label entry_; |
247 Label exit_; | 256 Label exit_; |
248 Label* external_exit_; | 257 Label* external_exit_; |
249 }; | 258 }; |
250 | 259 |
251 } } // namespace v8::internal | 260 } } // namespace v8::internal |
252 | 261 |
253 #endif // V8_IA32_LITHIUM_CODEGEN_IA32_H_ | 262 #endif // V8_IA32_LITHIUM_CODEGEN_IA32_H_ |
OLD | NEW |