diff options
author | Ryan <ry@tinyclouds.org> | 2009-09-02 11:13:46 +0200 |
---|---|---|
committer | Ryan <ry@tinyclouds.org> | 2009-09-02 11:13:46 +0200 |
commit | 97ce138621b375f24db98280972a56e063be0b1d (patch) | |
tree | 3bc3aa651233955ade15b1f5a00678e042be1076 /deps/v8/src/execution.h | |
parent | 78bb53b009e04c94f142aa3241b06c640395b170 (diff) | |
download | node-97ce138621b375f24db98280972a56e063be0b1d.tar.gz |
Upgrade V8 to 1.3.9
Diffstat (limited to 'deps/v8/src/execution.h')
-rw-r--r-- | deps/v8/src/execution.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/deps/v8/src/execution.h b/deps/v8/src/execution.h index 456cbe74d..4cdfd2be6 100644 --- a/deps/v8/src/execution.h +++ b/deps/v8/src/execution.h @@ -175,6 +175,10 @@ class StackGuard BASE_EMBEDDED { #endif static void Continue(InterruptFlag after_what); + static uintptr_t jslimit() { + return thread_local_.jslimit_; + } + private: // You should hold the ExecutionAccess lock when calling this method. static bool IsSet(const ExecutionAccess& lock); @@ -188,6 +192,7 @@ class StackGuard BASE_EMBEDDED { // You should hold the ExecutionAccess lock when calling this method. static void set_limits(uintptr_t value, const ExecutionAccess& lock) { + Heap::SetStackLimit(value); thread_local_.jslimit_ = value; thread_local_.climit_ = value; } @@ -200,6 +205,7 @@ class StackGuard BASE_EMBEDDED { set_limits(kIllegalLimit, lock); } else { thread_local_.jslimit_ = thread_local_.initial_jslimit_; + Heap::SetStackLimit(thread_local_.jslimit_); thread_local_.climit_ = thread_local_.initial_climit_; } } @@ -220,13 +226,15 @@ class StackGuard BASE_EMBEDDED { class ThreadLocal { public: ThreadLocal() - : initial_jslimit_(kIllegalLimit), - jslimit_(kIllegalLimit), - initial_climit_(kIllegalLimit), - climit_(kIllegalLimit), - nesting_(0), - postpone_interrupts_nesting_(0), - interrupt_flags_(0) {} + : initial_jslimit_(kIllegalLimit), + jslimit_(kIllegalLimit), + initial_climit_(kIllegalLimit), + climit_(kIllegalLimit), + nesting_(0), + postpone_interrupts_nesting_(0), + interrupt_flags_(0) { + Heap::SetStackLimit(kIllegalLimit); + } uintptr_t initial_jslimit_; uintptr_t jslimit_; uintptr_t initial_climit_; |