Index: runtime/lib/function.cc |
diff --git a/runtime/lib/function.cc b/runtime/lib/function.cc |
index 5b2343ff8ff8aa12c93d559535554ddbf6be1931..caf3e1e5aae1a205b1c86087ee8851adf5ec5912 100644 |
--- a/runtime/lib/function.cc |
+++ b/runtime/lib/function.cc |
@@ -76,6 +76,8 @@ DEFINE_NATIVE_ENTRY(Closure_hashCode, 1) { |
DEFINE_NATIVE_ENTRY(Closure_clone, 1) { |
const Closure& receiver = |
Closure::CheckedHandle(zone, arguments->NativeArgAt(0)); |
+ const TypeArguments& instantiator = |
+ TypeArguments::Handle(zone, receiver.instantiator()); |
const Function& func = Function::Handle(zone, receiver.function()); |
const Context& ctx = Context::Handle(zone, receiver.context()); |
Context& cloned_ctx = |
@@ -86,7 +88,7 @@ DEFINE_NATIVE_ENTRY(Closure_clone, 1) { |
inst = ctx.At(i); |
cloned_ctx.SetAt(i, inst); |
} |
- return Closure::New(func, cloned_ctx); |
+ return Closure::New(instantiator, func, cloned_ctx); |
} |