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 #include "src/crankshaft/ppc/lithium-ppc.h" | 5 #include "src/crankshaft/ppc/lithium-ppc.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/crankshaft/hydrogen-osr.h" | 9 #include "src/crankshaft/hydrogen-osr.h" |
10 #include "src/crankshaft/lithium-inl.h" | 10 #include "src/crankshaft/lithium-inl.h" |
(...skipping 1946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1957 } | 1957 } |
1958 | 1958 |
1959 | 1959 |
1960 LInstruction* LChunkBuilder::DoDoubleBits(HDoubleBits* instr) { | 1960 LInstruction* LChunkBuilder::DoDoubleBits(HDoubleBits* instr) { |
1961 HValue* value = instr->value(); | 1961 HValue* value = instr->value(); |
1962 DCHECK(value->representation().IsDouble()); | 1962 DCHECK(value->representation().IsDouble()); |
1963 return DefineAsRegister(new (zone()) LDoubleBits(UseRegister(value))); | 1963 return DefineAsRegister(new (zone()) LDoubleBits(UseRegister(value))); |
1964 } | 1964 } |
1965 | 1965 |
1966 | 1966 |
1967 LInstruction* LChunkBuilder::DoConstructDouble(HConstructDouble* instr) { | |
1968 LOperand* lo = UseRegister(instr->lo()); | |
1969 LOperand* hi = UseRegister(instr->hi()); | |
1970 return DefineAsRegister(new (zone()) LConstructDouble(hi, lo)); | |
1971 } | |
1972 | |
1973 | |
1974 LInstruction* LChunkBuilder::DoReturn(HReturn* instr) { | 1967 LInstruction* LChunkBuilder::DoReturn(HReturn* instr) { |
1975 LOperand* context = info()->IsStub() ? UseFixed(instr->context(), cp) : NULL; | 1968 LOperand* context = info()->IsStub() ? UseFixed(instr->context(), cp) : NULL; |
1976 LOperand* parameter_count = UseRegisterOrConstant(instr->parameter_count()); | 1969 LOperand* parameter_count = UseRegisterOrConstant(instr->parameter_count()); |
1977 return new (zone()) | 1970 return new (zone()) |
1978 LReturn(UseFixed(instr->value(), r3), context, parameter_count); | 1971 LReturn(UseFixed(instr->value(), r3), context, parameter_count); |
1979 } | 1972 } |
1980 | 1973 |
1981 | 1974 |
1982 LInstruction* LChunkBuilder::DoConstant(HConstant* instr) { | 1975 LInstruction* LChunkBuilder::DoConstant(HConstant* instr) { |
1983 Representation r = instr->representation(); | 1976 Representation r = instr->representation(); |
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2481 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { | 2474 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { |
2482 LOperand* object = UseRegister(instr->object()); | 2475 LOperand* object = UseRegister(instr->object()); |
2483 LOperand* index = UseTempRegister(instr->index()); | 2476 LOperand* index = UseTempRegister(instr->index()); |
2484 LLoadFieldByIndex* load = new (zone()) LLoadFieldByIndex(object, index); | 2477 LLoadFieldByIndex* load = new (zone()) LLoadFieldByIndex(object, index); |
2485 LInstruction* result = DefineSameAsFirst(load); | 2478 LInstruction* result = DefineSameAsFirst(load); |
2486 return AssignPointerMap(result); | 2479 return AssignPointerMap(result); |
2487 } | 2480 } |
2488 | 2481 |
2489 } // namespace internal | 2482 } // namespace internal |
2490 } // namespace v8 | 2483 } // namespace v8 |
OLD | NEW |