OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/arm64/lithium-codegen-arm64.h" | 7 #include "src/arm64/lithium-codegen-arm64.h" |
8 #include "src/hydrogen-osr.h" | 8 #include "src/hydrogen-osr.h" |
9 #include "src/lithium-inl.h" | 9 #include "src/lithium-inl.h" |
10 | 10 |
(...skipping 1457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1468 HEnvironment* inner = outer->CopyForInlining(instr->closure(), | 1468 HEnvironment* inner = outer->CopyForInlining(instr->closure(), |
1469 instr->arguments_count(), | 1469 instr->arguments_count(), |
1470 instr->function(), | 1470 instr->function(), |
1471 undefined, | 1471 undefined, |
1472 instr->inlining_kind()); | 1472 instr->inlining_kind()); |
1473 // Only replay binding of arguments object if it wasn't removed from graph. | 1473 // Only replay binding of arguments object if it wasn't removed from graph. |
1474 if ((instr->arguments_var() != NULL) && | 1474 if ((instr->arguments_var() != NULL) && |
1475 instr->arguments_object()->IsLinked()) { | 1475 instr->arguments_object()->IsLinked()) { |
1476 inner->Bind(instr->arguments_var(), instr->arguments_object()); | 1476 inner->Bind(instr->arguments_var(), instr->arguments_object()); |
1477 } | 1477 } |
| 1478 inner->BindContext(instr->closure_context()); |
1478 inner->set_entry(instr); | 1479 inner->set_entry(instr); |
1479 current_block_->UpdateEnvironment(inner); | 1480 current_block_->UpdateEnvironment(inner); |
1480 chunk_->AddInlinedClosure(instr->closure()); | 1481 chunk_->AddInlinedClosure(instr->closure()); |
1481 return NULL; | 1482 return NULL; |
1482 } | 1483 } |
1483 | 1484 |
1484 | 1485 |
1485 LInstruction* LChunkBuilder::DoEnvironmentMarker(HEnvironmentMarker* instr) { | 1486 LInstruction* LChunkBuilder::DoEnvironmentMarker(HEnvironmentMarker* instr) { |
1486 UNREACHABLE(); | 1487 UNREACHABLE(); |
1487 return NULL; | 1488 return NULL; |
(...skipping 1248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2736 HAllocateBlockContext* instr) { | 2737 HAllocateBlockContext* instr) { |
2737 LOperand* context = UseFixed(instr->context(), cp); | 2738 LOperand* context = UseFixed(instr->context(), cp); |
2738 LOperand* function = UseRegisterAtStart(instr->function()); | 2739 LOperand* function = UseRegisterAtStart(instr->function()); |
2739 LAllocateBlockContext* result = | 2740 LAllocateBlockContext* result = |
2740 new(zone()) LAllocateBlockContext(context, function); | 2741 new(zone()) LAllocateBlockContext(context, function); |
2741 return MarkAsCall(DefineFixed(result, cp), instr); | 2742 return MarkAsCall(DefineFixed(result, cp), instr); |
2742 } | 2743 } |
2743 | 2744 |
2744 | 2745 |
2745 } } // namespace v8::internal | 2746 } } // namespace v8::internal |
OLD | NEW |