| 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 <sstream> | 7 #include <sstream> |
| 8 | 8 |
| 9 #include "src/allocation-site-scopes.h" | 9 #include "src/allocation-site-scopes.h" |
| 10 #include "src/ast/ast-numbering.h" | 10 #include "src/ast/ast-numbering.h" |
| (...skipping 8568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8579 } | 8579 } |
| 8580 if (!Compiler::ParseAndAnalyze(target_info.parse_info())) { | 8580 if (!Compiler::ParseAndAnalyze(target_info.parse_info())) { |
| 8581 if (target_info.isolate()->has_pending_exception()) { | 8581 if (target_info.isolate()->has_pending_exception()) { |
| 8582 // Parse or scope error, never optimize this function. | 8582 // Parse or scope error, never optimize this function. |
| 8583 SetStackOverflow(); | 8583 SetStackOverflow(); |
| 8584 target_shared->DisableOptimization(kParseScopeError); | 8584 target_shared->DisableOptimization(kParseScopeError); |
| 8585 } | 8585 } |
| 8586 TraceInline(target, caller, "parse failure"); | 8586 TraceInline(target, caller, "parse failure"); |
| 8587 return false; | 8587 return false; |
| 8588 } | 8588 } |
| 8589 if (target_shared->dont_crankshaft()) { |
| 8590 TraceInline(target, caller, "ParseAndAnalyze found incompatibility"); |
| 8591 return false; |
| 8592 } |
| 8589 | 8593 |
| 8590 if (target_info.scope()->num_heap_slots() > 0) { | 8594 if (target_info.scope()->num_heap_slots() > 0) { |
| 8591 TraceInline(target, caller, "target has context-allocated variables"); | 8595 TraceInline(target, caller, "target has context-allocated variables"); |
| 8592 return false; | 8596 return false; |
| 8593 } | 8597 } |
| 8594 | 8598 |
| 8595 int rest_index; | 8599 int rest_index; |
| 8596 Variable* rest = target_info.scope()->rest_parameter(&rest_index); | 8600 Variable* rest = target_info.scope()->rest_parameter(&rest_index); |
| 8597 if (rest) { | 8601 if (rest) { |
| 8598 TraceInline(target, caller, "target uses rest parameters"); | 8602 TraceInline(target, caller, "target uses rest parameters"); |
| (...skipping 5116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13715 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13719 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
| 13716 } | 13720 } |
| 13717 | 13721 |
| 13718 #ifdef DEBUG | 13722 #ifdef DEBUG |
| 13719 graph_->Verify(false); // No full verify. | 13723 graph_->Verify(false); // No full verify. |
| 13720 #endif | 13724 #endif |
| 13721 } | 13725 } |
| 13722 | 13726 |
| 13723 } // namespace internal | 13727 } // namespace internal |
| 13724 } // namespace v8 | 13728 } // namespace v8 |
| OLD | NEW |