| 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/hydrogen.h" | 5 #include "src/hydrogen.h" |
| 6 | 6 |
| 7 #include <sstream> | 7 #include <sstream> |
| 8 | 8 |
| 9 #include "src/v8.h" | 9 #include "src/v8.h" |
| 10 | 10 |
| (...skipping 8136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8147 // Parse and allocate variables. | 8147 // Parse and allocate variables. |
| 8148 // Use the same AstValueFactory for creating strings in the sub-compilation | 8148 // Use the same AstValueFactory for creating strings in the sub-compilation |
| 8149 // step, but don't transfer ownership to target_info. | 8149 // step, but don't transfer ownership to target_info. |
| 8150 ParseInfo parse_info(zone(), target); | 8150 ParseInfo parse_info(zone(), target); |
| 8151 parse_info.set_ast_value_factory( | 8151 parse_info.set_ast_value_factory( |
| 8152 top_info()->parse_info()->ast_value_factory()); | 8152 top_info()->parse_info()->ast_value_factory()); |
| 8153 parse_info.set_ast_value_factory_owned(false); | 8153 parse_info.set_ast_value_factory_owned(false); |
| 8154 | 8154 |
| 8155 CompilationInfo target_info(&parse_info); | 8155 CompilationInfo target_info(&parse_info); |
| 8156 Handle<SharedFunctionInfo> target_shared(target->shared()); | 8156 Handle<SharedFunctionInfo> target_shared(target->shared()); |
| 8157 if (target_shared->HasDebugInfo()) { |
| 8158 TraceInline(target, caller, "target is being debugged"); |
| 8159 return false; |
| 8160 } |
| 8157 if (!Compiler::ParseAndAnalyze(target_info.parse_info())) { | 8161 if (!Compiler::ParseAndAnalyze(target_info.parse_info())) { |
| 8158 if (target_info.isolate()->has_pending_exception()) { | 8162 if (target_info.isolate()->has_pending_exception()) { |
| 8159 // Parse or scope error, never optimize this function. | 8163 // Parse or scope error, never optimize this function. |
| 8160 SetStackOverflow(); | 8164 SetStackOverflow(); |
| 8161 target_shared->DisableOptimization(kParseScopeError); | 8165 target_shared->DisableOptimization(kParseScopeError); |
| 8162 } | 8166 } |
| 8163 TraceInline(target, caller, "parse failure"); | 8167 TraceInline(target, caller, "parse failure"); |
| 8164 return false; | 8168 return false; |
| 8165 } | 8169 } |
| 8166 | 8170 |
| (...skipping 5154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13321 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13325 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
| 13322 } | 13326 } |
| 13323 | 13327 |
| 13324 #ifdef DEBUG | 13328 #ifdef DEBUG |
| 13325 graph_->Verify(false); // No full verify. | 13329 graph_->Verify(false); // No full verify. |
| 13326 #endif | 13330 #endif |
| 13327 } | 13331 } |
| 13328 | 13332 |
| 13329 } // namespace internal | 13333 } // namespace internal |
| 13330 } // namespace v8 | 13334 } // namespace v8 |
| OLD | NEW |