| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 #include "src/crankshaft/x64/lithium-x64.h" | 5 #include "src/crankshaft/x64/lithium-x64.h" |
| 6 | 6 |
| 7 #include <sstream> | 7 #include <sstream> |
| 8 | 8 |
| 9 #if V8_TARGET_ARCH_X64 | 9 #if V8_TARGET_ARCH_X64 |
| 10 | 10 |
| (...skipping 1949 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1960 DCHECK(input_rep.IsSmiOrTagged()); | 1960 DCHECK(input_rep.IsSmiOrTagged()); |
| 1961 // Register allocator doesn't (yet) support allocation of double | 1961 // Register allocator doesn't (yet) support allocation of double |
| 1962 // temps. Reserve xmm1 explicitly. | 1962 // temps. Reserve xmm1 explicitly. |
| 1963 LClampTToUint8* result = new(zone()) LClampTToUint8(reg, | 1963 LClampTToUint8* result = new(zone()) LClampTToUint8(reg, |
| 1964 FixedTemp(xmm1)); | 1964 FixedTemp(xmm1)); |
| 1965 return AssignEnvironment(DefineSameAsFirst(result)); | 1965 return AssignEnvironment(DefineSameAsFirst(result)); |
| 1966 } | 1966 } |
| 1967 } | 1967 } |
| 1968 | 1968 |
| 1969 | 1969 |
| 1970 LInstruction* LChunkBuilder::DoDoubleBits(HDoubleBits* instr) { | |
| 1971 HValue* value = instr->value(); | |
| 1972 DCHECK(value->representation().IsDouble()); | |
| 1973 return DefineAsRegister(new(zone()) LDoubleBits(UseRegister(value))); | |
| 1974 } | |
| 1975 | |
| 1976 | |
| 1977 LInstruction* LChunkBuilder::DoReturn(HReturn* instr) { | 1970 LInstruction* LChunkBuilder::DoReturn(HReturn* instr) { |
| 1978 LOperand* context = info()->IsStub() ? UseFixed(instr->context(), rsi) : NULL; | 1971 LOperand* context = info()->IsStub() ? UseFixed(instr->context(), rsi) : NULL; |
| 1979 LOperand* parameter_count = UseRegisterOrConstant(instr->parameter_count()); | 1972 LOperand* parameter_count = UseRegisterOrConstant(instr->parameter_count()); |
| 1980 return new(zone()) LReturn( | 1973 return new(zone()) LReturn( |
| 1981 UseFixed(instr->value(), rax), context, parameter_count); | 1974 UseFixed(instr->value(), rax), context, parameter_count); |
| 1982 } | 1975 } |
| 1983 | 1976 |
| 1984 | 1977 |
| 1985 LInstruction* LChunkBuilder::DoConstant(HConstant* instr) { | 1978 LInstruction* LChunkBuilder::DoConstant(HConstant* instr) { |
| 1986 Representation r = instr->representation(); | 1979 Representation r = instr->representation(); |
| (...skipping 589 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2576 LOperand* index = UseTempRegister(instr->index()); | 2569 LOperand* index = UseTempRegister(instr->index()); |
| 2577 LLoadFieldByIndex* load = new(zone()) LLoadFieldByIndex(object, index); | 2570 LLoadFieldByIndex* load = new(zone()) LLoadFieldByIndex(object, index); |
| 2578 LInstruction* result = DefineSameAsFirst(load); | 2571 LInstruction* result = DefineSameAsFirst(load); |
| 2579 return AssignPointerMap(result); | 2572 return AssignPointerMap(result); |
| 2580 } | 2573 } |
| 2581 | 2574 |
| 2582 } // namespace internal | 2575 } // namespace internal |
| 2583 } // namespace v8 | 2576 } // namespace v8 |
| 2584 | 2577 |
| 2585 #endif // V8_TARGET_ARCH_X64 | 2578 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |