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

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

Issue 1731273003: [crankshaft] [ia32] Remove dynamic frame alignment optimization. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 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/crankshaft/hydrogen.cc ('k') | src/crankshaft/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_CRANKSHAFT_IA32_LITHIUM_CODEGEN_IA32_H_ 5 #ifndef V8_CRANKSHAFT_IA32_LITHIUM_CODEGEN_IA32_H_
6 #define V8_CRANKSHAFT_IA32_LITHIUM_CODEGEN_IA32_H_ 6 #define V8_CRANKSHAFT_IA32_LITHIUM_CODEGEN_IA32_H_
7 7
8 #include "src/ast/scopes.h" 8 #include "src/ast/scopes.h"
9 #include "src/base/logging.h" 9 #include "src/base/logging.h"
10 #include "src/crankshaft/ia32/lithium-gap-resolver-ia32.h" 10 #include "src/crankshaft/ia32/lithium-gap-resolver-ia32.h"
(...skipping 11 matching lines...) Expand all
22 class LGapNode; 22 class LGapNode;
23 class SafepointGenerator; 23 class SafepointGenerator;
24 24
25 class LCodeGen: public LCodeGenBase { 25 class LCodeGen: public LCodeGenBase {
26 public: 26 public:
27 LCodeGen(LChunk* chunk, MacroAssembler* assembler, CompilationInfo* info) 27 LCodeGen(LChunk* chunk, MacroAssembler* assembler, CompilationInfo* info)
28 : LCodeGenBase(chunk, assembler, info), 28 : LCodeGenBase(chunk, assembler, info),
29 jump_table_(4, info->zone()), 29 jump_table_(4, info->zone()),
30 scope_(info->scope()), 30 scope_(info->scope()),
31 deferred_(8, info->zone()), 31 deferred_(8, info->zone()),
32 dynamic_frame_alignment_(false),
33 support_aligned_spilled_doubles_(false),
34 frame_is_built_(false), 32 frame_is_built_(false),
35 safepoints_(info->zone()), 33 safepoints_(info->zone()),
36 resolver_(this), 34 resolver_(this),
37 expected_safepoint_kind_(Safepoint::kSimple) { 35 expected_safepoint_kind_(Safepoint::kSimple) {
38 PopulateDeoptimizationLiteralsWithInlinedFunctions(); 36 PopulateDeoptimizationLiteralsWithInlinedFunctions();
39 } 37 }
40 38
41 int LookupDestination(int block_id) const { 39 int LookupDestination(int block_id) const {
42 return chunk()->LookupDestination(block_id); 40 return chunk()->LookupDestination(block_id);
43 } 41 }
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 void DoLoadKeyedFixedArray(LLoadKeyed* instr); 291 void DoLoadKeyedFixedArray(LLoadKeyed* instr);
294 void DoStoreKeyedExternalArray(LStoreKeyed* instr); 292 void DoStoreKeyedExternalArray(LStoreKeyed* instr);
295 void DoStoreKeyedFixedDoubleArray(LStoreKeyed* instr); 293 void DoStoreKeyedFixedDoubleArray(LStoreKeyed* instr);
296 void DoStoreKeyedFixedArray(LStoreKeyed* instr); 294 void DoStoreKeyedFixedArray(LStoreKeyed* instr);
297 295
298 template <class T> 296 template <class T>
299 void EmitVectorLoadICRegisters(T* instr); 297 void EmitVectorLoadICRegisters(T* instr);
300 template <class T> 298 template <class T>
301 void EmitVectorStoreICRegisters(T* instr); 299 void EmitVectorStoreICRegisters(T* instr);
302 300
303 void EmitReturn(LReturn* instr, bool dynamic_frame_alignment); 301 void EmitReturn(LReturn* instr);
304 302
305 // Emits code for pushing either a tagged constant, a (non-double) 303 // Emits code for pushing either a tagged constant, a (non-double)
306 // register, or a stack slot operand. 304 // register, or a stack slot operand.
307 void EmitPushTaggedOperand(LOperand* operand); 305 void EmitPushTaggedOperand(LOperand* operand);
308 306
309 friend class LGapResolver; 307 friend class LGapResolver;
310 308
311 #ifdef _MSC_VER 309 #ifdef _MSC_VER
312 // On windows, you may not access the stack more than one page below 310 // On windows, you may not access the stack more than one page below
313 // the most recently mapped page. To make the allocated area randomly 311 // the most recently mapped page. To make the allocated area randomly
314 // accessible, we write an arbitrary value to each page in range 312 // accessible, we write an arbitrary value to each page in range
315 // esp + offset - page_size .. esp in turn. 313 // esp + offset - page_size .. esp in turn.
316 void MakeSureStackPagesMapped(int offset); 314 void MakeSureStackPagesMapped(int offset);
317 #endif 315 #endif
318 316
319 ZoneList<Deoptimizer::JumpTableEntry> jump_table_; 317 ZoneList<Deoptimizer::JumpTableEntry> jump_table_;
320 Scope* const scope_; 318 Scope* const scope_;
321 ZoneList<LDeferredCode*> deferred_; 319 ZoneList<LDeferredCode*> deferred_;
322 bool dynamic_frame_alignment_;
323 bool support_aligned_spilled_doubles_;
324 bool frame_is_built_; 320 bool frame_is_built_;
325 321
326 // Builder that keeps track of safepoints in the code. The table 322 // Builder that keeps track of safepoints in the code. The table
327 // itself is emitted at the end of the generated code. 323 // itself is emitted at the end of the generated code.
328 SafepointTableBuilder safepoints_; 324 SafepointTableBuilder safepoints_;
329 325
330 // Compiler from a set of parallel moves to a sequential list of moves. 326 // Compiler from a set of parallel moves to a sequential list of moves.
331 LGapResolver resolver_; 327 LGapResolver resolver_;
332 328
333 Safepoint::Kind expected_safepoint_kind_; 329 Safepoint::Kind expected_safepoint_kind_;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 Label exit_; 384 Label exit_;
389 Label* external_exit_; 385 Label* external_exit_;
390 Label done_; 386 Label done_;
391 int instruction_index_; 387 int instruction_index_;
392 }; 388 };
393 389
394 } // namespace internal 390 } // namespace internal
395 } // namespace v8 391 } // namespace v8
396 392
397 #endif // V8_CRANKSHAFT_IA32_LITHIUM_CODEGEN_IA32_H_ 393 #endif // V8_CRANKSHAFT_IA32_LITHIUM_CODEGEN_IA32_H_
OLDNEW
« no previous file with comments | « src/crankshaft/hydrogen.cc ('k') | src/crankshaft/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698