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 <queue> | 8 #include <queue> |
9 #include "include/v8-debug.h" | 9 #include "include/v8-debug.h" |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 1123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1134 | 1134 |
1135 void set_store_buffer_hash_set_2_address( | 1135 void set_store_buffer_hash_set_2_address( |
1136 uintptr_t* store_buffer_hash_set_2_address) { | 1136 uintptr_t* store_buffer_hash_set_2_address) { |
1137 store_buffer_hash_set_2_address_ = store_buffer_hash_set_2_address; | 1137 store_buffer_hash_set_2_address_ = store_buffer_hash_set_2_address; |
1138 } | 1138 } |
1139 | 1139 |
1140 uintptr_t* store_buffer_hash_set_2_address() { | 1140 uintptr_t* store_buffer_hash_set_2_address() { |
1141 return store_buffer_hash_set_2_address_; | 1141 return store_buffer_hash_set_2_address_; |
1142 } | 1142 } |
1143 | 1143 |
| 1144 void AddDetachedContext(Handle<Context> context); |
| 1145 void CheckDetachedContextsAfterGC(); |
| 1146 |
1144 private: | 1147 private: |
1145 explicit Isolate(bool enable_serializer); | 1148 explicit Isolate(bool enable_serializer); |
1146 | 1149 |
1147 friend struct GlobalState; | 1150 friend struct GlobalState; |
1148 friend struct InitializeGlobalState; | 1151 friend struct InitializeGlobalState; |
1149 | 1152 |
1150 // These fields are accessed through the API, offsets must be kept in sync | 1153 // These fields are accessed through the API, offsets must be kept in sync |
1151 // with v8::internal::Internals (in include/v8.h) constants. This is also | 1154 // with v8::internal::Internals (in include/v8.h) constants. This is also |
1152 // verified in Isolate::Init() using runtime checks. | 1155 // verified in Isolate::Init() using runtime checks. |
1153 void* embedder_data_[Internals::kNumIsolateDataSlots]; | 1156 void* embedder_data_[Internals::kNumIsolateDataSlots]; |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1355 #if TRACE_MAPS | 1358 #if TRACE_MAPS |
1356 int next_unique_sfi_id_; | 1359 int next_unique_sfi_id_; |
1357 #endif | 1360 #endif |
1358 | 1361 |
1359 // List of callbacks when a Call completes. | 1362 // List of callbacks when a Call completes. |
1360 List<CallCompletedCallback> call_completed_callbacks_; | 1363 List<CallCompletedCallback> call_completed_callbacks_; |
1361 | 1364 |
1362 v8::Isolate::UseCounterCallback use_counter_callback_; | 1365 v8::Isolate::UseCounterCallback use_counter_callback_; |
1363 BasicBlockProfiler* basic_block_profiler_; | 1366 BasicBlockProfiler* basic_block_profiler_; |
1364 | 1367 |
| 1368 |
1365 friend class ExecutionAccess; | 1369 friend class ExecutionAccess; |
1366 friend class HandleScopeImplementer; | 1370 friend class HandleScopeImplementer; |
1367 friend class OptimizingCompilerThread; | 1371 friend class OptimizingCompilerThread; |
1368 friend class SweeperThread; | 1372 friend class SweeperThread; |
1369 friend class ThreadManager; | 1373 friend class ThreadManager; |
1370 friend class Simulator; | 1374 friend class Simulator; |
1371 friend class StackGuard; | 1375 friend class StackGuard; |
1372 friend class ThreadId; | 1376 friend class ThreadId; |
1373 friend class TestMemoryAllocatorScope; | 1377 friend class TestMemoryAllocatorScope; |
1374 friend class TestCodeRangeScope; | 1378 friend class TestCodeRangeScope; |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1582 } | 1586 } |
1583 | 1587 |
1584 EmbeddedVector<char, 128> filename_; | 1588 EmbeddedVector<char, 128> filename_; |
1585 FILE* file_; | 1589 FILE* file_; |
1586 int scope_depth_; | 1590 int scope_depth_; |
1587 }; | 1591 }; |
1588 | 1592 |
1589 } } // namespace v8::internal | 1593 } } // namespace v8::internal |
1590 | 1594 |
1591 #endif // V8_ISOLATE_H_ | 1595 #endif // V8_ISOLATE_H_ |
OLD | NEW |