summaryrefslogtreecommitdiff
path: root/deps/v8/src/execution.h
diff options
context:
space:
mode:
authorRyan <ry@tinyclouds.org>2009-09-02 11:13:46 +0200
committerRyan <ry@tinyclouds.org>2009-09-02 11:13:46 +0200
commit97ce138621b375f24db98280972a56e063be0b1d (patch)
tree3bc3aa651233955ade15b1f5a00678e042be1076 /deps/v8/src/execution.h
parent78bb53b009e04c94f142aa3241b06c640395b170 (diff)
downloadnode-97ce138621b375f24db98280972a56e063be0b1d.tar.gz
Upgrade V8 to 1.3.9
Diffstat (limited to 'deps/v8/src/execution.h')
-rw-r--r--deps/v8/src/execution.h22
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_;