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 <stdlib.h> | 5 #include <stdlib.h> |
6 | 6 |
7 #include <fstream> // NOLINT(readability/streams) | 7 #include <fstream> // NOLINT(readability/streams) |
8 #include <sstream> | 8 #include <sstream> |
9 | 9 |
10 #include "src/v8.h" | 10 #include "src/v8.h" |
(...skipping 2036 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2047 | 2047 |
2048 InitializeThreadLocal(); | 2048 InitializeThreadLocal(); |
2049 | 2049 |
2050 bootstrapper_->Initialize(create_heap_objects); | 2050 bootstrapper_->Initialize(create_heap_objects); |
2051 builtins_.SetUp(this, create_heap_objects); | 2051 builtins_.SetUp(this, create_heap_objects); |
2052 | 2052 |
2053 if (FLAG_log_internal_timer_events) { | 2053 if (FLAG_log_internal_timer_events) { |
2054 set_event_logger(Logger::DefaultEventLoggerSentinel); | 2054 set_event_logger(Logger::DefaultEventLoggerSentinel); |
2055 } | 2055 } |
2056 | 2056 |
| 2057 // Set default value if not yet set. |
| 2058 // TODO(yangguo): move this to ResourceConstraints::ConfigureDefaults |
| 2059 // once ResourceConstraints becomes an argument to the Isolate constructor. |
| 2060 if (max_available_threads_ < 1) { |
| 2061 // Choose the default between 1 and 4. |
| 2062 max_available_threads_ = |
| 2063 Max(Min(base::SysInfo::NumberOfProcessors(), 4), 1); |
| 2064 } |
| 2065 |
2057 if (FLAG_trace_hydrogen || FLAG_trace_hydrogen_stubs) { | 2066 if (FLAG_trace_hydrogen || FLAG_trace_hydrogen_stubs) { |
2058 PrintF("Concurrent recompilation has been disabled for tracing.\n"); | 2067 PrintF("Concurrent recompilation has been disabled for tracing.\n"); |
2059 } else if (OptimizingCompilerThread::Enabled(max_available_threads_)) { | 2068 } else if (OptimizingCompilerThread::Enabled(max_available_threads_)) { |
2060 optimizing_compiler_thread_ = new OptimizingCompilerThread(this); | 2069 optimizing_compiler_thread_ = new OptimizingCompilerThread(this); |
2061 optimizing_compiler_thread_->Start(); | 2070 optimizing_compiler_thread_->Start(); |
2062 } | 2071 } |
2063 | 2072 |
2064 // Initialize runtime profiler before deserialization, because collections may | 2073 // Initialize runtime profiler before deserialization, because collections may |
2065 // occur, clearing/updating ICs. | 2074 // occur, clearing/updating ICs. |
2066 runtime_profiler_ = new RuntimeProfiler(this); | 2075 runtime_profiler_ = new RuntimeProfiler(this); |
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2580 if (prev_ && prev_->Intercept(flag)) return true; | 2589 if (prev_ && prev_->Intercept(flag)) return true; |
2581 // Then check whether this scope intercepts. | 2590 // Then check whether this scope intercepts. |
2582 if ((flag & intercept_mask_)) { | 2591 if ((flag & intercept_mask_)) { |
2583 intercepted_flags_ |= flag; | 2592 intercepted_flags_ |= flag; |
2584 return true; | 2593 return true; |
2585 } | 2594 } |
2586 return false; | 2595 return false; |
2587 } | 2596 } |
2588 | 2597 |
2589 } } // namespace v8::internal | 2598 } } // namespace v8::internal |
OLD | NEW |