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 2499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2510 if (spill_index == 0) { | 2510 if (spill_index == 0) { |
2511 // The dynamic frame alignment state overwrites the first local. | 2511 // The dynamic frame alignment state overwrites the first local. |
2512 // The first local is saved at the end of the unoptimized frame. | 2512 // The first local is saved at the end of the unoptimized frame. |
2513 spill_index = graph()->osr()->UnoptimizedFrameSlots(); | 2513 spill_index = graph()->osr()->UnoptimizedFrameSlots(); |
2514 } | 2514 } |
2515 } | 2515 } |
2516 return DefineAsSpilled(new(zone()) LUnknownOSRValue, spill_index); | 2516 return DefineAsSpilled(new(zone()) LUnknownOSRValue, spill_index); |
2517 } | 2517 } |
2518 | 2518 |
2519 | 2519 |
2520 LInstruction* LChunkBuilder::DoCallStub(HCallStub* instr) { | |
2521 LOperand* context = UseFixed(instr->context(), esi); | |
2522 LCallStub* result = new(zone()) LCallStub(context); | |
2523 return MarkAsCall(DefineFixed(result, eax), instr); | |
2524 } | |
2525 | |
2526 | |
2527 LInstruction* LChunkBuilder::DoArgumentsObject(HArgumentsObject* instr) { | 2520 LInstruction* LChunkBuilder::DoArgumentsObject(HArgumentsObject* instr) { |
2528 // There are no real uses of the arguments object. | 2521 // There are no real uses of the arguments object. |
2529 // arguments.length and element access are supported directly on | 2522 // arguments.length and element access are supported directly on |
2530 // stack arguments, and any real arguments object use causes a bailout. | 2523 // stack arguments, and any real arguments object use causes a bailout. |
2531 // So this value is never used. | 2524 // So this value is never used. |
2532 return NULL; | 2525 return NULL; |
2533 } | 2526 } |
2534 | 2527 |
2535 | 2528 |
2536 LInstruction* LChunkBuilder::DoCapturedObject(HCapturedObject* instr) { | 2529 LInstruction* LChunkBuilder::DoCapturedObject(HCapturedObject* instr) { |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2680 LAllocateBlockContext* result = | 2673 LAllocateBlockContext* result = |
2681 new(zone()) LAllocateBlockContext(context, function); | 2674 new(zone()) LAllocateBlockContext(context, function); |
2682 return MarkAsCall(DefineFixed(result, esi), instr); | 2675 return MarkAsCall(DefineFixed(result, esi), instr); |
2683 } | 2676 } |
2684 | 2677 |
2685 | 2678 |
2686 } // namespace internal | 2679 } // namespace internal |
2687 } // namespace v8 | 2680 } // namespace v8 |
2688 | 2681 |
2689 #endif // V8_TARGET_ARCH_IA32 | 2682 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |