| 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/ia32/lithium-ia32.h" | 5 #include "src/crankshaft/ia32/lithium-ia32.h" |
| 6 | 6 |
| 7 #include <sstream> | 7 #include <sstream> |
| 8 | 8 |
| 9 #if V8_TARGET_ARCH_IA32 | 9 #if V8_TARGET_ARCH_IA32 |
| 10 | 10 |
| (...skipping 1969 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1980 LOperand* reg = UseFixed(value, eax); | 1980 LOperand* reg = UseFixed(value, eax); |
| 1981 // Register allocator doesn't (yet) support allocation of double | 1981 // Register allocator doesn't (yet) support allocation of double |
| 1982 // temps. Reserve xmm1 explicitly. | 1982 // temps. Reserve xmm1 explicitly. |
| 1983 LOperand* temp = FixedTemp(xmm1); | 1983 LOperand* temp = FixedTemp(xmm1); |
| 1984 LClampTToUint8* result = new(zone()) LClampTToUint8(reg, temp); | 1984 LClampTToUint8* result = new(zone()) LClampTToUint8(reg, temp); |
| 1985 return AssignEnvironment(DefineFixed(result, eax)); | 1985 return AssignEnvironment(DefineFixed(result, eax)); |
| 1986 } | 1986 } |
| 1987 } | 1987 } |
| 1988 | 1988 |
| 1989 | 1989 |
| 1990 LInstruction* LChunkBuilder::DoDoubleBits(HDoubleBits* instr) { | |
| 1991 HValue* value = instr->value(); | |
| 1992 DCHECK(value->representation().IsDouble()); | |
| 1993 return DefineAsRegister(new(zone()) LDoubleBits(UseRegister(value))); | |
| 1994 } | |
| 1995 | |
| 1996 | |
| 1997 LInstruction* LChunkBuilder::DoReturn(HReturn* instr) { | 1990 LInstruction* LChunkBuilder::DoReturn(HReturn* instr) { |
| 1998 LOperand* context = info()->IsStub() ? UseFixed(instr->context(), esi) : NULL; | 1991 LOperand* context = info()->IsStub() ? UseFixed(instr->context(), esi) : NULL; |
| 1999 LOperand* parameter_count = UseRegisterOrConstant(instr->parameter_count()); | 1992 LOperand* parameter_count = UseRegisterOrConstant(instr->parameter_count()); |
| 2000 return new(zone()) LReturn( | 1993 return new(zone()) LReturn( |
| 2001 UseFixed(instr->value(), eax), context, parameter_count); | 1994 UseFixed(instr->value(), eax), context, parameter_count); |
| 2002 } | 1995 } |
| 2003 | 1996 |
| 2004 | 1997 |
| 2005 LInstruction* LChunkBuilder::DoConstant(HConstant* instr) { | 1998 LInstruction* LChunkBuilder::DoConstant(HConstant* instr) { |
| 2006 Representation r = instr->representation(); | 1999 Representation r = instr->representation(); |
| (...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2570 LOperand* index = UseTempRegister(instr->index()); | 2563 LOperand* index = UseTempRegister(instr->index()); |
| 2571 LLoadFieldByIndex* load = new(zone()) LLoadFieldByIndex(object, index); | 2564 LLoadFieldByIndex* load = new(zone()) LLoadFieldByIndex(object, index); |
| 2572 LInstruction* result = DefineSameAsFirst(load); | 2565 LInstruction* result = DefineSameAsFirst(load); |
| 2573 return AssignPointerMap(result); | 2566 return AssignPointerMap(result); |
| 2574 } | 2567 } |
| 2575 | 2568 |
| 2576 } // namespace internal | 2569 } // namespace internal |
| 2577 } // namespace v8 | 2570 } // namespace v8 |
| 2578 | 2571 |
| 2579 #endif // V8_TARGET_ARCH_IA32 | 2572 #endif // V8_TARGET_ARCH_IA32 |
| OLD | NEW |