summaryrefslogtreecommitdiff
path: root/chromium/v8/src/execution.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/src/execution.cc')
-rw-r--r--chromium/v8/src/execution.cc18
1 files changed, 15 insertions, 3 deletions
diff --git a/chromium/v8/src/execution.cc b/chromium/v8/src/execution.cc
index 979641a9de5..c0e9a64fbb0 100644
--- a/chromium/v8/src/execution.cc
+++ b/chromium/v8/src/execution.cc
@@ -354,6 +354,20 @@ Handle<Object> Execution::TryGetConstructorDelegate(
}
+void Execution::RunMicrotasks(Isolate* isolate) {
+ ASSERT(isolate->microtask_pending());
+ bool threw = false;
+ Execution::Call(
+ isolate,
+ isolate->run_microtasks(),
+ isolate->factory()->undefined_value(),
+ 0,
+ NULL,
+ &threw);
+ ASSERT(!threw);
+}
+
+
bool StackGuard::IsStackOverflow() {
ExecutionAccess access(isolate_);
return (thread_local_.jslimit_ != kInterruptLimit &&
@@ -814,8 +828,6 @@ static Object* RuntimePreempt(Isolate* isolate) {
// Clear the preempt request flag.
isolate->stack_guard()->Continue(PREEMPT);
- ContextSwitcher::PreemptionReceived();
-
#ifdef ENABLE_DEBUGGER_SUPPORT
if (isolate->debug()->InDebugger()) {
// If currently in the debugger don't do any actual preemption but record
@@ -951,7 +963,7 @@ MaybeObject* Execution::HandleStackGuardInterrupt(Isolate* isolate) {
Deoptimizer::DeoptimizeAll(isolate);
}
if (stack_guard->IsInstallCodeRequest()) {
- ASSERT(FLAG_concurrent_recompilation);
+ ASSERT(isolate->concurrent_recompilation_enabled());
stack_guard->Continue(INSTALL_CODE);
isolate->optimizing_compiler_thread()->InstallOptimizedFunctions();
}