| 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 2149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2160 if (create_heap_objects) { | 2160 if (create_heap_objects) { |
| 2161 // Terminate the cache array with the sentinel so we can iterate. | 2161 // Terminate the cache array with the sentinel so we can iterate. |
| 2162 partial_snapshot_cache_.Add(heap_.undefined_value()); | 2162 partial_snapshot_cache_.Add(heap_.undefined_value()); |
| 2163 } | 2163 } |
| 2164 | 2164 |
| 2165 InitializeThreadLocal(); | 2165 InitializeThreadLocal(); |
| 2166 | 2166 |
| 2167 bootstrapper_->Initialize(create_heap_objects); | 2167 bootstrapper_->Initialize(create_heap_objects); |
| 2168 builtins_.SetUp(this, create_heap_objects); | 2168 builtins_.SetUp(this, create_heap_objects); |
| 2169 | 2169 |
| 2170 if (FLAG_ignition) { | |
| 2171 interpreter_->Initialize(); | |
| 2172 } | |
| 2173 | |
| 2174 if (FLAG_log_internal_timer_events) { | 2170 if (FLAG_log_internal_timer_events) { |
| 2175 set_event_logger(Logger::DefaultEventLoggerSentinel); | 2171 set_event_logger(Logger::DefaultEventLoggerSentinel); |
| 2176 } | 2172 } |
| 2177 | 2173 |
| 2178 if (FLAG_trace_hydrogen || FLAG_trace_hydrogen_stubs) { | 2174 if (FLAG_trace_hydrogen || FLAG_trace_hydrogen_stubs) { |
| 2179 PrintF("Concurrent recompilation has been disabled for tracing.\n"); | 2175 PrintF("Concurrent recompilation has been disabled for tracing.\n"); |
| 2180 } else if (OptimizingCompileDispatcher::Enabled()) { | 2176 } else if (OptimizingCompileDispatcher::Enabled()) { |
| 2181 optimizing_compile_dispatcher_ = new OptimizingCompileDispatcher(this); | 2177 optimizing_compile_dispatcher_ = new OptimizingCompileDispatcher(this); |
| 2182 } | 2178 } |
| 2183 | 2179 |
| 2184 // Initialize runtime profiler before deserialization, because collections may | 2180 // Initialize runtime profiler before deserialization, because collections may |
| 2185 // occur, clearing/updating ICs. | 2181 // occur, clearing/updating ICs. |
| 2186 runtime_profiler_ = new RuntimeProfiler(this); | 2182 runtime_profiler_ = new RuntimeProfiler(this); |
| 2187 | 2183 |
| 2188 if (create_heap_objects) { | 2184 if (create_heap_objects) { |
| 2189 if (!bootstrapper_->CreateCodeStubContext(this)) { | 2185 if (!bootstrapper_->CreateCodeStubContext(this)) { |
| 2190 return false; | 2186 return false; |
| 2191 } | 2187 } |
| 2192 } | 2188 } |
| 2193 | 2189 |
| 2194 // If we are deserializing, read the state into the now-empty heap. | 2190 // If we are deserializing, read the state into the now-empty heap. |
| 2195 if (!create_heap_objects) { | 2191 if (!create_heap_objects) { |
| 2196 des->Deserialize(this); | 2192 des->Deserialize(this); |
| 2197 } | 2193 } |
| 2198 stub_cache_->Initialize(); | 2194 stub_cache_->Initialize(); |
| 2199 | 2195 |
| 2196 if (FLAG_ignition) { |
| 2197 interpreter_->Initialize(); |
| 2198 } |
| 2199 |
| 2200 // Finish initialization of ThreadLocal after deserialization is done. | 2200 // Finish initialization of ThreadLocal after deserialization is done. |
| 2201 clear_pending_exception(); | 2201 clear_pending_exception(); |
| 2202 clear_pending_message(); | 2202 clear_pending_message(); |
| 2203 clear_scheduled_exception(); | 2203 clear_scheduled_exception(); |
| 2204 | 2204 |
| 2205 // Deserializing may put strange things in the root array's copy of the | 2205 // Deserializing may put strange things in the root array's copy of the |
| 2206 // stack guard. | 2206 // stack guard. |
| 2207 heap_.SetStackLimits(); | 2207 heap_.SetStackLimits(); |
| 2208 | 2208 |
| 2209 // Quiet the heap NaN if needed on target platform. | 2209 // Quiet the heap NaN if needed on target platform. |
| (...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2825 // Then check whether this scope intercepts. | 2825 // Then check whether this scope intercepts. |
| 2826 if ((flag & intercept_mask_)) { | 2826 if ((flag & intercept_mask_)) { |
| 2827 intercepted_flags_ |= flag; | 2827 intercepted_flags_ |= flag; |
| 2828 return true; | 2828 return true; |
| 2829 } | 2829 } |
| 2830 return false; | 2830 return false; |
| 2831 } | 2831 } |
| 2832 | 2832 |
| 2833 } // namespace internal | 2833 } // namespace internal |
| 2834 } // namespace v8 | 2834 } // namespace v8 |
| OLD | NEW |