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

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

Issue 6880010: Merge (7265, 7271] from bleeding_edge to experimental/gc branch.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/gc/
Patch Set: '' Created 9 years, 8 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
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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 deferred_(8), 58 deferred_(8),
59 osr_pc_offset_(-1), 59 osr_pc_offset_(-1),
60 resolver_(this) { 60 resolver_(this) {
61 PopulateDeoptimizationLiteralsWithInlinedFunctions(); 61 PopulateDeoptimizationLiteralsWithInlinedFunctions();
62 } 62 }
63 63
64 64
65 // Simple accessors. 65 // Simple accessors.
66 MacroAssembler* masm() const { return masm_; } 66 MacroAssembler* masm() const { return masm_; }
67 CompilationInfo* info() const { return info_; } 67 CompilationInfo* info() const { return info_; }
68 Isolate* isolate() const { return info_->isolate(); }
69 Factory* factory() const { return isolate()->factory(); }
70 Heap* heap() const { return isolate()->heap(); }
68 71
69 // Support for converting LOperands to assembler types. 72 // Support for converting LOperands to assembler types.
70 // LOperand must be a register. 73 // LOperand must be a register.
71 Register ToRegister(LOperand* op) const; 74 Register ToRegister(LOperand* op) const;
72 75
73 // LOperand is loaded into scratch, unless already a register. 76 // LOperand is loaded into scratch, unless already a register.
74 Register EmitLoadRegister(LOperand* op, Register scratch); 77 Register EmitLoadRegister(LOperand* op, Register scratch);
75 78
76 // LOperand must be a double register. 79 // LOperand must be a double register.
77 DoubleRegister ToDoubleRegister(LOperand* op) const; 80 DoubleRegister ToDoubleRegister(LOperand* op) const;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 // Code generation passes. Returns true if code generation should 168 // Code generation passes. Returns true if code generation should
166 // continue. 169 // continue.
167 bool GeneratePrologue(); 170 bool GeneratePrologue();
168 bool GenerateBody(); 171 bool GenerateBody();
169 bool GenerateDeferredCode(); 172 bool GenerateDeferredCode();
170 bool GenerateSafepointTable(); 173 bool GenerateSafepointTable();
171 174
172 void CallCode(Handle<Code> code, 175 void CallCode(Handle<Code> code,
173 RelocInfo::Mode mode, 176 RelocInfo::Mode mode,
174 LInstruction* instr); 177 LInstruction* instr);
175 void CallRuntime(Runtime::Function* function, 178 void CallRuntime(const Runtime::Function* function,
176 int num_arguments, 179 int num_arguments,
177 LInstruction* instr); 180 LInstruction* instr);
178 void CallRuntime(Runtime::FunctionId id, 181 void CallRuntime(Runtime::FunctionId id,
179 int num_arguments, 182 int num_arguments,
180 LInstruction* instr) { 183 LInstruction* instr) {
181 Runtime::Function* function = Runtime::FunctionForId(id); 184 const Runtime::Function* function = Runtime::FunctionForId(id);
182 CallRuntime(function, num_arguments, instr); 185 CallRuntime(function, num_arguments, instr);
183 } 186 }
184 187
185 // Generate a direct call to a known function. Expects the function 188 // Generate a direct call to a known function. Expects the function
186 // to be in edi. 189 // to be in edi.
187 void CallKnownFunction(Handle<JSFunction> function, 190 void CallKnownFunction(Handle<JSFunction> function,
188 int arity, 191 int arity,
189 LInstruction* instr); 192 LInstruction* instr);
190 193
191 void LoadHeapObject(Register result, Handle<HeapObject> object); 194 void LoadHeapObject(Register result, Handle<HeapObject> object);
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 private: 315 private:
313 LCodeGen* codegen_; 316 LCodeGen* codegen_;
314 Label entry_; 317 Label entry_;
315 Label exit_; 318 Label exit_;
316 Label* external_exit_; 319 Label* external_exit_;
317 }; 320 };
318 321
319 } } // namespace v8::internal 322 } } // namespace v8::internal
320 323
321 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ 324 #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') | src/heap.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698