| 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 current_instruction_(-1), | 52 current_instruction_(-1), |
| 53 instructions_(chunk->instructions()), | 53 instructions_(chunk->instructions()), |
| 54 deoptimizations_(4, info->zone()), | 54 deoptimizations_(4, info->zone()), |
| 55 deopt_jump_table_(4, info->zone()), | 55 deopt_jump_table_(4, info->zone()), |
| 56 deoptimization_literals_(8, info->zone()), | 56 deoptimization_literals_(8, info->zone()), |
| 57 inlined_function_count_(0), | 57 inlined_function_count_(0), |
| 58 scope_(info->scope()), | 58 scope_(info->scope()), |
| 59 status_(UNUSED), | 59 status_(UNUSED), |
| 60 translations_(info->zone()), | 60 translations_(info->zone()), |
| 61 deferred_(8, info->zone()), | 61 deferred_(8, info->zone()), |
| 62 support_aligned_spilled_doubles_(false), |
| 62 osr_pc_offset_(-1), | 63 osr_pc_offset_(-1), |
| 63 last_lazy_deopt_pc_(0), | 64 last_lazy_deopt_pc_(0), |
| 64 frame_is_built_(false), | 65 frame_is_built_(false), |
| 65 safepoints_(info->zone()), | 66 safepoints_(info->zone()), |
| 66 resolver_(this), | 67 resolver_(this), |
| 67 expected_safepoint_kind_(Safepoint::kSimple) { | 68 expected_safepoint_kind_(Safepoint::kSimple) { |
| 68 PopulateDeoptimizationLiteralsWithInlinedFunctions(); | 69 PopulateDeoptimizationLiteralsWithInlinedFunctions(); |
| 69 } | 70 } |
| 70 | 71 |
| 71 | 72 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 LOperand* value, | 132 LOperand* value, |
| 132 IntegerSignedness signedness); | 133 IntegerSignedness signedness); |
| 133 | 134 |
| 134 void DoDeferredTaggedToI(LTaggedToI* instr); | 135 void DoDeferredTaggedToI(LTaggedToI* instr); |
| 135 void DoDeferredMathAbsTaggedHeapNumber(LUnaryMathOperation* instr); | 136 void DoDeferredMathAbsTaggedHeapNumber(LUnaryMathOperation* instr); |
| 136 void DoDeferredStackCheck(LStackCheck* instr); | 137 void DoDeferredStackCheck(LStackCheck* instr); |
| 137 void DoDeferredRandom(LRandom* instr); | 138 void DoDeferredRandom(LRandom* instr); |
| 138 void DoDeferredStringCharCodeAt(LStringCharCodeAt* instr); | 139 void DoDeferredStringCharCodeAt(LStringCharCodeAt* instr); |
| 139 void DoDeferredStringCharFromCode(LStringCharFromCode* instr); | 140 void DoDeferredStringCharFromCode(LStringCharFromCode* instr); |
| 140 void DoDeferredAllocateObject(LAllocateObject* instr); | 141 void DoDeferredAllocateObject(LAllocateObject* instr); |
| 142 void DoDeferredAllocate(LAllocate* instr); |
| 141 void DoDeferredInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr, | 143 void DoDeferredInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr, |
| 142 Label* map_check); | 144 Label* map_check); |
| 143 | 145 |
| 144 void DoCheckMapCommon(Register map_reg, Handle<Map> map, | 146 void DoCheckMapCommon(Register map_reg, Handle<Map> map, |
| 145 CompareMapMode mode, LEnvironment* env); | 147 CompareMapMode mode, LEnvironment* env); |
| 146 | 148 |
| 147 // Parallel move support. | 149 // Parallel move support. |
| 148 void DoParallelMove(LParallelMove* move); | 150 void DoParallelMove(LParallelMove* move); |
| 149 void DoGap(LGap* instr); | 151 void DoGap(LGap* instr); |
| 150 | 152 |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 Safepoint::DeoptMode mode); | 316 Safepoint::DeoptMode mode); |
| 315 void RecordPosition(int position); | 317 void RecordPosition(int position); |
| 316 | 318 |
| 317 static Condition TokenToCondition(Token::Value op, bool is_unsigned); | 319 static Condition TokenToCondition(Token::Value op, bool is_unsigned); |
| 318 void EmitGoto(int block); | 320 void EmitGoto(int block); |
| 319 void EmitBranch(int left_block, int right_block, Condition cc); | 321 void EmitBranch(int left_block, int right_block, Condition cc); |
| 320 void EmitNumberUntagD(Register input, | 322 void EmitNumberUntagD(Register input, |
| 321 DwVfpRegister result, | 323 DwVfpRegister result, |
| 322 bool deoptimize_on_undefined, | 324 bool deoptimize_on_undefined, |
| 323 bool deoptimize_on_minus_zero, | 325 bool deoptimize_on_minus_zero, |
| 324 LEnvironment* env); | 326 LEnvironment* env, |
| 327 NumberUntagDMode mode); |
| 325 | 328 |
| 326 void DeoptIfTaggedButNotSmi(LEnvironment* environment, | 329 void DeoptIfTaggedButNotSmi(LEnvironment* environment, |
| 327 HValue* value, | 330 HValue* value, |
| 328 LOperand* operand); | 331 LOperand* operand); |
| 329 | 332 |
| 330 // Emits optimized code for typeof x == "y". Modifies input register. | 333 // Emits optimized code for typeof x == "y". Modifies input register. |
| 331 // Returns the condition on which a final split to | 334 // Returns the condition on which a final split to |
| 332 // true and false label should be made, to optimize fallthrough. | 335 // true and false label should be made, to optimize fallthrough. |
| 333 Condition EmitTypeofIs(Label* true_label, | 336 Condition EmitTypeofIs(Label* true_label, |
| 334 Label* false_label, | 337 Label* false_label, |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 408 int current_instruction_; | 411 int current_instruction_; |
| 409 const ZoneList<LInstruction*>* instructions_; | 412 const ZoneList<LInstruction*>* instructions_; |
| 410 ZoneList<LEnvironment*> deoptimizations_; | 413 ZoneList<LEnvironment*> deoptimizations_; |
| 411 ZoneList<JumpTableEntry> deopt_jump_table_; | 414 ZoneList<JumpTableEntry> deopt_jump_table_; |
| 412 ZoneList<Handle<Object> > deoptimization_literals_; | 415 ZoneList<Handle<Object> > deoptimization_literals_; |
| 413 int inlined_function_count_; | 416 int inlined_function_count_; |
| 414 Scope* const scope_; | 417 Scope* const scope_; |
| 415 Status status_; | 418 Status status_; |
| 416 TranslationBuffer translations_; | 419 TranslationBuffer translations_; |
| 417 ZoneList<LDeferredCode*> deferred_; | 420 ZoneList<LDeferredCode*> deferred_; |
| 421 bool support_aligned_spilled_doubles_; |
| 418 int osr_pc_offset_; | 422 int osr_pc_offset_; |
| 419 int last_lazy_deopt_pc_; | 423 int last_lazy_deopt_pc_; |
| 420 bool frame_is_built_; | 424 bool frame_is_built_; |
| 421 | 425 |
| 422 // Builder that keeps track of safepoints in the code. The table | 426 // Builder that keeps track of safepoints in the code. The table |
| 423 // itself is emitted at the end of the generated code. | 427 // itself is emitted at the end of the generated code. |
| 424 SafepointTableBuilder safepoints_; | 428 SafepointTableBuilder safepoints_; |
| 425 | 429 |
| 426 // Compiler from a set of parallel moves to a sequential list of moves. | 430 // Compiler from a set of parallel moves to a sequential list of moves. |
| 427 LGapResolver resolver_; | 431 LGapResolver resolver_; |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 502 LCodeGen* codegen_; | 506 LCodeGen* codegen_; |
| 503 Label entry_; | 507 Label entry_; |
| 504 Label exit_; | 508 Label exit_; |
| 505 Label* external_exit_; | 509 Label* external_exit_; |
| 506 int instruction_index_; | 510 int instruction_index_; |
| 507 }; | 511 }; |
| 508 | 512 |
| 509 } } // namespace v8::internal | 513 } } // namespace v8::internal |
| 510 | 514 |
| 511 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ | 515 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ |
| OLD | NEW |