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/x87/lithium-x87.h" | 5 #include "src/crankshaft/x87/lithium-x87.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #if V8_TARGET_ARCH_X87 | 9 #if V8_TARGET_ARCH_X87 |
10 | 10 |
(...skipping 1967 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1978 DCHECK(input_rep.IsSmiOrTagged()); | 1978 DCHECK(input_rep.IsSmiOrTagged()); |
1979 LOperand* value = UseRegister(instr->value()); | 1979 LOperand* value = UseRegister(instr->value()); |
1980 LClampTToUint8NoSSE2* res = | 1980 LClampTToUint8NoSSE2* res = |
1981 new(zone()) LClampTToUint8NoSSE2(value, TempRegister(), | 1981 new(zone()) LClampTToUint8NoSSE2(value, TempRegister(), |
1982 TempRegister(), TempRegister()); | 1982 TempRegister(), TempRegister()); |
1983 return AssignEnvironment(DefineFixed(res, ecx)); | 1983 return AssignEnvironment(DefineFixed(res, ecx)); |
1984 } | 1984 } |
1985 } | 1985 } |
1986 | 1986 |
1987 | 1987 |
1988 LInstruction* LChunkBuilder::DoDoubleBits(HDoubleBits* instr) { | |
1989 HValue* value = instr->value(); | |
1990 DCHECK(value->representation().IsDouble()); | |
1991 return DefineAsRegister(new(zone()) LDoubleBits(UseRegister(value))); | |
1992 } | |
1993 | |
1994 | |
1995 LInstruction* LChunkBuilder::DoReturn(HReturn* instr) { | 1988 LInstruction* LChunkBuilder::DoReturn(HReturn* instr) { |
1996 LOperand* context = info()->IsStub() ? UseFixed(instr->context(), esi) : NULL; | 1989 LOperand* context = info()->IsStub() ? UseFixed(instr->context(), esi) : NULL; |
1997 LOperand* parameter_count = UseRegisterOrConstant(instr->parameter_count()); | 1990 LOperand* parameter_count = UseRegisterOrConstant(instr->parameter_count()); |
1998 return new(zone()) LReturn( | 1991 return new(zone()) LReturn( |
1999 UseFixed(instr->value(), eax), context, parameter_count); | 1992 UseFixed(instr->value(), eax), context, parameter_count); |
2000 } | 1993 } |
2001 | 1994 |
2002 | 1995 |
2003 LInstruction* LChunkBuilder::DoConstant(HConstant* instr) { | 1996 LInstruction* LChunkBuilder::DoConstant(HConstant* instr) { |
2004 Representation r = instr->representation(); | 1997 Representation r = instr->representation(); |
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2572 LOperand* index = UseTempRegister(instr->index()); | 2565 LOperand* index = UseTempRegister(instr->index()); |
2573 LLoadFieldByIndex* load = new(zone()) LLoadFieldByIndex(object, index); | 2566 LLoadFieldByIndex* load = new(zone()) LLoadFieldByIndex(object, index); |
2574 LInstruction* result = DefineSameAsFirst(load); | 2567 LInstruction* result = DefineSameAsFirst(load); |
2575 return AssignPointerMap(result); | 2568 return AssignPointerMap(result); |
2576 } | 2569 } |
2577 | 2570 |
2578 } // namespace internal | 2571 } // namespace internal |
2579 } // namespace v8 | 2572 } // namespace v8 |
2580 | 2573 |
2581 #endif // V8_TARGET_ARCH_X87 | 2574 #endif // V8_TARGET_ARCH_X87 |
OLD | NEW |