| 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/crankshaft/hydrogen.h" | 5 #include "src/crankshaft/hydrogen.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <sstream> | 8 #include <sstream> |
| 9 | 9 |
| 10 #include "src/allocation-site-scopes.h" | 10 #include "src/allocation-site-scopes.h" |
| (...skipping 11815 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11826 } | 11826 } |
| 11827 | 11827 |
| 11828 | 11828 |
| 11829 void HOptimizedGraphBuilder::VisitVariableDeclaration( | 11829 void HOptimizedGraphBuilder::VisitVariableDeclaration( |
| 11830 VariableDeclaration* declaration) { | 11830 VariableDeclaration* declaration) { |
| 11831 VariableProxy* proxy = declaration->proxy(); | 11831 VariableProxy* proxy = declaration->proxy(); |
| 11832 Variable* variable = proxy->var(); | 11832 Variable* variable = proxy->var(); |
| 11833 switch (variable->location()) { | 11833 switch (variable->location()) { |
| 11834 case VariableLocation::UNALLOCATED: { | 11834 case VariableLocation::UNALLOCATED: { |
| 11835 DCHECK(!variable->binding_needs_init()); | 11835 DCHECK(!variable->binding_needs_init()); |
| 11836 globals_.Add(variable->name(), zone()); |
| 11836 FeedbackVectorSlot slot = proxy->VariableFeedbackSlot(); | 11837 FeedbackVectorSlot slot = proxy->VariableFeedbackSlot(); |
| 11837 DCHECK(!slot.IsInvalid()); | 11838 DCHECK(!slot.IsInvalid()); |
| 11838 globals_.Add(handle(Smi::FromInt(slot.ToInt()), isolate()), zone()); | 11839 globals_.Add(handle(Smi::FromInt(slot.ToInt()), isolate()), zone()); |
| 11839 globals_.Add(isolate()->factory()->undefined_value(), zone()); | 11840 globals_.Add(isolate()->factory()->undefined_value(), zone()); |
| 11840 return; | 11841 return; |
| 11841 } | 11842 } |
| 11842 case VariableLocation::PARAMETER: | 11843 case VariableLocation::PARAMETER: |
| 11843 case VariableLocation::LOCAL: | 11844 case VariableLocation::LOCAL: |
| 11844 if (variable->binding_needs_init()) { | 11845 if (variable->binding_needs_init()) { |
| 11845 HValue* value = graph()->GetConstantHole(); | 11846 HValue* value = graph()->GetConstantHole(); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 11864 } | 11865 } |
| 11865 } | 11866 } |
| 11866 | 11867 |
| 11867 | 11868 |
| 11868 void HOptimizedGraphBuilder::VisitFunctionDeclaration( | 11869 void HOptimizedGraphBuilder::VisitFunctionDeclaration( |
| 11869 FunctionDeclaration* declaration) { | 11870 FunctionDeclaration* declaration) { |
| 11870 VariableProxy* proxy = declaration->proxy(); | 11871 VariableProxy* proxy = declaration->proxy(); |
| 11871 Variable* variable = proxy->var(); | 11872 Variable* variable = proxy->var(); |
| 11872 switch (variable->location()) { | 11873 switch (variable->location()) { |
| 11873 case VariableLocation::UNALLOCATED: { | 11874 case VariableLocation::UNALLOCATED: { |
| 11875 globals_.Add(variable->name(), zone()); |
| 11874 FeedbackVectorSlot slot = proxy->VariableFeedbackSlot(); | 11876 FeedbackVectorSlot slot = proxy->VariableFeedbackSlot(); |
| 11875 DCHECK(!slot.IsInvalid()); | 11877 DCHECK(!slot.IsInvalid()); |
| 11876 globals_.Add(handle(Smi::FromInt(slot.ToInt()), isolate()), zone()); | 11878 globals_.Add(handle(Smi::FromInt(slot.ToInt()), isolate()), zone()); |
| 11877 Handle<SharedFunctionInfo> function = Compiler::GetSharedFunctionInfo( | 11879 Handle<SharedFunctionInfo> function = Compiler::GetSharedFunctionInfo( |
| 11878 declaration->fun(), current_info()->script(), top_info()); | 11880 declaration->fun(), current_info()->script(), top_info()); |
| 11879 // Check for stack-overflow exception. | 11881 // Check for stack-overflow exception. |
| 11880 if (function.is_null()) return SetStackOverflow(); | 11882 if (function.is_null()) return SetStackOverflow(); |
| 11881 globals_.Add(function, zone()); | 11883 globals_.Add(function, zone()); |
| 11882 return; | 11884 return; |
| 11883 } | 11885 } |
| (...skipping 1139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13023 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13025 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
| 13024 } | 13026 } |
| 13025 | 13027 |
| 13026 #ifdef DEBUG | 13028 #ifdef DEBUG |
| 13027 graph_->Verify(false); // No full verify. | 13029 graph_->Verify(false); // No full verify. |
| 13028 #endif | 13030 #endif |
| 13029 } | 13031 } |
| 13030 | 13032 |
| 13031 } // namespace internal | 13033 } // namespace internal |
| 13032 } // namespace v8 | 13034 } // namespace v8 |
| OLD | NEW |