Index: src/runtime/runtime-interpreter.cc |
diff --git a/src/runtime/runtime-interpreter.cc b/src/runtime/runtime-interpreter.cc |
index 493cff4f36c7b16b4523d9f51cf1729858fa69c8..0877c9f0f87c4c9bc235dc16e789c230be6009f1 100644 |
--- a/src/runtime/runtime-interpreter.cc |
+++ b/src/runtime/runtime-interpreter.cc |
@@ -21,12 +21,17 @@ namespace internal { |
RUNTIME_FUNCTION(Runtime_InterpreterNewClosure) { |
HandleScope scope(isolate); |
- DCHECK_EQ(2, args.length()); |
+ DCHECK_EQ(4, args.length()); |
CONVERT_ARG_HANDLE_CHECKED(SharedFunctionInfo, shared, 0); |
- CONVERT_SMI_ARG_CHECKED(pretenured_flag, 1); |
+ CONVERT_ARG_HANDLE_CHECKED(TypeFeedbackVector, vector, 1); |
+ CONVERT_SMI_ARG_CHECKED(index, 2); |
+ CONVERT_SMI_ARG_CHECKED(pretenured_flag, 3); |
Handle<Context> context(isolate->context(), isolate); |
+ FeedbackVectorSlot slot = TypeFeedbackVector::ToSlot(index); |
+ Handle<LiteralsArray> literals(LiteralsArray::cast(vector->Get(slot)), |
+ isolate); |
return *isolate->factory()->NewFunctionFromSharedFunctionInfo( |
- shared, context, static_cast<PretenureFlag>(pretenured_flag)); |
+ shared, context, literals, static_cast<PretenureFlag>(pretenured_flag)); |
} |
namespace { |