| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ | 5 #ifndef V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ |
| 6 #define V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ | 6 #define V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ |
| 7 | 7 |
| 8 #include "src/compiler/instruction.h" | 8 #include "src/compiler/instruction.h" |
| 9 #include "src/compiler/instruction-selector.h" | 9 #include "src/compiler/instruction-selector.h" |
| 10 #include "src/compiler/linkage.h" | 10 #include "src/compiler/linkage.h" |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 // a location on the caller frame. | 217 // a location on the caller frame. |
| 218 return UnallocatedOperand(UnallocatedOperand::FIXED_SLOT, | 218 return UnallocatedOperand(UnallocatedOperand::FIXED_SLOT, |
| 219 location.AsCallerFrameSlot(), virtual_register); | 219 location.AsCallerFrameSlot(), virtual_register); |
| 220 } | 220 } |
| 221 if (location.IsCalleeFrameSlot()) { | 221 if (location.IsCalleeFrameSlot()) { |
| 222 // a spill location on this (callee) frame. | 222 // a spill location on this (callee) frame. |
| 223 return UnallocatedOperand(UnallocatedOperand::FIXED_SLOT, | 223 return UnallocatedOperand(UnallocatedOperand::FIXED_SLOT, |
| 224 location.AsCalleeFrameSlot(), virtual_register); | 224 location.AsCalleeFrameSlot(), virtual_register); |
| 225 } | 225 } |
| 226 // a fixed register. | 226 // a fixed register. |
| 227 if (RepresentationOf(type) == kRepFloat64) { | 227 MachineType rep = RepresentationOf(type); |
| 228 if (rep == kRepFloat64 || rep == kRepFloat32) { |
| 228 return UnallocatedOperand(UnallocatedOperand::FIXED_DOUBLE_REGISTER, | 229 return UnallocatedOperand(UnallocatedOperand::FIXED_DOUBLE_REGISTER, |
| 229 location.AsRegister(), virtual_register); | 230 location.AsRegister(), virtual_register); |
| 230 } | 231 } |
| 231 return UnallocatedOperand(UnallocatedOperand::FIXED_REGISTER, | 232 return UnallocatedOperand(UnallocatedOperand::FIXED_REGISTER, |
| 232 location.AsRegister(), virtual_register); | 233 location.AsRegister(), virtual_register); |
| 233 } | 234 } |
| 234 | 235 |
| 235 InstructionSelector* selector_; | 236 InstructionSelector* selector_; |
| 236 }; | 237 }; |
| 237 | 238 |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 375 : (frame_state_descriptor->GetTotalSize() + | 376 : (frame_state_descriptor->GetTotalSize() + |
| 376 1); // Include deopt id. | 377 1); // Include deopt id. |
| 377 } | 378 } |
| 378 }; | 379 }; |
| 379 | 380 |
| 380 } // namespace compiler | 381 } // namespace compiler |
| 381 } // namespace internal | 382 } // namespace internal |
| 382 } // namespace v8 | 383 } // namespace v8 |
| 383 | 384 |
| 384 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ | 385 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ |
| OLD | NEW |