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

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

Issue 1175963002: Make writing of frame translation platform independent. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase Created 5 years, 6 months 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
« no previous file with comments | « src/arm64/lithium-codegen-arm64.cc ('k') | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_IA32_LITHIUM_CODEGEN_IA32_H_ 5 #ifndef V8_IA32_LITHIUM_CODEGEN_IA32_H_
6 #define V8_IA32_LITHIUM_CODEGEN_IA32_H_ 6 #define V8_IA32_LITHIUM_CODEGEN_IA32_H_
7 7
8 #include "src/ia32/lithium-ia32.h" 8 #include "src/ia32/lithium-ia32.h"
9 9
10 #include "src/base/logging.h" 10 #include "src/base/logging.h"
(...skipping 11 matching lines...) Expand all
22 class LDeferredCode; 22 class LDeferredCode;
23 class LGapNode; 23 class LGapNode;
24 class SafepointGenerator; 24 class SafepointGenerator;
25 25
26 class LCodeGen: public LCodeGenBase { 26 class LCodeGen: public LCodeGenBase {
27 public: 27 public:
28 LCodeGen(LChunk* chunk, MacroAssembler* assembler, CompilationInfo* info) 28 LCodeGen(LChunk* chunk, MacroAssembler* assembler, CompilationInfo* info)
29 : LCodeGenBase(chunk, assembler, info), 29 : LCodeGenBase(chunk, assembler, info),
30 deoptimizations_(4, info->zone()), 30 deoptimizations_(4, info->zone()),
31 jump_table_(4, info->zone()), 31 jump_table_(4, info->zone()),
32 deoptimization_literals_(8, info->zone()),
33 inlined_function_count_(0), 32 inlined_function_count_(0),
34 scope_(info->scope()), 33 scope_(info->scope()),
35 translations_(info->zone()), 34 translations_(info->zone()),
36 deferred_(8, info->zone()), 35 deferred_(8, info->zone()),
37 dynamic_frame_alignment_(false), 36 dynamic_frame_alignment_(false),
38 support_aligned_spilled_doubles_(false), 37 support_aligned_spilled_doubles_(false),
39 osr_pc_offset_(-1), 38 osr_pc_offset_(-1),
40 frame_is_built_(false), 39 frame_is_built_(false),
41 safepoints_(info->zone()), 40 safepoints_(info->zone()),
42 resolver_(this), 41 resolver_(this),
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 } 213 }
215 214
216 void AddToTranslation(LEnvironment* environment, 215 void AddToTranslation(LEnvironment* environment,
217 Translation* translation, 216 Translation* translation,
218 LOperand* op, 217 LOperand* op,
219 bool is_tagged, 218 bool is_tagged,
220 bool is_uint32, 219 bool is_uint32,
221 int* object_index_pointer, 220 int* object_index_pointer,
222 int* dematerialized_index_pointer); 221 int* dematerialized_index_pointer);
223 void PopulateDeoptimizationData(Handle<Code> code); 222 void PopulateDeoptimizationData(Handle<Code> code);
224 int DefineDeoptimizationLiteral(Handle<Object> literal);
225 223
226 void PopulateDeoptimizationLiteralsWithInlinedFunctions(); 224 void PopulateDeoptimizationLiteralsWithInlinedFunctions();
227 225
228 Register ToRegister(int index) const; 226 Register ToRegister(int index) const;
229 XMMRegister ToDoubleRegister(int index) const; 227 XMMRegister ToDoubleRegister(int index) const;
230 int32_t ToRepresentation(LConstantOperand* op, const Representation& r) const; 228 int32_t ToRepresentation(LConstantOperand* op, const Representation& r) const;
231 int32_t ToInteger32(LConstantOperand* op) const; 229 int32_t ToInteger32(LConstantOperand* op) const;
232 ExternalReference ToExternalReference(LConstantOperand* op) const; 230 ExternalReference ToExternalReference(LConstantOperand* op) const;
233 231
234 Operand BuildFastArrayOperand(LOperand* elements_pointer, 232 Operand BuildFastArrayOperand(LOperand* elements_pointer,
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 #ifdef _MSC_VER 320 #ifdef _MSC_VER
323 // On windows, you may not access the stack more than one page below 321 // On windows, you may not access the stack more than one page below
324 // the most recently mapped page. To make the allocated area randomly 322 // the most recently mapped page. To make the allocated area randomly
325 // accessible, we write an arbitrary value to each page in range 323 // accessible, we write an arbitrary value to each page in range
326 // esp + offset - page_size .. esp in turn. 324 // esp + offset - page_size .. esp in turn.
327 void MakeSureStackPagesMapped(int offset); 325 void MakeSureStackPagesMapped(int offset);
328 #endif 326 #endif
329 327
330 ZoneList<LEnvironment*> deoptimizations_; 328 ZoneList<LEnvironment*> deoptimizations_;
331 ZoneList<Deoptimizer::JumpTableEntry> jump_table_; 329 ZoneList<Deoptimizer::JumpTableEntry> jump_table_;
332 ZoneList<Handle<Object> > deoptimization_literals_;
333 int inlined_function_count_; 330 int inlined_function_count_;
334 Scope* const scope_; 331 Scope* const scope_;
335 TranslationBuffer translations_; 332 TranslationBuffer translations_;
336 ZoneList<LDeferredCode*> deferred_; 333 ZoneList<LDeferredCode*> deferred_;
337 bool dynamic_frame_alignment_; 334 bool dynamic_frame_alignment_;
338 bool support_aligned_spilled_doubles_; 335 bool support_aligned_spilled_doubles_;
339 int osr_pc_offset_; 336 int osr_pc_offset_;
340 bool frame_is_built_; 337 bool frame_is_built_;
341 338
342 // Builder that keeps track of safepoints in the code. The table 339 // Builder that keeps track of safepoints in the code. The table
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 Label entry_; 400 Label entry_;
404 Label exit_; 401 Label exit_;
405 Label* external_exit_; 402 Label* external_exit_;
406 Label done_; 403 Label done_;
407 int instruction_index_; 404 int instruction_index_;
408 }; 405 };
409 406
410 } } // namespace v8::internal 407 } } // namespace v8::internal
411 408
412 #endif // V8_IA32_LITHIUM_CODEGEN_IA32_H_ 409 #endif // V8_IA32_LITHIUM_CODEGEN_IA32_H_
OLDNEW
« no previous file with comments | « src/arm64/lithium-codegen-arm64.cc ('k') | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698