Reviewers: mvstanton,
Description:
Use mutex in PostponeInterruptScope.
To avoid race with e.g. StackGuard::RequestInstallCode called from another
thread when both access postpone_interrupts_nesting_.
[email protected]
BUG=290964
Please review this at https://codereview.chromium.org/138833006/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+4, -1 lines):
M src/isolate.h
Index: src/isolate.h
diff --git a/src/isolate.h b/src/isolate.h
index
8b935fb8cacf07625a5c8706afe72f659776d1a2..d93a862294aa13d7afde5b54b4332faaf752ff3f
100644
--- a/src/isolate.h
+++ b/src/isolate.h
@@ -1491,18 +1491,21 @@ class StackLimitCheck BASE_EMBEDDED {
class PostponeInterruptsScope BASE_EMBEDDED {
public:
explicit PostponeInterruptsScope(Isolate* isolate)
- : stack_guard_(isolate->stack_guard()) {
+ : stack_guard_(isolate->stack_guard()), isolate_(isolate) {
+ ExecutionAccess access(isolate_);
stack_guard_->thread_local_.postpone_interrupts_nesting_++;
stack_guard_->DisableInterrupts();
}
~PostponeInterruptsScope() {
+ ExecutionAccess access(isolate_);
if (--stack_guard_->thread_local_.postpone_interrupts_nesting_ == 0) {
stack_guard_->EnableInterrupts();
}
}
private:
StackGuard* stack_guard_;
+ Isolate* isolate_;
};
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.