From 92402603b9247b866822b5e7bd5451e7f1f1f2c4 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Fri, 17 Apr 2020 14:02:45 +0100 Subject: [PATCH] Change `find_or_generator_context_ptr` behaviours --- src/ir.cpp | 1 - src/llvm_backend.cpp | 7 ++----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/ir.cpp b/src/ir.cpp index 40b52d65f..6490995e8 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -3115,7 +3115,6 @@ irValue *ir_find_or_generate_context_ptr(irProcedure *proc) { irValue *c = ir_add_local_generated(proc, t_context, true); ir_push_context_onto_stack(proc, c); - ir_emit_store(proc, c, ir_emit_load(proc, proc->module->global_default_context)); ir_emit_init_context(proc, c); return c; } diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 977b2abaf..b03f195b9 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -6039,14 +6039,11 @@ lbAddr lb_find_or_generate_context_ptr(lbProcedure *p) { Type *pt = base_type(p->type); GB_ASSERT(pt->kind == Type_Proc); - if (pt->Proc.calling_convention != ProcCC_Odin) { - return p->module->global_default_context; - } else { + { lbAddr c = lb_add_local_generated(p, t_context, false); c.kind = lbAddr_Context; - lb_push_context_onto_stack(p, c); - lb_addr_store(p, c, lb_addr_load(p, p->module->global_default_context)); lb_emit_init_context(p, c); + lb_push_context_onto_stack(p, c); return c; } }