diff options
author | Michaƫl Zasso <mic.besace@gmail.com> | 2015-10-06 08:42:38 +0200 |
---|---|---|
committer | Ali Ijaz Sheikh <ofrobots@google.com> | 2015-10-14 11:20:34 -0700 |
commit | d8011d1683fe0d977de2bea1147f5213d4490c5a (patch) | |
tree | 54967df8dc1732e59eef39e5c5b39fe99ad88977 /deps/v8/src/isolate.h | |
parent | d1a2e5357ef0357cec9b516fa9ac78cc38a984aa (diff) | |
download | node-new-d8011d1683fe0d977de2bea1147f5213d4490c5a.tar.gz |
deps: upgrade V8 to 4.6.85.23
PR-URL: https://github.com/nodejs/node/pull/3351
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/isolate.h')
-rw-r--r-- | deps/v8/src/isolate.h | 59 |
1 files changed, 28 insertions, 31 deletions
diff --git a/deps/v8/src/isolate.h b/deps/v8/src/isolate.h index 876a72f327..3cc4bacfde 100644 --- a/deps/v8/src/isolate.h +++ b/deps/v8/src/isolate.h @@ -6,21 +6,26 @@ #define V8_ISOLATE_H_ #include <queue> +#include <set> + #include "include/v8-debug.h" #include "src/allocation.h" #include "src/assert-scope.h" #include "src/base/atomicops.h" #include "src/builtins.h" +#include "src/cancelable-task.h" #include "src/contexts.h" #include "src/date.h" #include "src/execution.h" #include "src/frames.h" +#include "src/futex-emulation.h" #include "src/global-handles.h" #include "src/handles.h" #include "src/hashmap.h" #include "src/heap/heap.h" +#include "src/messages.h" #include "src/optimizing-compile-dispatcher.h" -#include "src/regexp-stack.h" +#include "src/regexp/regexp-stack.h" #include "src/runtime/runtime.h" #include "src/runtime-profiler.h" #include "src/zone.h" @@ -59,10 +64,12 @@ class HStatistics; class HTracer; class InlineRuntimeFunctionsTable; class InnerPointerToCodeCache; +class Logger; class MaterializedObjectStore; class CodeAgingHelper; class RegExpStack; class SaveContext; +class StatsTable; class StringTracker; class StubCache; class SweeperThread; @@ -79,11 +86,13 @@ typedef void* ExternalReferenceRedirectorPointer(); class Debug; -class Debugger; class PromiseOnStack; class Redirection; class Simulator; +namespace interpreter { +class Interpreter; +} // Static indirection table for handles to constants. If a frame // element represents a constant, the data contains an index into @@ -378,7 +387,6 @@ typedef List<HeapObject*> DebugObjectCache; V(uint32_t, per_isolate_assert_data, 0xFFFFFFFFu) \ V(PromiseRejectCallback, promise_reject_callback, NULL) \ V(const v8::StartupData*, snapshot_blob, NULL) \ - V(bool, creating_default_snapshot, false) \ ISOLATE_INIT_SIMULATOR_LIST(V) #define THREAD_LOCAL_TOP_ACCESSOR(type, name) \ @@ -690,9 +698,6 @@ class Isolate { int frame_limit, StackTrace::StackTraceOptions options); - void SetAbortOnUncaughtExceptionCallback( - v8::Isolate::AbortOnUncaughtExceptionCallback callback); - enum PrintStackMode { kPrintStackConcise, kPrintStackVerbose }; void PrintCurrentStackTrace(FILE* out); void PrintStack(StringStream* accumulator, @@ -905,8 +910,6 @@ class Isolate { ThreadManager* thread_manager() { return thread_manager_; } - StringTracker* string_tracker() { return string_tracker_; } - unibrow::Mapping<unibrow::Ecma262UnCanonicalize>* jsregexp_uncanonicalize() { return &jsregexp_uncanonicalize_; } @@ -994,6 +997,10 @@ class Isolate { date_cache_ = date_cache; } + ErrorToStringHelper* error_tostring_helper() { + return &error_tostring_helper_; + } + Map* get_initial_js_array_map(ElementsKind kind, Strength strength = Strength::WEAK); @@ -1103,23 +1110,6 @@ class Isolate { int GetNextUniqueSharedFunctionInfoId() { return next_unique_sfi_id_++; } #endif - void set_store_buffer_hash_set_1_address( - uintptr_t* store_buffer_hash_set_1_address) { - store_buffer_hash_set_1_address_ = store_buffer_hash_set_1_address; - } - - uintptr_t* store_buffer_hash_set_1_address() { - return store_buffer_hash_set_1_address_; - } - - void set_store_buffer_hash_set_2_address( - uintptr_t* store_buffer_hash_set_2_address) { - store_buffer_hash_set_2_address_ = store_buffer_hash_set_2_address; - } - - uintptr_t* store_buffer_hash_set_2_address() { - return store_buffer_hash_set_2_address_; - } void AddDetachedContext(Handle<Context> context); void CheckDetachedContextsAfterGC(); @@ -1133,6 +1123,13 @@ class Isolate { return array_buffer_allocator_; } + FutexWaitListNode* futex_wait_list_node() { return &futex_wait_list_node_; } + + void RegisterCancelableTask(Cancelable* task); + void RemoveCancelableTask(Cancelable* task); + + interpreter::Interpreter* interpreter() const { return interpreter_; } + protected: explicit Isolate(bool enable_serializer); @@ -1283,19 +1280,16 @@ class Isolate { RuntimeState runtime_state_; Builtins builtins_; bool has_installed_extensions_; - StringTracker* string_tracker_; unibrow::Mapping<unibrow::Ecma262UnCanonicalize> jsregexp_uncanonicalize_; unibrow::Mapping<unibrow::CanonicalizationRange> jsregexp_canonrange_; unibrow::Mapping<unibrow::Ecma262Canonicalize> regexp_macro_assembler_canonicalize_; RegExpStack* regexp_stack_; DateCache* date_cache_; + ErrorToStringHelper error_tostring_helper_; unibrow::Mapping<unibrow::Ecma262Canonicalize> interp_canonicalize_mapping_; CallInterfaceDescriptorData* call_descriptor_data_; base::RandomNumberGenerator* random_number_generator_; - // TODO(hpayer): Remove the following store buffer addresses. - uintptr_t* store_buffer_hash_set_1_address_; - uintptr_t* store_buffer_hash_set_2_address_; // Whether the isolate has been created for snapshotting. bool serializer_enabled_; @@ -1320,6 +1314,8 @@ class Isolate { HeapProfiler* heap_profiler_; FunctionEntryHook function_entry_hook_; + interpreter::Interpreter* interpreter_; + typedef std::pair<InterruptCallback, void*> InterruptEntry; std::queue<InterruptEntry> api_interrupts_queue_; @@ -1366,8 +1362,9 @@ class Isolate { v8::ArrayBuffer::Allocator* array_buffer_allocator_; - v8::Isolate::AbortOnUncaughtExceptionCallback - abort_on_uncaught_exception_callback_; + FutexWaitListNode futex_wait_list_node_; + + std::set<Cancelable*> cancelable_tasks_; friend class ExecutionAccess; friend class HandleScopeImplementer; |