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

Side by Side Diff: src/x64/lithium-codegen-x64.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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 status_(UNUSED), 60 status_(UNUSED),
61 deferred_(8), 61 deferred_(8),
62 osr_pc_offset_(-1), 62 osr_pc_offset_(-1),
63 resolver_(this) { 63 resolver_(this) {
64 PopulateDeoptimizationLiteralsWithInlinedFunctions(); 64 PopulateDeoptimizationLiteralsWithInlinedFunctions();
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(); }
71 Factory* factory() const { return isolate()->factory(); }
72 Heap* heap() const { return isolate()->heap(); }
70 73
71 // Support for converting LOperands to assembler types. 74 // Support for converting LOperands to assembler types.
72 Register ToRegister(LOperand* op) const; 75 Register ToRegister(LOperand* op) const;
73 XMMRegister ToDoubleRegister(LOperand* op) const; 76 XMMRegister ToDoubleRegister(LOperand* op) const;
74 bool IsInteger32Constant(LConstantOperand* op) const; 77 bool IsInteger32Constant(LConstantOperand* op) const;
75 int ToInteger32(LConstantOperand* op) const; 78 int ToInteger32(LConstantOperand* op) const;
76 bool IsTaggedConstant(LConstantOperand* op) const; 79 bool IsTaggedConstant(LConstantOperand* op) const;
77 Handle<Object> ToHandle(LConstantOperand* op) const; 80 Handle<Object> ToHandle(LConstantOperand* op) const;
78 Operand ToOperand(LOperand* op) const; 81 Operand ToOperand(LOperand* op) const;
79 82
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 // continue. 152 // continue.
150 bool GeneratePrologue(); 153 bool GeneratePrologue();
151 bool GenerateBody(); 154 bool GenerateBody();
152 bool GenerateDeferredCode(); 155 bool GenerateDeferredCode();
153 bool GenerateJumpTable(); 156 bool GenerateJumpTable();
154 bool GenerateSafepointTable(); 157 bool GenerateSafepointTable();
155 158
156 void CallCode(Handle<Code> code, 159 void CallCode(Handle<Code> code,
157 RelocInfo::Mode mode, 160 RelocInfo::Mode mode,
158 LInstruction* instr); 161 LInstruction* instr);
159 void CallRuntime(Runtime::Function* function, 162 void CallRuntime(const Runtime::Function* function,
160 int num_arguments, 163 int num_arguments,
161 LInstruction* instr); 164 LInstruction* instr);
162 void CallRuntime(Runtime::FunctionId id, 165 void CallRuntime(Runtime::FunctionId id,
163 int num_arguments, 166 int num_arguments,
164 LInstruction* instr) { 167 LInstruction* instr) {
165 Runtime::Function* function = Runtime::FunctionForId(id); 168 const Runtime::Function* function = Runtime::FunctionForId(id);
166 CallRuntime(function, num_arguments, instr); 169 CallRuntime(function, num_arguments, instr);
167 } 170 }
168 171
169 // Generate a direct call to a known function. Expects the function 172 // Generate a direct call to a known function. Expects the function
170 // to be in edi. 173 // to be in edi.
171 void CallKnownFunction(Handle<JSFunction> function, 174 void CallKnownFunction(Handle<JSFunction> function,
172 int arity, 175 int arity,
173 LInstruction* instr); 176 LInstruction* instr);
174 177
175 void LoadHeapObject(Register result, Handle<HeapObject> object); 178 void LoadHeapObject(Register result, Handle<HeapObject> object);
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 private: 304 private:
302 LCodeGen* codegen_; 305 LCodeGen* codegen_;
303 Label entry_; 306 Label entry_;
304 Label exit_; 307 Label exit_;
305 Label* external_exit_; 308 Label* external_exit_;
306 }; 309 };
307 310
308 } } // namespace v8::internal 311 } } // namespace v8::internal
309 312
310 #endif // V8_X64_LITHIUM_CODEGEN_X64_H_ 313 #endif // V8_X64_LITHIUM_CODEGEN_X64_H_
OLDNEW
« src/store-buffer.cc ('K') | « src/x64/ic-x64.cc ('k') | src/x64/lithium-codegen-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698