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/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/arm/lithium-arm.h" | 7 #include "src/arm/lithium-arm.h" |
8 #include "src/arm/lithium-codegen-arm.h" | 8 #include "src/arm/lithium-codegen-arm.h" |
9 #include "src/hydrogen-osr.h" | 9 #include "src/hydrogen-osr.h" |
10 #include "src/lithium-allocator-inl.h" | 10 #include "src/lithium-allocator-inl.h" |
(...skipping 2351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2362 LOperand* context = UseAny(instr->context()); | 2362 LOperand* context = UseAny(instr->context()); |
2363 LStringCharFromCode* result = | 2363 LStringCharFromCode* result = |
2364 new(zone()) LStringCharFromCode(context, char_code); | 2364 new(zone()) LStringCharFromCode(context, char_code); |
2365 return AssignPointerMap(DefineAsRegister(result)); | 2365 return AssignPointerMap(DefineAsRegister(result)); |
2366 } | 2366 } |
2367 | 2367 |
2368 | 2368 |
2369 LInstruction* LChunkBuilder::DoAllocate(HAllocate* instr) { | 2369 LInstruction* LChunkBuilder::DoAllocate(HAllocate* instr) { |
2370 info()->MarkAsDeferredCalling(); | 2370 info()->MarkAsDeferredCalling(); |
2371 LOperand* context = UseAny(instr->context()); | 2371 LOperand* context = UseAny(instr->context()); |
2372 LOperand* size = instr->size()->IsConstant() | 2372 LOperand* size = UseRegisterOrConstant(instr->size()); |
2373 ? UseConstant(instr->size()) | |
2374 : UseTempRegister(instr->size()); | |
2375 LOperand* temp1 = TempRegister(); | 2373 LOperand* temp1 = TempRegister(); |
2376 LOperand* temp2 = TempRegister(); | 2374 LOperand* temp2 = TempRegister(); |
2377 LAllocate* result = new(zone()) LAllocate(context, size, temp1, temp2); | 2375 LAllocate* result = new(zone()) LAllocate(context, size, temp1, temp2); |
2378 return AssignPointerMap(DefineAsRegister(result)); | 2376 return AssignPointerMap(DefineAsRegister(result)); |
2379 } | 2377 } |
2380 | 2378 |
2381 | 2379 |
2382 LInstruction* LChunkBuilder::DoRegExpLiteral(HRegExpLiteral* instr) { | 2380 LInstruction* LChunkBuilder::DoRegExpLiteral(HRegExpLiteral* instr) { |
2383 LOperand* context = UseFixed(instr->context(), cp); | 2381 LOperand* context = UseFixed(instr->context(), cp); |
2384 return MarkAsCall( | 2382 return MarkAsCall( |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2589 LInstruction* LChunkBuilder::DoAllocateBlockContext( | 2587 LInstruction* LChunkBuilder::DoAllocateBlockContext( |
2590 HAllocateBlockContext* instr) { | 2588 HAllocateBlockContext* instr) { |
2591 LOperand* context = UseFixed(instr->context(), cp); | 2589 LOperand* context = UseFixed(instr->context(), cp); |
2592 LOperand* function = UseRegisterAtStart(instr->function()); | 2590 LOperand* function = UseRegisterAtStart(instr->function()); |
2593 LAllocateBlockContext* result = | 2591 LAllocateBlockContext* result = |
2594 new(zone()) LAllocateBlockContext(context, function); | 2592 new(zone()) LAllocateBlockContext(context, function); |
2595 return MarkAsCall(DefineFixed(result, cp), instr); | 2593 return MarkAsCall(DefineFixed(result, cp), instr); |
2596 } | 2594 } |
2597 | 2595 |
2598 } } // namespace v8::internal | 2596 } } // namespace v8::internal |
OLD | NEW |