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 1976 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1987 } | 1987 } |
1988 | 1988 |
1989 | 1989 |
1990 LInstruction* LChunkBuilder::DoDoubleBits(HDoubleBits* instr) { | 1990 LInstruction* LChunkBuilder::DoDoubleBits(HDoubleBits* instr) { |
1991 HValue* value = instr->value(); | 1991 HValue* value = instr->value(); |
1992 DCHECK(value->representation().IsDouble()); | 1992 DCHECK(value->representation().IsDouble()); |
1993 return DefineAsRegister(new(zone()) LDoubleBits(UseRegister(value))); | 1993 return DefineAsRegister(new(zone()) LDoubleBits(UseRegister(value))); |
1994 } | 1994 } |
1995 | 1995 |
1996 | 1996 |
1997 LInstruction* LChunkBuilder::DoConstructDouble(HConstructDouble* instr) { | |
1998 LOperand* lo = UseRegister(instr->lo()); | |
1999 LOperand* hi = UseRegister(instr->hi()); | |
2000 return DefineAsRegister(new(zone()) LConstructDouble(hi, lo)); | |
2001 } | |
2002 | |
2003 | |
2004 LInstruction* LChunkBuilder::DoReturn(HReturn* instr) { | 1997 LInstruction* LChunkBuilder::DoReturn(HReturn* instr) { |
2005 LOperand* context = info()->IsStub() ? UseFixed(instr->context(), esi) : NULL; | 1998 LOperand* context = info()->IsStub() ? UseFixed(instr->context(), esi) : NULL; |
2006 LOperand* parameter_count = UseRegisterOrConstant(instr->parameter_count()); | 1999 LOperand* parameter_count = UseRegisterOrConstant(instr->parameter_count()); |
2007 return new(zone()) LReturn( | 2000 return new(zone()) LReturn( |
2008 UseFixed(instr->value(), eax), context, parameter_count); | 2001 UseFixed(instr->value(), eax), context, parameter_count); |
2009 } | 2002 } |
2010 | 2003 |
2011 | 2004 |
2012 LInstruction* LChunkBuilder::DoConstant(HConstant* instr) { | 2005 LInstruction* LChunkBuilder::DoConstant(HConstant* instr) { |
2013 Representation r = instr->representation(); | 2006 Representation r = instr->representation(); |
(...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2580 LOperand* index = UseTempRegister(instr->index()); | 2573 LOperand* index = UseTempRegister(instr->index()); |
2581 LLoadFieldByIndex* load = new(zone()) LLoadFieldByIndex(object, index); | 2574 LLoadFieldByIndex* load = new(zone()) LLoadFieldByIndex(object, index); |
2582 LInstruction* result = DefineSameAsFirst(load); | 2575 LInstruction* result = DefineSameAsFirst(load); |
2583 return AssignPointerMap(result); | 2576 return AssignPointerMap(result); |
2584 } | 2577 } |
2585 | 2578 |
2586 } // namespace internal | 2579 } // namespace internal |
2587 } // namespace v8 | 2580 } // namespace v8 |
2588 | 2581 |
2589 #endif // V8_TARGET_ARCH_IA32 | 2582 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |