Index: src/compiler-dispatcher/compiler-dispatcher.cc |
diff --git a/src/compiler-dispatcher/compiler-dispatcher.cc b/src/compiler-dispatcher/compiler-dispatcher.cc |
index b1c5b9d9d012b9bbeb2529f1c1de823d554d0fa6..b028d51d4bee08578fa2a8da64f1b2972b8fe0eb 100644 |
--- a/src/compiler-dispatcher/compiler-dispatcher.cc |
+++ b/src/compiler-dispatcher/compiler-dispatcher.cc |
@@ -24,6 +24,11 @@ enum class ExceptionHandling { kSwallow, kThrow }; |
bool DoNextStepOnMainThread(Isolate* isolate, CompilerDispatcherJob* job, |
ExceptionHandling exception_handling) { |
DCHECK(ThreadId::Current().Equals(isolate->thread_id())); |
+ |
+ // Ensure we are in the correct context for the job. |
+ SaveContext save(isolate); |
+ isolate->set_context(job->context()); |
+ |
switch (job->status()) { |
case CompileJobStatus::kInitial: |
job->PrepareToParseOnMainThread(); |