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 538 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
549 static void EnsureDefaultIsolate(); | 549 static void EnsureDefaultIsolate(); |
550 | 550 |
551 // Find the PerThread for this particular (isolate, thread) combination | 551 // Find the PerThread for this particular (isolate, thread) combination |
552 // If one does not yet exist, return null. | 552 // If one does not yet exist, return null. |
553 PerIsolateThreadData* FindPerThreadDataForThisThread(); | 553 PerIsolateThreadData* FindPerThreadDataForThisThread(); |
554 | 554 |
555 // Find the PerThread for given (isolate, thread) combination | 555 // Find the PerThread for given (isolate, thread) combination |
556 // If one does not yet exist, return null. | 556 // If one does not yet exist, return null. |
557 PerIsolateThreadData* FindPerThreadDataForThread(ThreadId thread_id); | 557 PerIsolateThreadData* FindPerThreadDataForThread(ThreadId thread_id); |
558 | 558 |
559 #ifdef ENABLE_DEBUGGER_SUPPORT | |
560 // Get the debugger from the default isolate. Preinitializes the | |
561 // default isolate if needed. | |
562 static Debugger* GetDefaultIsolateDebugger(); | |
563 #endif | |
564 | |
565 // Get the stack guard from the default isolate. Preinitializes the | |
566 // default isolate if needed. | |
567 static StackGuard* GetDefaultIsolateStackGuard(); | |
568 | |
569 // Returns the key used to store the pointer to the current isolate. | 559 // Returns the key used to store the pointer to the current isolate. |
570 // Used internally for V8 threads that do not execute JavaScript but still | 560 // Used internally for V8 threads that do not execute JavaScript but still |
571 // are part of the domain of an isolate (like the context switcher). | 561 // are part of the domain of an isolate (like the context switcher). |
572 static Thread::LocalStorageKey isolate_key() { | 562 static Thread::LocalStorageKey isolate_key() { |
573 return isolate_key_; | 563 return isolate_key_; |
574 } | 564 } |
575 | 565 |
576 // Returns the key used to store process-wide thread IDs. | 566 // Returns the key used to store process-wide thread IDs. |
577 static Thread::LocalStorageKey thread_id_key() { | 567 static Thread::LocalStorageKey thread_id_key() { |
578 return thread_id_key_; | 568 return thread_id_key_; |
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1117 } | 1107 } |
1118 | 1108 |
1119 int num_sweeper_threads() const { | 1109 int num_sweeper_threads() const { |
1120 return num_sweeper_threads_; | 1110 return num_sweeper_threads_; |
1121 } | 1111 } |
1122 | 1112 |
1123 SweeperThread** sweeper_threads() { | 1113 SweeperThread** sweeper_threads() { |
1124 return sweeper_thread_; | 1114 return sweeper_thread_; |
1125 } | 1115 } |
1126 | 1116 |
1127 // PreInits and returns a default isolate. Needed when a new thread tries | |
1128 // to create a Locker for the first time (the lock itself is in the isolate). | |
1129 // TODO(svenpanne) This method is on death row... | |
1130 static v8::Isolate* GetDefaultIsolateForLocking(); | |
1131 | |
1132 int id() const { return static_cast<int>(id_); } | 1117 int id() const { return static_cast<int>(id_); } |
1133 | 1118 |
1134 HStatistics* GetHStatistics(); | 1119 HStatistics* GetHStatistics(); |
1135 HTracer* GetHTracer(); | 1120 HTracer* GetHTracer(); |
1136 CodeTracer* GetCodeTracer(); | 1121 CodeTracer* GetCodeTracer(); |
1137 | 1122 |
1138 FunctionEntryHook function_entry_hook() { return function_entry_hook_; } | 1123 FunctionEntryHook function_entry_hook() { return function_entry_hook_; } |
1139 void set_function_entry_hook(FunctionEntryHook function_entry_hook) { | 1124 void set_function_entry_hook(FunctionEntryHook function_entry_hook) { |
1140 function_entry_hook_ = function_entry_hook; | 1125 function_entry_hook_ = function_entry_hook; |
1141 } | 1126 } |
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1571 } | 1556 } |
1572 | 1557 |
1573 EmbeddedVector<char, 128> filename_; | 1558 EmbeddedVector<char, 128> filename_; |
1574 FILE* file_; | 1559 FILE* file_; |
1575 int scope_depth_; | 1560 int scope_depth_; |
1576 }; | 1561 }; |
1577 | 1562 |
1578 } } // namespace v8::internal | 1563 } } // namespace v8::internal |
1579 | 1564 |
1580 #endif // V8_ISOLATE_H_ | 1565 #endif // V8_ISOLATE_H_ |
OLD | NEW |