OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 class Deserializer; | 64 class Deserializer; |
65 class EmptyStatement; | 65 class EmptyStatement; |
66 class ExternalReferenceTable; | 66 class ExternalReferenceTable; |
67 class Factory; | 67 class Factory; |
68 class FunctionInfoListener; | 68 class FunctionInfoListener; |
69 class HandleScopeImplementer; | 69 class HandleScopeImplementer; |
70 class HeapProfiler; | 70 class HeapProfiler; |
71 class InlineRuntimeFunctionsTable; | 71 class InlineRuntimeFunctionsTable; |
72 class NoAllocationStringAllocator; | 72 class NoAllocationStringAllocator; |
73 class InnerPointerToCodeCache; | 73 class InnerPointerToCodeCache; |
| 74 class MarkingThread; |
74 class PreallocatedMemoryThread; | 75 class PreallocatedMemoryThread; |
75 class RegExpStack; | 76 class RegExpStack; |
76 class SaveContext; | 77 class SaveContext; |
77 class UnicodeCache; | 78 class UnicodeCache; |
78 class ConsStringIteratorOp; | 79 class ConsStringIteratorOp; |
79 class StringTracker; | 80 class StringTracker; |
80 class StubCache; | 81 class StubCache; |
81 class SweeperThread; | 82 class SweeperThread; |
82 class ThreadManager; | 83 class ThreadManager; |
83 class ThreadState; | 84 class ThreadState; |
(...skipping 983 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1067 | 1068 |
1068 OptimizingCompilerThread* optimizing_compiler_thread() { | 1069 OptimizingCompilerThread* optimizing_compiler_thread() { |
1069 return &optimizing_compiler_thread_; | 1070 return &optimizing_compiler_thread_; |
1070 } | 1071 } |
1071 | 1072 |
1072 // PreInits and returns a default isolate. Needed when a new thread tries | 1073 // PreInits and returns a default isolate. Needed when a new thread tries |
1073 // to create a Locker for the first time (the lock itself is in the isolate). | 1074 // to create a Locker for the first time (the lock itself is in the isolate). |
1074 // TODO(svenpanne) This method is on death row... | 1075 // TODO(svenpanne) This method is on death row... |
1075 static v8::Isolate* GetDefaultIsolateForLocking(); | 1076 static v8::Isolate* GetDefaultIsolateForLocking(); |
1076 | 1077 |
| 1078 MarkingThread** marking_threads() { |
| 1079 return marking_thread_; |
| 1080 } |
| 1081 |
1077 SweeperThread** sweeper_threads() { | 1082 SweeperThread** sweeper_threads() { |
1078 return sweeper_thread_; | 1083 return sweeper_thread_; |
1079 } | 1084 } |
1080 | 1085 |
1081 private: | 1086 private: |
1082 Isolate(); | 1087 Isolate(); |
1083 | 1088 |
1084 friend struct GlobalState; | 1089 friend struct GlobalState; |
1085 friend struct InitializeGlobalState; | 1090 friend struct InitializeGlobalState; |
1086 | 1091 |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1294 // between compilation units. | 1299 // between compilation units. |
1295 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \ | 1300 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \ |
1296 static const intptr_t name##_debug_offset_; | 1301 static const intptr_t name##_debug_offset_; |
1297 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) | 1302 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) |
1298 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) | 1303 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) |
1299 #undef ISOLATE_FIELD_OFFSET | 1304 #undef ISOLATE_FIELD_OFFSET |
1300 #endif | 1305 #endif |
1301 | 1306 |
1302 DeferredHandles* deferred_handles_head_; | 1307 DeferredHandles* deferred_handles_head_; |
1303 OptimizingCompilerThread optimizing_compiler_thread_; | 1308 OptimizingCompilerThread optimizing_compiler_thread_; |
| 1309 MarkingThread** marking_thread_; |
1304 SweeperThread** sweeper_thread_; | 1310 SweeperThread** sweeper_thread_; |
1305 | 1311 |
1306 friend class ExecutionAccess; | 1312 friend class ExecutionAccess; |
1307 friend class HandleScopeImplementer; | 1313 friend class HandleScopeImplementer; |
1308 friend class IsolateInitializer; | 1314 friend class IsolateInitializer; |
| 1315 friend class MarkingThread; |
1309 friend class OptimizingCompilerThread; | 1316 friend class OptimizingCompilerThread; |
1310 friend class SweeperThread; | 1317 friend class SweeperThread; |
1311 friend class ThreadManager; | 1318 friend class ThreadManager; |
1312 friend class Simulator; | 1319 friend class Simulator; |
1313 friend class StackGuard; | 1320 friend class StackGuard; |
1314 friend class ThreadId; | 1321 friend class ThreadId; |
1315 friend class TestMemoryAllocatorScope; | 1322 friend class TestMemoryAllocatorScope; |
1316 friend class TestCodeRangeScope; | 1323 friend class TestCodeRangeScope; |
1317 friend class v8::Isolate; | 1324 friend class v8::Isolate; |
1318 friend class v8::Locker; | 1325 friend class v8::Locker; |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1452 | 1459 |
1453 // Mark the native context with out of memory. | 1460 // Mark the native context with out of memory. |
1454 inline void Context::mark_out_of_memory() { | 1461 inline void Context::mark_out_of_memory() { |
1455 native_context()->set_out_of_memory(HEAP->true_value()); | 1462 native_context()->set_out_of_memory(HEAP->true_value()); |
1456 } | 1463 } |
1457 | 1464 |
1458 | 1465 |
1459 } } // namespace v8::internal | 1466 } } // namespace v8::internal |
1460 | 1467 |
1461 #endif // V8_ISOLATE_H_ | 1468 #endif // V8_ISOLATE_H_ |
OLD | NEW |