Revision: 10959
Author: [email protected]
Date: Wed Mar 7 09:31:33 2012
Log: Profiler experiments: Honor postponing of interrupts in
HandleStackGuardInterrupt
Review URL: https://chromiumcodereview.appspot.com/9620009
http://code.google.com/p/v8/source/detail?r=10959
Modified:
/branches/bleeding_edge/src/execution.cc
/branches/bleeding_edge/src/execution.h
=======================================
--- /branches/bleeding_edge/src/execution.cc Tue Feb 28 02:32:02 2012
+++ /branches/bleeding_edge/src/execution.cc Wed Mar 7 09:31:33 2012
@@ -374,6 +374,12 @@
ExecutionAccess access(isolate_);
reset_limits(access);
}
+
+
+bool StackGuard::ShouldPostponeInterrupts() {
+ ExecutionAccess access(isolate_);
+ return should_postpone_interrupts(access);
+}
bool StackGuard::IsInterrupted() {
@@ -874,6 +880,9 @@
MaybeObject* Execution::HandleStackGuardInterrupt(Isolate* isolate) {
StackGuard* stack_guard = isolate->stack_guard();
+ if (stack_guard->ShouldPostponeInterrupts()) {
+ return isolate->heap()->undefined_value();
+ }
if (stack_guard->IsGCRequest()) {
isolate->heap()->CollectAllGarbage(false, "StackGuard GC request");
=======================================
--- /branches/bleeding_edge/src/execution.h Tue Feb 28 02:32:02 2012
+++ /branches/bleeding_edge/src/execution.h Wed Mar 7 09:31:33 2012
@@ -226,6 +226,7 @@
Address address_of_real_jslimit() {
return reinterpret_cast<Address>(&thread_local_.real_jslimit_);
}
+ bool ShouldPostponeInterrupts();
private:
StackGuard();
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev