| Index: src/compiler.cc
|
| diff --git a/src/compiler.cc b/src/compiler.cc
|
| index 0d4e6b577ef0530e573afef92dc6ebf39da1fb97..9b8f86f4687e8bb72a82166f7cc9f8376a483cee 100644
|
| --- a/src/compiler.cc
|
| +++ b/src/compiler.cc
|
| @@ -371,7 +371,7 @@ OptimizingCompiler::Status OptimizingCompiler::CreateGraph() {
|
| }
|
|
|
| // Take --hydrogen-filter into account.
|
| - if (!info()->closure()->PassesHydrogenFilter()) {
|
| + if (!info()->closure()->PassesFilter(FLAG_hydrogen_filter)) {
|
| info()->AbortOptimization();
|
| return SetLastStatus(BAILED_OUT);
|
| }
|
| @@ -974,17 +974,17 @@ bool Compiler::CompileLazy(CompilationInfo* info) {
|
| }
|
|
|
|
|
| -void Compiler::RecompileParallel(Handle<JSFunction> closure) {
|
| - ASSERT(closure->IsMarkedForParallelRecompilation());
|
| +void Compiler::RecompileConcurrent(Handle<JSFunction> closure) {
|
| + ASSERT(closure->IsMarkedForConcurrentRecompilation());
|
|
|
| Isolate* isolate = closure->GetIsolate();
|
| - // Here we prepare compile data for the parallel recompilation thread, but
|
| + // Here we prepare compile data for the concurrent recompilation thread, but
|
| // this still happens synchronously and interrupts execution.
|
| Logger::TimerEventScope timer(
|
| isolate, Logger::TimerEventScope::v8_recompile_synchronous);
|
|
|
| if (!isolate->optimizing_compiler_thread()->IsQueueAvailable()) {
|
| - if (FLAG_trace_parallel_recompilation) {
|
| + if (FLAG_trace_concurrent_recompilation) {
|
| PrintF(" ** Compilation queue full, will retry optimizing ");
|
| closure->PrintName();
|
| PrintF(" on next run.\n");
|
| @@ -1055,7 +1055,7 @@ void Compiler::InstallOptimizedCode(OptimizingCompiler* optimizing_compiler) {
|
| if (info->shared_info()->optimization_disabled()) {
|
| info->AbortOptimization();
|
| InstallFullCode(*info);
|
| - if (FLAG_trace_parallel_recompilation) {
|
| + if (FLAG_trace_concurrent_recompilation) {
|
| PrintF(" ** aborting optimization for ");
|
| info->closure()->PrintName();
|
| PrintF(" as it has been disabled.\n");
|
| @@ -1095,7 +1095,7 @@ void Compiler::InstallOptimizedCode(OptimizingCompiler* optimizing_compiler) {
|
| info->closure()->context()->native_context()) == -1) {
|
| InsertCodeIntoOptimizedCodeMap(*info);
|
| }
|
| - if (FLAG_trace_parallel_recompilation) {
|
| + if (FLAG_trace_concurrent_recompilation) {
|
| PrintF(" ** Optimized code for ");
|
| info->closure()->PrintName();
|
| PrintF(" installed.\n");
|
| @@ -1218,6 +1218,8 @@ void Compiler::RecordFunctionCompilation(Logger::LogEventsAndTags tag,
|
| if (*code == info->isolate()->builtins()->builtin(Builtins::kLazyCompile))
|
| return;
|
| int line_num = GetScriptLineNumber(script, shared->start_position()) + 1;
|
| + int column_num =
|
| + GetScriptColumnNumber(script, shared->start_position()) + 1;
|
| USE(line_num);
|
| if (script->name()->IsString()) {
|
| PROFILE(info->isolate(),
|
| @@ -1226,7 +1228,8 @@ void Compiler::RecordFunctionCompilation(Logger::LogEventsAndTags tag,
|
| *shared,
|
| info,
|
| String::cast(script->name()),
|
| - line_num));
|
| + line_num,
|
| + column_num));
|
| } else {
|
| PROFILE(info->isolate(),
|
| CodeCreateEvent(Logger::ToNativeByScript(tag, *script),
|
| @@ -1234,7 +1237,8 @@ void Compiler::RecordFunctionCompilation(Logger::LogEventsAndTags tag,
|
| *shared,
|
| info,
|
| info->isolate()->heap()->empty_string(),
|
| - line_num));
|
| + line_num,
|
| + column_num));
|
| }
|
| }
|
|
|
| @@ -1267,9 +1271,11 @@ CompilationPhase::~CompilationPhase() {
|
| bool CompilationPhase::ShouldProduceTraceOutput() const {
|
| // Trace if the appropriate trace flag is set and the phase name's first
|
| // character is in the FLAG_trace_phase command line parameter.
|
| - bool tracing_on = info()->IsStub() ?
|
| - FLAG_trace_hydrogen_stubs :
|
| - FLAG_trace_hydrogen;
|
| + AllowHandleDereference allow_deref;
|
| + bool tracing_on = info()->IsStub()
|
| + ? FLAG_trace_hydrogen_stubs
|
| + : (FLAG_trace_hydrogen &&
|
| + info()->closure()->PassesFilter(FLAG_trace_hydrogen_filter));
|
| return (tracing_on &&
|
| OS::StrChr(const_cast<char*>(FLAG_trace_phase), name_[0]) != NULL);
|
| }
|
|
|