From 8dc70f797cf8b4315d689ce94ab004faadb015b7 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Thu, 16 Mar 2023 15:16:17 +0000 Subject: Increase use of `temporary_allocator()` where possible --- src/llvm_backend_proc.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/llvm_backend_proc.cpp') diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp index 5fd860b29..02748663b 100644 --- a/src/llvm_backend_proc.cpp +++ b/src/llvm_backend_proc.cpp @@ -776,16 +776,16 @@ gb_internal void lb_build_nested_proc(lbProcedure *p, AstProcLit *pd, Entity *e) -gb_internal Array lb_value_to_array(lbProcedure *p, lbValue value) { +gb_internal Array lb_value_to_array(lbProcedure *p, gbAllocator const &allocator, lbValue value) { Array array = {}; Type *t = base_type(value.type); if (t == nullptr) { // Do nothing } else if (is_type_tuple(t)) { - array = array_make(permanent_allocator(), 0, t->Tuple.variables.count); + array = array_make(allocator, 0, t->Tuple.variables.count); lb_append_tuple_values(p, &array, value); } else { - array = array_make(permanent_allocator(), 1); + array = array_make(allocator, 1); array[0] = value; } return array; @@ -1175,15 +1175,15 @@ gb_internal lbValue lb_emit_call(lbProcedure *p, lbValue value, Array c case DeferredProcedure_none: break; case DeferredProcedure_in: - result_as_args = in_args; + result_as_args = array_clone(heap_allocator(), in_args); break; case DeferredProcedure_out: - result_as_args = lb_value_to_array(p, result); + result_as_args = lb_value_to_array(p, heap_allocator(), result); break; case DeferredProcedure_in_out: { - auto out_args = lb_value_to_array(p, result); - array_init(&result_as_args, permanent_allocator(), in_args.count + out_args.count); + auto out_args = lb_value_to_array(p, heap_allocator(), result); + array_init(&result_as_args, heap_allocator(), in_args.count + out_args.count); array_copy(&result_as_args, in_args, 0); array_copy(&result_as_args, out_args, in_args.count); } -- cgit v1.2.3