Lines Matching refs:info
183 static bool MakeCrankshaftCode(CompilationInfo* info) { in MakeCrankshaftCode() argument
187 info->DisableOptimization(); in MakeCrankshaftCode()
192 if (!info->IsOptimizing()) { in MakeCrankshaftCode()
193 return FullCodeGenerator::MakeCode(info); in MakeCrankshaftCode()
198 Handle<Code> code(info->shared_info()->code()); in MakeCrankshaftCode()
203 ASSERT(!info->shared_info()->optimization_disabled()); in MakeCrankshaftCode()
209 info->SetCode(code); in MakeCrankshaftCode()
217 if (info->shared_info()->opt_count() > kMaxOptCount) { in MakeCrankshaftCode()
218 info->AbortOptimization(); in MakeCrankshaftCode()
219 info->shared_info()->DisableOptimization(); in MakeCrankshaftCode()
234 Scope* scope = info->scope(); in MakeCrankshaftCode()
236 (info->osr_ast_id() != AstNode::kNoNumber && in MakeCrankshaftCode()
238 info->AbortOptimization(); in MakeCrankshaftCode()
239 info->shared_info()->DisableOptimization(); in MakeCrankshaftCode()
246 Handle<String> name = info->function()->debug_name(); in MakeCrankshaftCode()
252 info->SetCode(code); in MakeCrankshaftCode()
262 bool should_recompile = !info->shared_info()->has_deoptimization_support(); in MakeCrankshaftCode()
265 CompilationInfo unoptimized(info->shared_info()); in MakeCrankshaftCode()
268 unoptimized.SetFunction(info->function()); in MakeCrankshaftCode()
269 unoptimized.SetScope(info->scope()); in MakeCrankshaftCode()
274 Handle<SharedFunctionInfo> shared = info->shared_info(); in MakeCrankshaftCode()
288 ASSERT(info->shared_info()->has_deoptimization_support()); in MakeCrankshaftCode()
293 HTracer::Instance()->TraceCompilation(info->function()); in MakeCrankshaftCode()
296 Handle<Context> global_context(info->closure()->context()->global_context()); in MakeCrankshaftCode()
297 TypeFeedbackOracle oracle(code, global_context, info->isolate()); in MakeCrankshaftCode()
298 HGraphBuilder builder(info, &oracle); in MakeCrankshaftCode()
301 if (info->isolate()->has_pending_exception()) { in MakeCrankshaftCode()
302 info->SetCode(Handle<Code>::null()); in MakeCrankshaftCode()
307 Handle<Code> optimized_code = graph->Compile(info); in MakeCrankshaftCode()
309 info->SetCode(optimized_code); in MakeCrankshaftCode()
310 FinishOptimization(info->closure(), start); in MakeCrankshaftCode()
316 info->AbortOptimization(); in MakeCrankshaftCode()
320 info->shared_info()->DisableOptimization(); in MakeCrankshaftCode()
328 static bool GenerateCode(CompilationInfo* info) { in GenerateCode() argument
329 return info->IsCompilingForDebugging() || !V8::UseCrankshaft() ? in GenerateCode()
330 FullCodeGenerator::MakeCode(info) : in GenerateCode()
331 MakeCrankshaftCode(info); in GenerateCode()
335 static bool MakeCode(CompilationInfo* info) { in MakeCode() argument
338 ASSERT(info->function() != NULL); in MakeCode()
339 return Rewriter::Rewrite(info) && Scope::Analyze(info) && GenerateCode(info); in MakeCode()
344 bool Compiler::MakeCodeForLiveEdit(CompilationInfo* info) { in MakeCodeForLiveEdit() argument
347 bool succeeded = MakeCode(info); in MakeCodeForLiveEdit()
348 if (!info->shared_info().is_null()) { in MakeCodeForLiveEdit()
349 Handle<ScopeInfo> scope_info = ScopeInfo::Create(info->scope()); in MakeCodeForLiveEdit()
350 info->shared_info()->set_scope_info(*scope_info); in MakeCodeForLiveEdit()
357 static Handle<SharedFunctionInfo> MakeFunctionInfo(CompilationInfo* info) { in MakeFunctionInfo() argument
358 Isolate* isolate = info->isolate(); in MakeFunctionInfo()
363 Handle<Script> script = info->script(); in MakeFunctionInfo()
367 if (info->is_eval()) { in MakeFunctionInfo()
372 if (info->is_eval()) { in MakeFunctionInfo()
390 ASSERT(info->is_eval() || info->is_global()); in MakeFunctionInfo()
392 if (info->pre_parse_data() != NULL || in MakeFunctionInfo()
396 if (!ParserApi::Parse(info, flags)) { in MakeFunctionInfo()
403 HistogramTimer* rate = info->is_eval() in MakeFunctionInfo()
404 ? info->isolate()->counters()->compile_eval() in MakeFunctionInfo()
405 : info->isolate()->counters()->compile(); in MakeFunctionInfo()
409 FunctionLiteral* lit = info->function(); in MakeFunctionInfo()
411 if (!MakeCode(info)) { in MakeFunctionInfo()
417 ASSERT(!info->code().is_null()); in MakeFunctionInfo()
422 info->code(), in MakeFunctionInfo()
423 ScopeInfo::Create(info->scope())); in MakeFunctionInfo()
430 info->is_eval() in MakeFunctionInfo()
433 *info->code(), in MakeFunctionInfo()
438 info->code(), in MakeFunctionInfo()
439 info)); in MakeFunctionInfo()
442 info->is_eval() in MakeFunctionInfo()
445 *info->code(), in MakeFunctionInfo()
448 GDBJIT(AddCode(Handle<String>(), script, info->code(), info)); in MakeFunctionInfo()
523 CompilationInfo info(script); in Compile() local
524 info.MarkAsGlobal(); in Compile()
525 info.SetExtension(extension); in Compile()
526 info.SetPreParseData(pre_data); in Compile()
528 info.SetLanguageMode(FLAG_harmony_scoping ? EXTENDED_MODE : STRICT_MODE); in Compile()
530 result = MakeFunctionInfo(&info); in Compile()
571 CompilationInfo info(script); in CompileEval() local
572 info.MarkAsEval(); in CompileEval()
573 if (is_global) info.MarkAsGlobal(); in CompileEval()
574 info.SetLanguageMode(language_mode); in CompileEval()
575 info.SetCallingContext(context); in CompileEval()
576 result = MakeFunctionInfo(&info); in CompileEval()
603 bool Compiler::CompileLazy(CompilationInfo* info) { in CompileLazy() argument
604 Isolate* isolate = info->isolate(); in CompileLazy()
613 Handle<SharedFunctionInfo> shared = info->shared_info(); in CompileLazy()
618 if (ParserApi::Parse(info, kNoParsingFlags)) { in CompileLazy()
625 LanguageMode language_mode = info->function()->language_mode(); in CompileLazy()
626 info->SetLanguageMode(language_mode); in CompileLazy()
630 if (!MakeCode(info)) { in CompileLazy()
635 ASSERT(!info->code().is_null()); in CompileLazy()
636 Handle<Code> code = info->code(); in CompileLazy()
642 Handle<JSFunction> function = info->closure(); in CompileLazy()
643 RecordFunctionCompilation(Logger::LAZY_COMPILE_TAG, info, shared); in CompileLazy()
645 if (info->IsOptimizing()) { in CompileLazy()
654 Handle<ScopeInfo> scope_info = ScopeInfo::Create(info->scope()); in CompileLazy()
663 FunctionLiteral* lit = info->function(); in CompileLazy()
700 ASSERT(info->code().is_null()); in CompileLazy()
708 CompilationInfo info(script); in BuildFunctionInfo() local
709 info.SetFunction(literal); in BuildFunctionInfo()
710 info.SetScope(literal->scope()); in BuildFunctionInfo()
711 info.SetLanguageMode(literal->scope()->language_mode()); in BuildFunctionInfo()
713 LiveEditFunctionTracker live_edit_tracker(info.isolate(), literal); in BuildFunctionInfo()
720 !LiveEditFunctionTracker::IsActive(info.isolate()); in BuildFunctionInfo()
726 Handle<Code> code = info.isolate()->builtins()->LazyCompile(); in BuildFunctionInfo()
727 info.SetCode(code); in BuildFunctionInfo()
728 } else if ((V8::UseCrankshaft() && MakeCrankshaftCode(&info)) || in BuildFunctionInfo()
729 (!V8::UseCrankshaft() && FullCodeGenerator::MakeCode(&info))) { in BuildFunctionInfo()
730 ASSERT(!info.code().is_null()); in BuildFunctionInfo()
731 scope_info = ScopeInfo::Create(info.scope()); in BuildFunctionInfo()
740 info.code(), in BuildFunctionInfo()
743 RecordFunctionCompilation(Logger::FUNCTION_TAG, &info, result); in BuildFunctionInfo()
788 CompilationInfo* info, in RecordFunctionCompilation() argument
796 if (info->isolate()->logger()->is_logging() || in RecordFunctionCompilation()
797 CpuProfiler::is_profiling(info->isolate())) { in RecordFunctionCompilation()
798 Handle<Script> script = info->script(); in RecordFunctionCompilation()
799 Handle<Code> code = info->code(); in RecordFunctionCompilation()
800 if (*code == info->isolate()->builtins()->builtin(Builtins::kLazyCompile)) in RecordFunctionCompilation()
805 PROFILE(info->isolate(), in RecordFunctionCompilation()
812 PROFILE(info->isolate(), in RecordFunctionCompilation()
821 Handle<Script>(info->script()), in RecordFunctionCompilation()
822 Handle<Code>(info->code()), in RecordFunctionCompilation()
823 info)); in RecordFunctionCompilation()