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 <set> | 9 #include <set> |
10 | 10 |
11 #include "include/v8-debug.h" | 11 #include "include/v8-debug.h" |
12 #include "src/allocation.h" | 12 #include "src/allocation.h" |
13 #include "src/assert-scope.h" | 13 #include "src/assert-scope.h" |
| 14 #include "src/base/accounting_allocator.h" |
14 #include "src/base/atomicops.h" | 15 #include "src/base/atomicops.h" |
15 #include "src/builtins.h" | 16 #include "src/builtins.h" |
16 #include "src/cancelable-task.h" | 17 #include "src/cancelable-task.h" |
17 #include "src/contexts.h" | 18 #include "src/contexts.h" |
18 #include "src/date.h" | 19 #include "src/date.h" |
19 #include "src/execution.h" | 20 #include "src/execution.h" |
20 #include "src/frames.h" | 21 #include "src/frames.h" |
21 #include "src/futex-emulation.h" | 22 #include "src/futex-emulation.h" |
22 #include "src/global-handles.h" | 23 #include "src/global-handles.h" |
23 #include "src/handles.h" | 24 #include "src/handles.h" |
24 #include "src/hashmap.h" | 25 #include "src/hashmap.h" |
25 #include "src/heap/heap.h" | 26 #include "src/heap/heap.h" |
26 #include "src/messages.h" | 27 #include "src/messages.h" |
27 #include "src/optimizing-compile-dispatcher.h" | 28 #include "src/optimizing-compile-dispatcher.h" |
28 #include "src/regexp/regexp-stack.h" | 29 #include "src/regexp/regexp-stack.h" |
| 30 #include "src/runtime-profiler.h" |
29 #include "src/runtime/runtime.h" | 31 #include "src/runtime/runtime.h" |
30 #include "src/runtime-profiler.h" | |
31 #include "src/zone.h" | 32 #include "src/zone.h" |
32 | 33 |
33 namespace v8 { | 34 namespace v8 { |
34 | 35 |
35 namespace base { | 36 namespace base { |
36 class RandomNumberGenerator; | 37 class RandomNumberGenerator; |
37 } | 38 } |
38 | 39 |
39 namespace internal { | 40 namespace internal { |
40 | 41 |
(...skipping 1070 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1111 } | 1112 } |
1112 | 1113 |
1113 FutexWaitListNode* futex_wait_list_node() { return &futex_wait_list_node_; } | 1114 FutexWaitListNode* futex_wait_list_node() { return &futex_wait_list_node_; } |
1114 | 1115 |
1115 CancelableTaskManager* cancelable_task_manager() { | 1116 CancelableTaskManager* cancelable_task_manager() { |
1116 return cancelable_task_manager_; | 1117 return cancelable_task_manager_; |
1117 } | 1118 } |
1118 | 1119 |
1119 interpreter::Interpreter* interpreter() const { return interpreter_; } | 1120 interpreter::Interpreter* interpreter() const { return interpreter_; } |
1120 | 1121 |
| 1122 base::AccountingAllocator* allocator() { return &allocator_; } |
| 1123 |
1121 protected: | 1124 protected: |
1122 explicit Isolate(bool enable_serializer); | 1125 explicit Isolate(bool enable_serializer); |
1123 | 1126 |
1124 private: | 1127 private: |
1125 friend struct GlobalState; | 1128 friend struct GlobalState; |
1126 friend struct InitializeGlobalState; | 1129 friend struct InitializeGlobalState; |
1127 Handle<JSObject> SetUpSubregistry(Handle<JSObject> registry, Handle<Map> map, | 1130 Handle<JSObject> SetUpSubregistry(Handle<JSObject> registry, Handle<Map> map, |
1128 const char* name); | 1131 const char* name); |
1129 | 1132 |
1130 // These fields are accessed through the API, offsets must be kept in sync | 1133 // These fields are accessed through the API, offsets must be kept in sync |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1251 bool capture_stack_trace_for_uncaught_exceptions_; | 1254 bool capture_stack_trace_for_uncaught_exceptions_; |
1252 int stack_trace_for_uncaught_exceptions_frame_limit_; | 1255 int stack_trace_for_uncaught_exceptions_frame_limit_; |
1253 StackTrace::StackTraceOptions stack_trace_for_uncaught_exceptions_options_; | 1256 StackTrace::StackTraceOptions stack_trace_for_uncaught_exceptions_options_; |
1254 MemoryAllocator* memory_allocator_; | 1257 MemoryAllocator* memory_allocator_; |
1255 KeyedLookupCache* keyed_lookup_cache_; | 1258 KeyedLookupCache* keyed_lookup_cache_; |
1256 ContextSlotCache* context_slot_cache_; | 1259 ContextSlotCache* context_slot_cache_; |
1257 DescriptorLookupCache* descriptor_lookup_cache_; | 1260 DescriptorLookupCache* descriptor_lookup_cache_; |
1258 HandleScopeData handle_scope_data_; | 1261 HandleScopeData handle_scope_data_; |
1259 HandleScopeImplementer* handle_scope_implementer_; | 1262 HandleScopeImplementer* handle_scope_implementer_; |
1260 UnicodeCache* unicode_cache_; | 1263 UnicodeCache* unicode_cache_; |
| 1264 base::AccountingAllocator allocator_; |
1261 Zone runtime_zone_; | 1265 Zone runtime_zone_; |
1262 Zone interface_descriptor_zone_; | 1266 Zone interface_descriptor_zone_; |
1263 InnerPointerToCodeCache* inner_pointer_to_code_cache_; | 1267 InnerPointerToCodeCache* inner_pointer_to_code_cache_; |
1264 GlobalHandles* global_handles_; | 1268 GlobalHandles* global_handles_; |
1265 EternalHandles* eternal_handles_; | 1269 EternalHandles* eternal_handles_; |
1266 ThreadManager* thread_manager_; | 1270 ThreadManager* thread_manager_; |
1267 RuntimeState runtime_state_; | 1271 RuntimeState runtime_state_; |
1268 Builtins builtins_; | 1272 Builtins builtins_; |
1269 bool has_installed_extensions_; | 1273 bool has_installed_extensions_; |
1270 unibrow::Mapping<unibrow::Ecma262UnCanonicalize> jsregexp_uncanonicalize_; | 1274 unibrow::Mapping<unibrow::Ecma262UnCanonicalize> jsregexp_uncanonicalize_; |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1593 | 1597 |
1594 EmbeddedVector<char, 128> filename_; | 1598 EmbeddedVector<char, 128> filename_; |
1595 FILE* file_; | 1599 FILE* file_; |
1596 int scope_depth_; | 1600 int scope_depth_; |
1597 }; | 1601 }; |
1598 | 1602 |
1599 } // namespace internal | 1603 } // namespace internal |
1600 } // namespace v8 | 1604 } // namespace v8 |
1601 | 1605 |
1602 #endif // V8_ISOLATE_H_ | 1606 #endif // V8_ISOLATE_H_ |
OLD | NEW |