OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 #if V8_TARGET_ARCH_PPC | 5 #if V8_TARGET_ARCH_PPC |
6 | 6 |
7 #include "src/full-codegen/full-codegen.h" | 7 #include "src/full-codegen/full-codegen.h" |
8 #include "src/ast/compile-time-value.h" | 8 #include "src/ast/compile-time-value.h" |
9 #include "src/ast/scopes.h" | 9 #include "src/ast/scopes.h" |
10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
(...skipping 733 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
744 } | 744 } |
745 | 745 |
746 | 746 |
747 void FullCodeGenerator::VisitVariableDeclaration( | 747 void FullCodeGenerator::VisitVariableDeclaration( |
748 VariableDeclaration* declaration) { | 748 VariableDeclaration* declaration) { |
749 VariableProxy* proxy = declaration->proxy(); | 749 VariableProxy* proxy = declaration->proxy(); |
750 Variable* variable = proxy->var(); | 750 Variable* variable = proxy->var(); |
751 switch (variable->location()) { | 751 switch (variable->location()) { |
752 case VariableLocation::UNALLOCATED: { | 752 case VariableLocation::UNALLOCATED: { |
753 DCHECK(!variable->binding_needs_init()); | 753 DCHECK(!variable->binding_needs_init()); |
| 754 globals_->Add(variable->name(), zone()); |
754 FeedbackVectorSlot slot = proxy->VariableFeedbackSlot(); | 755 FeedbackVectorSlot slot = proxy->VariableFeedbackSlot(); |
755 DCHECK(!slot.IsInvalid()); | 756 DCHECK(!slot.IsInvalid()); |
756 globals_->Add(handle(Smi::FromInt(slot.ToInt()), isolate()), zone()); | 757 globals_->Add(handle(Smi::FromInt(slot.ToInt()), isolate()), zone()); |
757 globals_->Add(isolate()->factory()->undefined_value(), zone()); | 758 globals_->Add(isolate()->factory()->undefined_value(), zone()); |
758 break; | 759 break; |
759 } | 760 } |
760 case VariableLocation::PARAMETER: | 761 case VariableLocation::PARAMETER: |
761 case VariableLocation::LOCAL: | 762 case VariableLocation::LOCAL: |
762 if (variable->binding_needs_init()) { | 763 if (variable->binding_needs_init()) { |
763 Comment cmnt(masm_, "[ VariableDeclaration"); | 764 Comment cmnt(masm_, "[ VariableDeclaration"); |
(...skipping 29 matching lines...) Expand all Loading... |
793 } | 794 } |
794 } | 795 } |
795 | 796 |
796 | 797 |
797 void FullCodeGenerator::VisitFunctionDeclaration( | 798 void FullCodeGenerator::VisitFunctionDeclaration( |
798 FunctionDeclaration* declaration) { | 799 FunctionDeclaration* declaration) { |
799 VariableProxy* proxy = declaration->proxy(); | 800 VariableProxy* proxy = declaration->proxy(); |
800 Variable* variable = proxy->var(); | 801 Variable* variable = proxy->var(); |
801 switch (variable->location()) { | 802 switch (variable->location()) { |
802 case VariableLocation::UNALLOCATED: { | 803 case VariableLocation::UNALLOCATED: { |
| 804 globals_->Add(variable->name(), zone()); |
803 FeedbackVectorSlot slot = proxy->VariableFeedbackSlot(); | 805 FeedbackVectorSlot slot = proxy->VariableFeedbackSlot(); |
804 DCHECK(!slot.IsInvalid()); | 806 DCHECK(!slot.IsInvalid()); |
805 globals_->Add(handle(Smi::FromInt(slot.ToInt()), isolate()), zone()); | 807 globals_->Add(handle(Smi::FromInt(slot.ToInt()), isolate()), zone()); |
806 Handle<SharedFunctionInfo> function = | 808 Handle<SharedFunctionInfo> function = |
807 Compiler::GetSharedFunctionInfo(declaration->fun(), script(), info_); | 809 Compiler::GetSharedFunctionInfo(declaration->fun(), script(), info_); |
808 // Check for stack-overflow exception. | 810 // Check for stack-overflow exception. |
809 if (function.is_null()) return SetStackOverflow(); | 811 if (function.is_null()) return SetStackOverflow(); |
810 globals_->Add(function, zone()); | 812 globals_->Add(function, zone()); |
811 break; | 813 break; |
812 } | 814 } |
(...skipping 2812 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3625 | 3627 |
3626 DCHECK(Assembler::IsCrSet(Assembler::instr_at(cmp_address))); | 3628 DCHECK(Assembler::IsCrSet(Assembler::instr_at(cmp_address))); |
3627 | 3629 |
3628 DCHECK(interrupt_address == | 3630 DCHECK(interrupt_address == |
3629 isolate->builtins()->OnStackReplacement()->entry()); | 3631 isolate->builtins()->OnStackReplacement()->entry()); |
3630 return ON_STACK_REPLACEMENT; | 3632 return ON_STACK_REPLACEMENT; |
3631 } | 3633 } |
3632 } // namespace internal | 3634 } // namespace internal |
3633 } // namespace v8 | 3635 } // namespace v8 |
3634 #endif // V8_TARGET_ARCH_PPC | 3636 #endif // V8_TARGET_ARCH_PPC |
OLD | NEW |