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 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 MemOperand PrepareKeyedOperand(Register key, | 164 MemOperand PrepareKeyedOperand(Register key, |
165 Register base, | 165 Register base, |
166 bool key_is_constant, | 166 bool key_is_constant, |
167 int constant_key, | 167 int constant_key, |
168 int element_size, | 168 int element_size, |
169 int shift_size, | 169 int shift_size, |
170 int additional_index, | 170 int additional_index, |
171 int additional_offset); | 171 int additional_offset); |
172 | 172 |
173 // Emit frame translation commands for an environment. | 173 // Emit frame translation commands for an environment. |
174 void WriteTranslation(LEnvironment* environment, Translation* translation); | 174 void WriteTranslation(LEnvironment* environment, |
| 175 Translation* translation, |
| 176 int* arguments_index, |
| 177 int* arguments_count); |
175 | 178 |
176 // Declare methods that deal with the individual node types. | 179 // Declare methods that deal with the individual node types. |
177 #define DECLARE_DO(type) void Do##type(L##type* node); | 180 #define DECLARE_DO(type) void Do##type(L##type* node); |
178 LITHIUM_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) | 181 LITHIUM_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) |
179 #undef DECLARE_DO | 182 #undef DECLARE_DO |
180 | 183 |
181 private: | 184 private: |
182 enum Status { | 185 enum Status { |
183 UNUSED, | 186 UNUSED, |
184 GENERATING, | 187 GENERATING, |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 Safepoint::DeoptMode mode); | 286 Safepoint::DeoptMode mode); |
284 void DeoptimizeIf(Condition cc, | 287 void DeoptimizeIf(Condition cc, |
285 LEnvironment* environment, | 288 LEnvironment* environment, |
286 Deoptimizer::BailoutType bailout_type); | 289 Deoptimizer::BailoutType bailout_type); |
287 void DeoptimizeIf(Condition cc, LEnvironment* environment); | 290 void DeoptimizeIf(Condition cc, LEnvironment* environment); |
288 void SoftDeoptimize(LEnvironment* environment); | 291 void SoftDeoptimize(LEnvironment* environment); |
289 | 292 |
290 void AddToTranslation(Translation* translation, | 293 void AddToTranslation(Translation* translation, |
291 LOperand* op, | 294 LOperand* op, |
292 bool is_tagged, | 295 bool is_tagged, |
293 bool is_uint32); | 296 bool is_uint32, |
| 297 bool arguments_known, |
| 298 int arguments_index, |
| 299 int arguments_count); |
294 void RegisterDependentCodeForEmbeddedMaps(Handle<Code> code); | 300 void RegisterDependentCodeForEmbeddedMaps(Handle<Code> code); |
295 void PopulateDeoptimizationData(Handle<Code> code); | 301 void PopulateDeoptimizationData(Handle<Code> code); |
296 int DefineDeoptimizationLiteral(Handle<Object> literal); | 302 int DefineDeoptimizationLiteral(Handle<Object> literal); |
297 | 303 |
298 void PopulateDeoptimizationLiteralsWithInlinedFunctions(); | 304 void PopulateDeoptimizationLiteralsWithInlinedFunctions(); |
299 | 305 |
300 Register ToRegister(int index) const; | 306 Register ToRegister(int index) const; |
301 DwVfpRegister ToDoubleRegister(int index) const; | 307 DwVfpRegister ToDoubleRegister(int index) const; |
302 | 308 |
303 void EmitIntegerMathAbs(LMathAbs* instr); | 309 void EmitIntegerMathAbs(LMathAbs* instr); |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
490 LCodeGen* codegen_; | 496 LCodeGen* codegen_; |
491 Label entry_; | 497 Label entry_; |
492 Label exit_; | 498 Label exit_; |
493 Label* external_exit_; | 499 Label* external_exit_; |
494 int instruction_index_; | 500 int instruction_index_; |
495 }; | 501 }; |
496 | 502 |
497 } } // namespace v8::internal | 503 } } // namespace v8::internal |
498 | 504 |
499 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ | 505 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ |
OLD | NEW |