From: fennecdjay Date: Sun, 20 Jan 2019 20:20:16 +0000 (+0100) Subject: :art: global Call optimization X-Git-Tag: nightly~2762^2~8 X-Git-Url: http://10.11.0.4:5575/?a=commitdiff_plain;h=3e0a688a53e65c88e074d31f1405b6df20a33310;p=gwion.git :art: global Call optimization --- diff --git a/src/emit/emit.c b/src/emit/emit.c index d9b357c5..67b1648b 100644 --- a/src/emit/emit.c +++ b/src/emit/emit.c @@ -649,6 +649,12 @@ ANN static m_bool emit_exp_dur(const Emitter emit, const Exp_Dur* dur) { GWDEBUG } static inline m_bool push_func_code(const Emitter emit, const Func f) { + const Instr back = (Instr)vector_back(&emit->code->instr); + if(back->execute == RegPushBase) { + back->execute = RegPushImm0; + back->m_val = (m_uint)f->code; + return GW_OK; + } const Instr instr = emit_add_instr(emit, RegPushPtr); return !!(instr->m_val = (m_uint)f->code); }