Index: src/builtins/builtins.cc |
diff --git a/src/builtins/builtins.cc b/src/builtins/builtins.cc |
index dd5b4333ce981db1cb13ae8dc6b59e7c259caa06..d5a0e17d17312dce817b53534a935a860806f5d9 100644 |
--- a/src/builtins/builtins.cc |
+++ b/src/builtins/builtins.cc |
@@ -280,13 +280,12 @@ bool Builtins::AllowDynamicFunction(Isolate* isolate, Handle<JSFunction> target, |
Handle<JSObject> target_global_proxy) { |
if (FLAG_allow_unsafe_function_constructor) return true; |
HandleScopeImplementer* impl = isolate->handle_scope_implementer(); |
- Handle<Context> responsible_context = impl->LastEnteredContext(); |
+ Handle<Context> responsible_context = |
+ impl->MicrotaskContextIsLastEnteredContext() ? impl->MicrotaskContext() |
+ : impl->LastEnteredContext(); |
+ // TODO(jochen): Remove this. |
if (responsible_context.is_null()) { |
- responsible_context = impl->MicrotaskContext(); |
- // TODO(jochen): Remove this. |
- if (responsible_context.is_null()) { |
- return true; |
- } |
+ return true; |
} |
if (*responsible_context == target->context()) return true; |
return isolate->MayAccess(responsible_context, target_global_proxy); |