Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(753)

Unified Diff: src/factory.cc

Issue 2459283004: [promises] Move CreateResolvingFunctions to c++ (Closed)
Patch Set: fix test Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/factory.cc
diff --git a/src/factory.cc b/src/factory.cc
index 564f821c42875dd1e14e68d0344678b1fe9f8dc0..6ed090e265397a062395f1cc35bcc73557f6e913 100644
--- a/src/factory.cc
+++ b/src/factory.cc
@@ -962,6 +962,21 @@ Handle<Context> Factory::NewBlockContext(Handle<JSFunction> function,
return context;
}
+Handle<Context> Factory::NewPromiseResolvingFunctionContext(
+ Handle<JSFunction> function, Handle<Cell> already_visited,
+ Handle<JSObject> promise, Handle<Object> debug_event) {
+ Handle<FixedArray> array = NewFixedArray(Context::MIN_CONTEXT_SLOTS + 3);
+ array->set_map_no_write_barrier(*function_context_map());
+ Handle<Context> context = Handle<Context>::cast(array);
+ context->set_closure(*function);
+ context->set_previous(function->context());
+ context->set_extension(*the_hole_value());
+ context->set_native_context(function->native_context());
+ context->set(4, *already_visited);
+ context->set(5, *promise);
+ context->set(6, *debug_event);
adamk 2016/11/08 18:09:55 Looks like if you let the caller do the setting, y
gsathya 2016/11/08 20:03:19 NewDebugEvaluateContext and NewCatchContext have a
+ return context;
+}
Handle<Struct> Factory::NewStruct(InstanceType type) {
CALL_HEAP_FUNCTION(

Powered by Google App Engine
This is Rietveld 408576698