| 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 #ifndef V8_ISOLATE_H_ | 5 #ifndef V8_ISOLATE_H_ |
| 6 #define V8_ISOLATE_H_ | 6 #define V8_ISOLATE_H_ |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <queue> | 9 #include <queue> |
| 10 | 10 |
| (...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 529 DCHECK(isolate != NULL); | 529 DCHECK(isolate != NULL); |
| 530 return isolate; | 530 return isolate; |
| 531 } | 531 } |
| 532 | 532 |
| 533 // Usually called by Init(), but can be called early e.g. to allow | 533 // Usually called by Init(), but can be called early e.g. to allow |
| 534 // testing components that require logging but not the whole | 534 // testing components that require logging but not the whole |
| 535 // isolate. | 535 // isolate. |
| 536 // | 536 // |
| 537 // Safe to call more than once. | 537 // Safe to call more than once. |
| 538 void InitializeLoggingAndCounters(); | 538 void InitializeLoggingAndCounters(); |
| 539 bool InitializeCounters(); // Returns false if already initialized. |
| 539 | 540 |
| 540 bool Init(Deserializer* des); | 541 bool Init(Deserializer* des); |
| 541 | 542 |
| 542 // True if at least one thread Enter'ed this isolate. | 543 // True if at least one thread Enter'ed this isolate. |
| 543 bool IsInUse() { return entry_stack_ != NULL; } | 544 bool IsInUse() { return entry_stack_ != NULL; } |
| 544 | 545 |
| 545 // Destroys the non-default isolates. | 546 // Destroys the non-default isolates. |
| 546 // Sets default isolate into "has_been_disposed" state rather then destroying, | 547 // Sets default isolate into "has_been_disposed" state rather then destroying, |
| 547 // for legacy API reasons. | 548 // for legacy API reasons. |
| 548 void TearDown(); | 549 void TearDown(); |
| (...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 865 NATIVE_CONTEXT_FIELDS(NATIVE_CONTEXT_FIELD_ACCESSOR) | 866 NATIVE_CONTEXT_FIELDS(NATIVE_CONTEXT_FIELD_ACCESSOR) |
| 866 #undef NATIVE_CONTEXT_FIELD_ACCESSOR | 867 #undef NATIVE_CONTEXT_FIELD_ACCESSOR |
| 867 | 868 |
| 868 Bootstrapper* bootstrapper() { return bootstrapper_; } | 869 Bootstrapper* bootstrapper() { return bootstrapper_; } |
| 869 Counters* counters() { | 870 Counters* counters() { |
| 870 // Call InitializeLoggingAndCounters() if logging is needed before | 871 // Call InitializeLoggingAndCounters() if logging is needed before |
| 871 // the isolate is fully initialized. | 872 // the isolate is fully initialized. |
| 872 DCHECK(counters_ != NULL); | 873 DCHECK(counters_ != NULL); |
| 873 return counters_; | 874 return counters_; |
| 874 } | 875 } |
| 876 std::shared_ptr<Counters> counters_shared() { return counters_shared_; } |
| 875 RuntimeProfiler* runtime_profiler() { return runtime_profiler_; } | 877 RuntimeProfiler* runtime_profiler() { return runtime_profiler_; } |
| 876 CompilationCache* compilation_cache() { return compilation_cache_; } | 878 CompilationCache* compilation_cache() { return compilation_cache_; } |
| 877 Logger* logger() { | 879 Logger* logger() { |
| 878 // Call InitializeLoggingAndCounters() if logging is needed before | 880 // Call InitializeLoggingAndCounters() if logging is needed before |
| 879 // the isolate is fully initialized. | 881 // the isolate is fully initialized. |
| 880 DCHECK(logger_ != NULL); | 882 DCHECK(logger_ != NULL); |
| 881 return logger_; | 883 return logger_; |
| 882 } | 884 } |
| 883 StackGuard* stack_guard() { return &stack_guard_; } | 885 StackGuard* stack_guard() { return &stack_guard_; } |
| 884 Heap* heap() { return &heap_; } | 886 Heap* heap() { return &heap_; } |
| (...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1420 CpuProfiler* cpu_profiler() const { return cpu_profiler_; } | 1422 CpuProfiler* cpu_profiler() const { return cpu_profiler_; } |
| 1421 | 1423 |
| 1422 base::Atomic32 id_; | 1424 base::Atomic32 id_; |
| 1423 EntryStackItem* entry_stack_; | 1425 EntryStackItem* entry_stack_; |
| 1424 int stack_trace_nesting_level_; | 1426 int stack_trace_nesting_level_; |
| 1425 StringStream* incomplete_message_; | 1427 StringStream* incomplete_message_; |
| 1426 Address isolate_addresses_[kIsolateAddressCount + 1]; // NOLINT | 1428 Address isolate_addresses_[kIsolateAddressCount + 1]; // NOLINT |
| 1427 Bootstrapper* bootstrapper_; | 1429 Bootstrapper* bootstrapper_; |
| 1428 RuntimeProfiler* runtime_profiler_; | 1430 RuntimeProfiler* runtime_profiler_; |
| 1429 CompilationCache* compilation_cache_; | 1431 CompilationCache* compilation_cache_; |
| 1432 std::shared_ptr<Counters> counters_shared_; |
| 1430 Counters* counters_; | 1433 Counters* counters_; |
| 1431 base::RecursiveMutex break_access_; | 1434 base::RecursiveMutex break_access_; |
| 1432 Logger* logger_; | 1435 Logger* logger_; |
| 1433 StackGuard stack_guard_; | 1436 StackGuard stack_guard_; |
| 1434 StatsTable* stats_table_; | 1437 StatsTable* stats_table_; |
| 1435 StubCache* load_stub_cache_; | 1438 StubCache* load_stub_cache_; |
| 1436 StubCache* store_stub_cache_; | 1439 StubCache* store_stub_cache_; |
| 1437 CodeAgingHelper* code_aging_helper_; | 1440 CodeAgingHelper* code_aging_helper_; |
| 1438 DeoptimizerData* deoptimizer_data_; | 1441 DeoptimizerData* deoptimizer_data_; |
| 1439 bool deoptimizer_lazy_throw_; | 1442 bool deoptimizer_lazy_throw_; |
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1814 | 1817 |
| 1815 EmbeddedVector<char, 128> filename_; | 1818 EmbeddedVector<char, 128> filename_; |
| 1816 FILE* file_; | 1819 FILE* file_; |
| 1817 int scope_depth_; | 1820 int scope_depth_; |
| 1818 }; | 1821 }; |
| 1819 | 1822 |
| 1820 } // namespace internal | 1823 } // namespace internal |
| 1821 } // namespace v8 | 1824 } // namespace v8 |
| 1822 | 1825 |
| 1823 #endif // V8_ISOLATE_H_ | 1826 #endif // V8_ISOLATE_H_ |
| OLD | NEW |