| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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_ |
| OLD | NEW |