diff options
Diffstat (limited to 'deps/v8/src/isolate.h')
-rw-r--r-- | deps/v8/src/isolate.h | 71 |
1 files changed, 22 insertions, 49 deletions
diff --git a/deps/v8/src/isolate.h b/deps/v8/src/isolate.h index b826ec596a..9aa14ee025 100644 --- a/deps/v8/src/isolate.h +++ b/deps/v8/src/isolate.h @@ -75,7 +75,6 @@ class HTracer; class InlineRuntimeFunctionsTable; class NoAllocationStringAllocator; class InnerPointerToCodeCache; -class MarkingThread; class PreallocatedMemoryThread; class RandomNumberGenerator; class RegExpStack; @@ -274,10 +273,8 @@ class ThreadLocalTop BASE_EMBEDDED { Address handler_; // try-blocks are chained through the stack #ifdef USE_SIMULATOR -#if V8_TARGET_ARCH_ARM || V8_TARGET_ARCH_MIPS Simulator* simulator_; #endif -#endif // USE_SIMULATOR Address js_entry_sp_; // the stack pointer of the bottom JS entry frame // the external callback we're currently in @@ -308,7 +305,6 @@ class SystemThreadManager { enum ParallelSystemComponent { PARALLEL_SWEEPING, CONCURRENT_SWEEPING, - PARALLEL_MARKING, PARALLEL_RECOMPILATION }; @@ -497,6 +493,7 @@ class Isolate { bool IsDefaultIsolate() const { return this == default_isolate_; } + static void SetCrashIfDefaultIsolateInitialized(); // Ensures that process-wide resources and the default isolate have been // allocated. It is only necessary to call this method in rare cases, for // example if you are using V8 from within the body of a static initializer. @@ -753,6 +750,19 @@ class Isolate { // Returns if the top context may access the given global object. If // the result is false, the pending exception is guaranteed to be // set. + + // TODO(yangguo): temporary wrappers + bool MayNamedAccessWrapper(Handle<JSObject> receiver, + Handle<Object> key, + v8::AccessType type) { + return MayNamedAccess(*receiver, *key, type); + } + bool MayIndexedAccessWrapper(Handle<JSObject> receiver, + uint32_t index, + v8::AccessType type) { + return MayIndexedAccess(*receiver, index, type); + } + bool MayNamedAccess(JSObject* receiver, Object* key, v8::AccessType type); @@ -984,6 +994,8 @@ class Isolate { void PreallocatedStorageDelete(void* p); void PreallocatedStorageInit(size_t size); + inline bool IsCodePreAgingActive(); + #ifdef ENABLE_DEBUGGER_SUPPORT Debugger* debugger() { if (!NoBarrier_Load(&debugger_initialized_)) InitializeDebugger(); @@ -1098,7 +1110,7 @@ class Isolate { #endif // DEBUG OptimizingCompilerThread* optimizing_compiler_thread() { - return &optimizing_compiler_thread_; + return optimizing_compiler_thread_; } // PreInits and returns a default isolate. Needed when a new thread tries @@ -1106,10 +1118,6 @@ class Isolate { // TODO(svenpanne) This method is on death row... static v8::Isolate* GetDefaultIsolateForLocking(); - MarkingThread** marking_threads() { - return marking_thread_; - } - SweeperThread** sweeper_threads() { return sweeper_thread_; } @@ -1131,13 +1139,6 @@ class Isolate { // Given an address occupied by a live code object, return that object. Object* FindCodeObject(Address a); - bool is_memory_constrained() const { - return is_memory_constrained_; - } - void set_is_memory_constrained(bool value) { - is_memory_constrained_ = value; - } - private: Isolate(); @@ -1310,7 +1311,6 @@ class Isolate { unibrow::Mapping<unibrow::Ecma262Canonicalize> interp_canonicalize_mapping_; CodeStubInterfaceDescriptor* code_stub_interface_descriptors_; RandomNumberGenerator* random_number_generator_; - bool is_memory_constrained_; // True if fatal error has been signaled for this isolate. bool has_fatal_error_; @@ -1368,8 +1368,7 @@ class Isolate { #endif DeferredHandles* deferred_handles_head_; - OptimizingCompilerThread optimizing_compiler_thread_; - MarkingThread** marking_thread_; + OptimizingCompilerThread* optimizing_compiler_thread_; SweeperThread** sweeper_thread_; // Counts deopt points if deopt_every_n_times is enabled. @@ -1378,7 +1377,6 @@ class Isolate { friend class ExecutionAccess; friend class HandleScopeImplementer; friend class IsolateInitializer; - friend class MarkingThread; friend class OptimizingCompilerThread; friend class SweeperThread; friend class ThreadManager; @@ -1426,9 +1424,9 @@ class SaveContext BASE_EMBEDDED { class AssertNoContextChange BASE_EMBEDDED { #ifdef DEBUG public: - AssertNoContextChange() - : isolate_(Isolate::Current()), - context_(isolate_->context()) { } + explicit AssertNoContextChange(Isolate* isolate) + : isolate_(isolate), + context_(isolate->context(), isolate) { } ~AssertNoContextChange() { ASSERT(isolate_->context() == *context_); } @@ -1438,32 +1436,7 @@ class AssertNoContextChange BASE_EMBEDDED { Handle<Context> context_; #else public: - AssertNoContextChange() { } -#endif -}; - - -// TODO(mstarzinger): Depracate as soon as everything is handlified. -class AssertNoContextChangeWithHandleScope BASE_EMBEDDED { -#ifdef DEBUG - public: - AssertNoContextChangeWithHandleScope() : - isolate_(Isolate::Current()), - scope_(isolate_), - context_(isolate_->context(), isolate_) { - } - - ~AssertNoContextChangeWithHandleScope() { - ASSERT(isolate_->context() == *context_); - } - - private: - Isolate* isolate_; - HandleScope scope_; - Handle<Context> context_; -#else - public: - AssertNoContextChangeWithHandleScope() { } + explicit AssertNoContextChange(Isolate* isolate) { } #endif }; |