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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 : zone_(info->zone()), | 50 : zone_(info->zone()), |
51 chunk_(static_cast<LPlatformChunk*>(chunk)), | 51 chunk_(static_cast<LPlatformChunk*>(chunk)), |
52 masm_(assembler), | 52 masm_(assembler), |
53 info_(info), | 53 info_(info), |
54 current_block_(-1), | 54 current_block_(-1), |
55 current_instruction_(-1), | 55 current_instruction_(-1), |
56 instructions_(chunk->instructions()), | 56 instructions_(chunk->instructions()), |
57 deoptimizations_(4, info->zone()), | 57 deoptimizations_(4, info->zone()), |
58 jump_table_(4, info->zone()), | 58 jump_table_(4, info->zone()), |
59 deoptimization_literals_(8, info->zone()), | 59 deoptimization_literals_(8, info->zone()), |
| 60 deopt_counter_cells_(4, info->zone()), |
60 prototype_maps_(0, info->zone()), | 61 prototype_maps_(0, info->zone()), |
61 transition_maps_(0, info->zone()), | 62 transition_maps_(0, info->zone()), |
62 inlined_function_count_(0), | 63 inlined_function_count_(0), |
63 scope_(info->scope()), | 64 scope_(info->scope()), |
64 status_(UNUSED), | 65 status_(UNUSED), |
65 translations_(info->zone()), | 66 translations_(info->zone()), |
66 deferred_(8, info->zone()), | 67 deferred_(8, info->zone()), |
67 osr_pc_offset_(-1), | 68 osr_pc_offset_(-1), |
68 last_lazy_deopt_pc_(0), | 69 last_lazy_deopt_pc_(0), |
69 frame_is_built_(false), | 70 frame_is_built_(false), |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 void SoftDeoptimize(LEnvironment* environment); | 256 void SoftDeoptimize(LEnvironment* environment); |
256 void AddToTranslation(Translation* translation, | 257 void AddToTranslation(Translation* translation, |
257 LOperand* op, | 258 LOperand* op, |
258 bool is_tagged, | 259 bool is_tagged, |
259 bool is_uint32, | 260 bool is_uint32, |
260 bool arguments_known, | 261 bool arguments_known, |
261 int arguments_index, | 262 int arguments_index, |
262 int arguments_count); | 263 int arguments_count); |
263 void RegisterDependentCodeForEmbeddedMaps(Handle<Code> code); | 264 void RegisterDependentCodeForEmbeddedMaps(Handle<Code> code); |
264 void PopulateDeoptimizationData(Handle<Code> code); | 265 void PopulateDeoptimizationData(Handle<Code> code); |
| 266 void PopulateDeoptCounterCells(Handle<Code> code); |
265 int DefineDeoptimizationLiteral(Handle<Object> literal); | 267 int DefineDeoptimizationLiteral(Handle<Object> literal); |
266 | 268 |
267 void PopulateDeoptimizationLiteralsWithInlinedFunctions(); | 269 void PopulateDeoptimizationLiteralsWithInlinedFunctions(); |
268 | 270 |
269 Register ToRegister(int index) const; | 271 Register ToRegister(int index) const; |
270 XMMRegister ToDoubleRegister(int index) const; | 272 XMMRegister ToDoubleRegister(int index) const; |
271 Operand BuildFastArrayOperand( | 273 Operand BuildFastArrayOperand( |
272 LOperand* elements_pointer, | 274 LOperand* elements_pointer, |
273 LOperand* key, | 275 LOperand* key, |
274 ElementsKind elements_kind, | 276 ElementsKind elements_kind, |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
356 LPlatformChunk* const chunk_; | 358 LPlatformChunk* const chunk_; |
357 MacroAssembler* const masm_; | 359 MacroAssembler* const masm_; |
358 CompilationInfo* const info_; | 360 CompilationInfo* const info_; |
359 | 361 |
360 int current_block_; | 362 int current_block_; |
361 int current_instruction_; | 363 int current_instruction_; |
362 const ZoneList<LInstruction*>* instructions_; | 364 const ZoneList<LInstruction*>* instructions_; |
363 ZoneList<LEnvironment*> deoptimizations_; | 365 ZoneList<LEnvironment*> deoptimizations_; |
364 ZoneList<Deoptimizer::JumpTableEntry> jump_table_; | 366 ZoneList<Deoptimizer::JumpTableEntry> jump_table_; |
365 ZoneList<Handle<Object> > deoptimization_literals_; | 367 ZoneList<Handle<Object> > deoptimization_literals_; |
| 368 ZoneList<LDeoptCounterCell*> deopt_counter_cells_; |
366 ZoneList<Handle<Map> > prototype_maps_; | 369 ZoneList<Handle<Map> > prototype_maps_; |
367 ZoneList<Handle<Map> > transition_maps_; | 370 ZoneList<Handle<Map> > transition_maps_; |
368 int inlined_function_count_; | 371 int inlined_function_count_; |
369 Scope* const scope_; | 372 Scope* const scope_; |
370 Status status_; | 373 Status status_; |
371 TranslationBuffer translations_; | 374 TranslationBuffer translations_; |
372 ZoneList<LDeferredCode*> deferred_; | 375 ZoneList<LDeferredCode*> deferred_; |
373 int osr_pc_offset_; | 376 int osr_pc_offset_; |
374 int last_lazy_deopt_pc_; | 377 int last_lazy_deopt_pc_; |
375 bool frame_is_built_; | 378 bool frame_is_built_; |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
436 LCodeGen* codegen_; | 439 LCodeGen* codegen_; |
437 Label entry_; | 440 Label entry_; |
438 Label exit_; | 441 Label exit_; |
439 Label* external_exit_; | 442 Label* external_exit_; |
440 int instruction_index_; | 443 int instruction_index_; |
441 }; | 444 }; |
442 | 445 |
443 } } // namespace v8::internal | 446 } } // namespace v8::internal |
444 | 447 |
445 #endif // V8_X64_LITHIUM_CODEGEN_X64_H_ | 448 #endif // V8_X64_LITHIUM_CODEGEN_X64_H_ |
OLD | NEW |