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

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

Issue 12212080: MIPS: Generate the TransitionElementsStub using Crankshaft (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 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 | Annotate | Revision Log
« no previous file with comments | « src/mips/deoptimizer-mips.cc ('k') | src/mips/lithium-codegen-mips.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 // 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
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),
danno 2013/02/11 15:26:41 Do you need this boolean flag anywhere? It appears
palfia 2013/02/11 19:18:23 Yes, indeed. It seems that this flag is also unuse
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 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 LOperand* value, 127 LOperand* value,
127 IntegerSignedness signedness); 128 IntegerSignedness signedness);
128 129
129 void DoDeferredTaggedToI(LTaggedToI* instr); 130 void DoDeferredTaggedToI(LTaggedToI* instr);
130 void DoDeferredMathAbsTaggedHeapNumber(LUnaryMathOperation* instr); 131 void DoDeferredMathAbsTaggedHeapNumber(LUnaryMathOperation* instr);
131 void DoDeferredStackCheck(LStackCheck* instr); 132 void DoDeferredStackCheck(LStackCheck* instr);
132 void DoDeferredRandom(LRandom* instr); 133 void DoDeferredRandom(LRandom* instr);
133 void DoDeferredStringCharCodeAt(LStringCharCodeAt* instr); 134 void DoDeferredStringCharCodeAt(LStringCharCodeAt* instr);
134 void DoDeferredStringCharFromCode(LStringCharFromCode* instr); 135 void DoDeferredStringCharFromCode(LStringCharFromCode* instr);
135 void DoDeferredAllocateObject(LAllocateObject* instr); 136 void DoDeferredAllocateObject(LAllocateObject* instr);
137 void DoDeferredAllocate(LAllocate* instr);
136 void DoDeferredInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr, 138 void DoDeferredInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr,
137 Label* map_check); 139 Label* map_check);
138 140
139 void DoCheckMapCommon(Register map_reg, Handle<Map> map, 141 void DoCheckMapCommon(Register map_reg, Handle<Map> map,
140 CompareMapMode mode, LEnvironment* env); 142 CompareMapMode mode, LEnvironment* env);
141 143
142 // Parallel move support. 144 // Parallel move support.
143 void DoParallelMove(LParallelMove* move); 145 void DoParallelMove(LParallelMove* move);
144 void DoGap(LGap* instr); 146 void DoGap(LGap* instr);
145 147
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 void EmitBranchF(int left_block, 321 void EmitBranchF(int left_block,
320 int right_block, 322 int right_block,
321 Condition cc, 323 Condition cc,
322 FPURegister src1, 324 FPURegister src1,
323 FPURegister src2); 325 FPURegister src2);
324 void EmitCmpI(LOperand* left, LOperand* right); 326 void EmitCmpI(LOperand* left, LOperand* right);
325 void EmitNumberUntagD(Register input, 327 void EmitNumberUntagD(Register input,
326 DoubleRegister result, 328 DoubleRegister result,
327 bool deoptimize_on_undefined, 329 bool deoptimize_on_undefined,
328 bool deoptimize_on_minus_zero, 330 bool deoptimize_on_minus_zero,
329 LEnvironment* env); 331 LEnvironment* env,
332 NumberUntagDMode mode);
330 333
331 void DeoptIfTaggedButNotSmi(LEnvironment* environment, 334 void DeoptIfTaggedButNotSmi(LEnvironment* environment,
332 HValue* value, 335 HValue* value,
333 LOperand* operand); 336 LOperand* operand);
334 337
335 // Emits optimized code for typeof x == "y". Modifies input register. 338 // Emits optimized code for typeof x == "y". Modifies input register.
336 // Returns the condition on which a final split to 339 // Returns the condition on which a final split to
337 // true and false label should be made, to optimize fallthrough. 340 // true and false label should be made, to optimize fallthrough.
338 // Returns two registers in cmp1 and cmp2 that can be used in the 341 // Returns two registers in cmp1 and cmp2 that can be used in the
339 // Branch instruction after EmitTypeofIs. 342 // Branch instruction after EmitTypeofIs.
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 int current_instruction_; 410 int current_instruction_;
408 const ZoneList<LInstruction*>* instructions_; 411 const ZoneList<LInstruction*>* instructions_;
409 ZoneList<LEnvironment*> deoptimizations_; 412 ZoneList<LEnvironment*> deoptimizations_;
410 ZoneList<JumpTableEntry> deopt_jump_table_; 413 ZoneList<JumpTableEntry> deopt_jump_table_;
411 ZoneList<Handle<Object> > deoptimization_literals_; 414 ZoneList<Handle<Object> > deoptimization_literals_;
412 int inlined_function_count_; 415 int inlined_function_count_;
413 Scope* const scope_; 416 Scope* const scope_;
414 Status status_; 417 Status status_;
415 TranslationBuffer translations_; 418 TranslationBuffer translations_;
416 ZoneList<LDeferredCode*> deferred_; 419 ZoneList<LDeferredCode*> deferred_;
420 bool support_aligned_spilled_doubles_;
417 int osr_pc_offset_; 421 int osr_pc_offset_;
418 int last_lazy_deopt_pc_; 422 int last_lazy_deopt_pc_;
419 bool frame_is_built_; 423 bool frame_is_built_;
420 424
421 // Builder that keeps track of safepoints in the code. The table 425 // Builder that keeps track of safepoints in the code. The table
422 // itself is emitted at the end of the generated code. 426 // itself is emitted at the end of the generated code.
423 SafepointTableBuilder safepoints_; 427 SafepointTableBuilder safepoints_;
424 428
425 // Compiler from a set of parallel moves to a sequential list of moves. 429 // Compiler from a set of parallel moves to a sequential list of moves.
426 LGapResolver resolver_; 430 LGapResolver resolver_;
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 LCodeGen* codegen_; 505 LCodeGen* codegen_;
502 Label entry_; 506 Label entry_;
503 Label exit_; 507 Label exit_;
504 Label* external_exit_; 508 Label* external_exit_;
505 int instruction_index_; 509 int instruction_index_;
506 }; 510 };
507 511
508 } } // namespace v8::internal 512 } } // namespace v8::internal
509 513
510 #endif // V8_MIPS_LITHIUM_CODEGEN_MIPS_H_ 514 #endif // V8_MIPS_LITHIUM_CODEGEN_MIPS_H_
OLDNEW
« no previous file with comments | « src/mips/deoptimizer-mips.cc ('k') | src/mips/lithium-codegen-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698