OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1447 } | 1447 } |
1448 | 1448 |
1449 | 1449 |
1450 LInstruction* LChunkBuilder::DoDummyUse(HDummyUse* instr) { | 1450 LInstruction* LChunkBuilder::DoDummyUse(HDummyUse* instr) { |
1451 return DefineAsRegister(new(zone()) LDummyUse(UseAny(instr->value()))); | 1451 return DefineAsRegister(new(zone()) LDummyUse(UseAny(instr->value()))); |
1452 } | 1452 } |
1453 | 1453 |
1454 | 1454 |
1455 LInstruction* LChunkBuilder::DoEnterInlined(HEnterInlined* instr) { | 1455 LInstruction* LChunkBuilder::DoEnterInlined(HEnterInlined* instr) { |
1456 HEnvironment* outer = current_block_->last_environment(); | 1456 HEnvironment* outer = current_block_->last_environment(); |
| 1457 outer->set_ast_id(instr->ReturnId()); |
1457 HConstant* undefined = graph()->GetConstantUndefined(); | 1458 HConstant* undefined = graph()->GetConstantUndefined(); |
1458 HEnvironment* inner = outer->CopyForInlining(instr->closure(), | 1459 HEnvironment* inner = outer->CopyForInlining(instr->closure(), |
1459 instr->arguments_count(), | 1460 instr->arguments_count(), |
1460 instr->function(), | 1461 instr->function(), |
1461 undefined, | 1462 undefined, |
1462 instr->inlining_kind()); | 1463 instr->inlining_kind()); |
1463 // Only replay binding of arguments object if it wasn't removed from graph. | 1464 // Only replay binding of arguments object if it wasn't removed from graph. |
1464 if ((instr->arguments_var() != NULL) && | 1465 if ((instr->arguments_var() != NULL) && |
1465 instr->arguments_object()->IsLinked()) { | 1466 instr->arguments_object()->IsLinked()) { |
1466 inner->Bind(instr->arguments_var(), instr->arguments_object()); | 1467 inner->Bind(instr->arguments_var(), instr->arguments_object()); |
(...skipping 1108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2575 | 2576 |
2576 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { | 2577 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { |
2577 LOperand* receiver = UseRegister(instr->receiver()); | 2578 LOperand* receiver = UseRegister(instr->receiver()); |
2578 LOperand* function = UseRegister(instr->function()); | 2579 LOperand* function = UseRegister(instr->function()); |
2579 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function); | 2580 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function); |
2580 return AssignEnvironment(DefineAsRegister(result)); | 2581 return AssignEnvironment(DefineAsRegister(result)); |
2581 } | 2582 } |
2582 | 2583 |
2583 | 2584 |
2584 } } // namespace v8::internal | 2585 } } // namespace v8::internal |
OLD | NEW |