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

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

Issue 7374002: Refactor allocation policies. Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 years, 5 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/arm/lithium-arm.cc ('k') | src/arm/lithium-codegen-arm.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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 43
44 class LCodeGen BASE_EMBEDDED { 44 class LCodeGen BASE_EMBEDDED {
45 public: 45 public:
46 LCodeGen(LChunk* chunk, MacroAssembler* assembler, CompilationInfo* info) 46 LCodeGen(LChunk* chunk, MacroAssembler* assembler, CompilationInfo* info)
47 : chunk_(chunk), 47 : chunk_(chunk),
48 masm_(assembler), 48 masm_(assembler),
49 info_(info), 49 info_(info),
50 current_block_(-1), 50 current_block_(-1),
51 current_instruction_(-1), 51 current_instruction_(-1),
52 instructions_(chunk->instructions()), 52 instructions_(chunk->instructions()),
53 deoptimizations_(4), 53 deoptimizations_(info->zone(), 4),
54 deopt_jump_table_(4), 54 deopt_jump_table_(info->zone(), 4),
55 deoptimization_literals_(8), 55 deoptimization_literals_(info->zone(), 8),
56 inlined_function_count_(0), 56 inlined_function_count_(0),
57 scope_(info->scope()), 57 scope_(info->scope()),
58 status_(UNUSED), 58 status_(UNUSED),
59 deferred_(8), 59 deferred_(info->zone(), 8),
60 osr_pc_offset_(-1), 60 osr_pc_offset_(-1),
61 resolver_(this), 61 resolver_(this),
62 expected_safepoint_kind_(Safepoint::kSimple) { 62 expected_safepoint_kind_(Safepoint::kSimple) {
63 PopulateDeoptimizationLiteralsWithInlinedFunctions(); 63 PopulateDeoptimizationLiteralsWithInlinedFunctions();
64 } 64 }
65 65
66 66
67 // Simple accessors. 67 // Simple accessors.
68 MacroAssembler* masm() const { return masm_; } 68 MacroAssembler* masm() const { return masm_; }
69 CompilationInfo* info() const { return info_; } 69 CompilationInfo* info() const { return info_; }
70 Isolate* isolate() const { return info_->isolate(); } 70 Isolate* isolate() const { return info_->isolate(); }
71 Factory* factory() const { return isolate()->factory(); } 71 Factory* factory() const { return isolate()->factory(); }
72 Heap* heap() const { return isolate()->heap(); } 72 Heap* heap() const { return isolate()->heap(); }
73 Zone* zone() const { return isolate()->zone(); }
73 74
74 // Support for converting LOperands to assembler types. 75 // Support for converting LOperands to assembler types.
75 // LOperand must be a register. 76 // LOperand must be a register.
76 Register ToRegister(LOperand* op) const; 77 Register ToRegister(LOperand* op) const;
77 78
78 // LOperand is loaded into scratch, unless already a register. 79 // LOperand is loaded into scratch, unless already a register.
79 Register EmitLoadRegister(LOperand* op, Register scratch); 80 Register EmitLoadRegister(LOperand* op, Register scratch);
80 81
81 // LOperand must be a double register. 82 // LOperand must be a double register.
82 DoubleRegister ToDoubleRegister(LOperand* op) const; 83 DoubleRegister ToDoubleRegister(LOperand* op) const;
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 private: 395 private:
395 LCodeGen* codegen_; 396 LCodeGen* codegen_;
396 Label entry_; 397 Label entry_;
397 Label exit_; 398 Label exit_;
398 Label* external_exit_; 399 Label* external_exit_;
399 }; 400 };
400 401
401 } } // namespace v8::internal 402 } } // namespace v8::internal
402 403
403 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ 404 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/lithium-arm.cc ('k') | src/arm/lithium-codegen-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698