Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: src/isolate.h

Issue 1208933006: Atomics Futex API (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: TODO about busy-waiting Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/harmony-atomics.js ('k') | src/messages.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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"
11 #include "src/assert-scope.h" 11 #include "src/assert-scope.h"
12 #include "src/base/atomicops.h" 12 #include "src/base/atomicops.h"
13 #include "src/builtins.h" 13 #include "src/builtins.h"
14 #include "src/contexts.h" 14 #include "src/contexts.h"
15 #include "src/date.h" 15 #include "src/date.h"
16 #include "src/execution.h" 16 #include "src/execution.h"
17 #include "src/frames.h" 17 #include "src/frames.h"
18 #include "src/futex-emulation.h"
18 #include "src/global-handles.h" 19 #include "src/global-handles.h"
19 #include "src/handles.h" 20 #include "src/handles.h"
20 #include "src/hashmap.h" 21 #include "src/hashmap.h"
21 #include "src/heap/heap.h" 22 #include "src/heap/heap.h"
22 #include "src/optimizing-compile-dispatcher.h" 23 #include "src/optimizing-compile-dispatcher.h"
23 #include "src/regexp-stack.h" 24 #include "src/regexp-stack.h"
24 #include "src/runtime/runtime.h" 25 #include "src/runtime/runtime.h"
25 #include "src/runtime-profiler.h" 26 #include "src/runtime-profiler.h"
26 #include "src/zone.h" 27 #include "src/zone.h"
27 28
(...skipping 1095 matching lines...) Expand 10 before | Expand all | Expand 10 after
1123 1124
1124 List<Object*>* partial_snapshot_cache() { return &partial_snapshot_cache_; } 1125 List<Object*>* partial_snapshot_cache() { return &partial_snapshot_cache_; }
1125 1126
1126 void set_array_buffer_allocator(v8::ArrayBuffer::Allocator* allocator) { 1127 void set_array_buffer_allocator(v8::ArrayBuffer::Allocator* allocator) {
1127 array_buffer_allocator_ = allocator; 1128 array_buffer_allocator_ = allocator;
1128 } 1129 }
1129 v8::ArrayBuffer::Allocator* array_buffer_allocator() const { 1130 v8::ArrayBuffer::Allocator* array_buffer_allocator() const {
1130 return array_buffer_allocator_; 1131 return array_buffer_allocator_;
1131 } 1132 }
1132 1133
1134 FutexWaitListNode* futex_wait_list_node() { return &futex_wait_list_node_; }
1135
1133 protected: 1136 protected:
1134 explicit Isolate(bool enable_serializer); 1137 explicit Isolate(bool enable_serializer);
1135 1138
1136 private: 1139 private:
1137 friend struct GlobalState; 1140 friend struct GlobalState;
1138 friend struct InitializeGlobalState; 1141 friend struct InitializeGlobalState;
1139 Handle<JSObject> SetUpSubregistry(Handle<JSObject> registry, Handle<Map> map, 1142 Handle<JSObject> SetUpSubregistry(Handle<JSObject> registry, Handle<Map> map,
1140 const char* name); 1143 const char* name);
1141 1144
1142 // These fields are accessed through the API, offsets must be kept in sync 1145 // These fields are accessed through the API, offsets must be kept in sync
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
1356 // List of callbacks when a Call completes. 1359 // List of callbacks when a Call completes.
1357 List<CallCompletedCallback> call_completed_callbacks_; 1360 List<CallCompletedCallback> call_completed_callbacks_;
1358 1361
1359 v8::Isolate::UseCounterCallback use_counter_callback_; 1362 v8::Isolate::UseCounterCallback use_counter_callback_;
1360 BasicBlockProfiler* basic_block_profiler_; 1363 BasicBlockProfiler* basic_block_profiler_;
1361 1364
1362 List<Object*> partial_snapshot_cache_; 1365 List<Object*> partial_snapshot_cache_;
1363 1366
1364 v8::ArrayBuffer::Allocator* array_buffer_allocator_; 1367 v8::ArrayBuffer::Allocator* array_buffer_allocator_;
1365 1368
1369 FutexWaitListNode futex_wait_list_node_;
1370
1366 friend class ExecutionAccess; 1371 friend class ExecutionAccess;
1367 friend class HandleScopeImplementer; 1372 friend class HandleScopeImplementer;
1368 friend class OptimizingCompileDispatcher; 1373 friend class OptimizingCompileDispatcher;
1369 friend class SweeperThread; 1374 friend class SweeperThread;
1370 friend class ThreadManager; 1375 friend class ThreadManager;
1371 friend class Simulator; 1376 friend class Simulator;
1372 friend class StackGuard; 1377 friend class StackGuard;
1373 friend class ThreadId; 1378 friend class ThreadId;
1374 friend class TestMemoryAllocatorScope; 1379 friend class TestMemoryAllocatorScope;
1375 friend class TestCodeRangeScope; 1380 friend class TestCodeRangeScope;
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
1584 } 1589 }
1585 1590
1586 EmbeddedVector<char, 128> filename_; 1591 EmbeddedVector<char, 128> filename_;
1587 FILE* file_; 1592 FILE* file_;
1588 int scope_depth_; 1593 int scope_depth_;
1589 }; 1594 };
1590 1595
1591 } } // namespace v8::internal 1596 } } // namespace v8::internal
1592 1597
1593 #endif // V8_ISOLATE_H_ 1598 #endif // V8_ISOLATE_H_
OLDNEW
« no previous file with comments | « src/harmony-atomics.js ('k') | src/messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698