author | pcpa <paulo.cesar.pereira.de.andrade@gmail.com> | 2015年02月17日 14:37:57 -0200 |
---|---|---|
committer | pcpa <paulo.cesar.pereira.de.andrade@gmail.com> | 2015年02月17日 14:37:57 -0200 |
commit | ad589fbb0a308f86f7e1e2de815e05d6b39594bb (patch) | |
tree | ad4c4cecad4c572f7da7395bb58fc5e739dd1946 /lib/jit_ia64-cpu.c | |
parent | 9f72e661164ef4e2a26ba7a185b24574c57903cb (diff) | |
download | lightning-ad589fbb0a308f86f7e1e2de815e05d6b39594bb.tar.gz |
-rw-r--r-- | lib/jit_ia64-cpu.c | 9 |
diff --git a/lib/jit_ia64-cpu.c b/lib/jit_ia64-cpu.c index 7a9a974..5cbd327 100644 --- a/lib/jit_ia64-cpu.c +++ b/lib/jit_ia64-cpu.c @@ -5190,6 +5190,8 @@ _prolog(jit_state_t *_jit, jit_node_t *node) return; _jitc->function->self.aoff = frame; } + if (_jitc->function->allocar) + _jitc->function->self.aoff &= -16; _jitc->function->stack = ((_jitc->function->self.alen - _jitc->function->self.aoff) + 15) & -16; @@ -5253,6 +5255,13 @@ _prolog(jit_state_t *_jit, jit_node_t *node) addi(GR_2, GR_4, 80); STF_SPILL(GR_2, rn(JIT_F5)); } + + if (_jitc->function->allocar) { + reg = jit_get_reg(jit_class_gpr); + movi(rn(reg), _jitc->function->self.aoff); + stxi_i(_jitc->function->aoffoff, GR_4, rn(reg)); + jit_unget_reg(reg); + } } static void |