From d2646e13eb8c6d9ba3cb195f0c2290e841411a4a Mon Sep 17 00:00:00 2001 From: Jameson Nash Date: Thu, 30 Jun 2016 12:00:56 -0400 Subject: [PATCH] disable gcframe rooting on return path of jlcall wrapper --- src/codegen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/codegen.cpp b/src/codegen.cpp index 21392cb6bbb66..1024d3a40a7ce 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -3945,7 +3945,7 @@ static Function *gen_jlcall_wrapper(jl_lambda_info_t *lam, Function *f, bool sre bool retboxed; (void)julia_type_to_llvm(jlretty, &retboxed); if (sret) { assert(!retboxed); } - jl_cgval_t retval = sret ? mark_julia_slot(result, jlretty, tbaa_stack) : mark_julia_type(call, retboxed, jlretty, &ctx); + jl_cgval_t retval = sret ? mark_julia_slot(result, jlretty, tbaa_stack) : mark_julia_type(call, retboxed, jlretty, &ctx, /*needsroot*/false); builder.CreateRet(boxed(retval, &ctx, false)); // no gcroot needed since this on the return path return w;