OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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/compiler.h" | 5 #include "src/compiler.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "src/asmjs/asm-js.h" | 10 #include "src/asmjs/asm-js.h" |
(...skipping 956 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
967 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8.compile"), "V8.CompileCode"); | 967 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8.compile"), "V8.CompileCode"); |
968 PostponeInterruptsScope postpone(isolate); | 968 PostponeInterruptsScope postpone(isolate); |
969 DCHECK(!isolate->native_context().is_null()); | 969 DCHECK(!isolate->native_context().is_null()); |
970 ParseInfo* parse_info = info->parse_info(); | 970 ParseInfo* parse_info = info->parse_info(); |
971 Handle<Script> script = parse_info->script(); | 971 Handle<Script> script = parse_info->script(); |
972 | 972 |
973 // TODO(svenpanne) Obscure place for this, perhaps move to OnBeforeCompile? | 973 // TODO(svenpanne) Obscure place for this, perhaps move to OnBeforeCompile? |
974 FixedArray* array = isolate->native_context()->embedder_data(); | 974 FixedArray* array = isolate->native_context()->embedder_data(); |
975 script->set_context_data(array->get(v8::Context::kDebugIdIndex)); | 975 script->set_context_data(array->get(v8::Context::kDebugIdIndex)); |
976 | 976 |
977 isolate->debug()->OnBeforeCompile(script); | |
978 | |
979 Handle<SharedFunctionInfo> result; | 977 Handle<SharedFunctionInfo> result; |
980 | 978 |
981 { VMState<COMPILER> state(info->isolate()); | 979 { VMState<COMPILER> state(info->isolate()); |
982 if (parse_info->literal() == nullptr && !Parser::ParseStatic(parse_info)) { | 980 if (parse_info->literal() == nullptr && !Parser::ParseStatic(parse_info)) { |
983 return Handle<SharedFunctionInfo>::null(); | 981 return Handle<SharedFunctionInfo>::null(); |
984 } | 982 } |
985 | 983 |
986 FunctionLiteral* lit = parse_info->literal(); | 984 FunctionLiteral* lit = parse_info->literal(); |
987 | 985 |
988 // Measure how long it takes to do the compilation; only take the | 986 // Measure how long it takes to do the compilation; only take the |
(...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1728 DCHECK(shared->is_compiled()); | 1726 DCHECK(shared->is_compiled()); |
1729 function->set_literals(cached.literals); | 1727 function->set_literals(cached.literals); |
1730 } else if (shared->is_compiled()) { | 1728 } else if (shared->is_compiled()) { |
1731 // TODO(mvstanton): pass pretenure flag to EnsureLiterals. | 1729 // TODO(mvstanton): pass pretenure flag to EnsureLiterals. |
1732 JSFunction::EnsureLiterals(function); | 1730 JSFunction::EnsureLiterals(function); |
1733 } | 1731 } |
1734 } | 1732 } |
1735 | 1733 |
1736 } // namespace internal | 1734 } // namespace internal |
1737 } // namespace v8 | 1735 } // namespace v8 |
OLD | NEW |