lightning.git - Portable just-in-time compiler library

index : lightning.git
Portable just-in-time compiler library
summary refs log tree commit diff
path: root/lib/jit_ppc-cpu.c
diff options
context:
space:
mode:
authorpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2013年03月06日 16:49:26 -0300
committerpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2013年03月06日 16:49:26 -0300
commit9afca85921522076006a7e901b2a040849f7beb0 (patch)
tree225bbc312a1cd584e00ec2f4c013a6eb65b323e9 /lib/jit_ppc-cpu.c
parentf39eee6694db4880fd5677c89b91ee7095799a55 (diff)
downloadlightning-9afca85921522076006a7e901b2a040849f7beb0.tar.gz
Rework to better describe what is used only during jit generation.
* include/lightning/jit_private.h, lib/jit_arm-cpu.c, lib/jit_arm.c, lib/jit_disasm.c, lib/jit_mips-cpu.c, lib/jit_mips.c, lib/jit_note.c, lib/jit_ppc-cpu.c, lib/jit_ppc.c, lib/jit_print.c, lib/jit_sparc-cpu.c, lib/jit_sparc.c, lib/jit_x86-cpu.c, lib/jit_x86.c, lib/lightning.c: Add an extra structure for data storage during jit generation, and release it after generating jit, to reduce a bit memory usage, and also to make it easier to understand what data is available during jit runtime.
Diffstat (limited to 'lib/jit_ppc-cpu.c')
-rw-r--r--lib/jit_ppc-cpu.c 16
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/jit_ppc-cpu.c b/lib/jit_ppc-cpu.c
index 1685626..7d21e31 100644
--- a/lib/jit_ppc-cpu.c
+++ b/lib/jit_ppc-cpu.c
@@ -2471,20 +2471,20 @@ _prolog(jit_state_t *_jit, jit_node_t *node)
unsigned long regno;
jit_word_t offset;
- _jit->function->stack = ((_jit->function->self.alen +
- _jit->function->self.size -
- _jit->function->self.aoff) + 15) & -16;
+ _jitc->function->stack = ((_jitc->function->self.alen +
+ _jitc->function->self.size -
+ _jitc->function->self.aoff) + 15) & -16;
/* return address */
MFLR(_R0_REGNO);
/* save any clobbered callee save gpr register */
- regno = jit_regset_scan1(_jit->function->regset, _R14);
+ regno = jit_regset_scan1(_jitc->function->regset, _R14);
if (regno == ULONG_MAX || regno > _R31)
regno = _R31; /* aka _FP_REGNO */
STMW(rn(regno), _SP_REGNO, -fpr_save_area - (32 * 4) + rn(regno) * 4);
for (offset = 0; offset < 8; offset++) {
- if (jit_regset_tstbit(_jit->function->regset, _F14 + offset))
+ if (jit_regset_tstbit(_jitc->function->regset, _F14 + offset))
stxi_d(-fpr_save_area + offset * 8, _SP_REGNO, rn(_F14 + offset));
}
@@ -2494,7 +2494,7 @@ _prolog(jit_state_t *_jit, jit_node_t *node)
* alloca < %r31-80 */
movr(_FP_REGNO, _SP_REGNO);
- STWU(_SP_REGNO, _SP_REGNO, -_jit->function->stack);
+ STWU(_SP_REGNO, _SP_REGNO, -_jitc->function->stack);
}
static void
@@ -2508,12 +2508,12 @@ _epilog(jit_state_t *_jit, jit_node_t *node)
MTLR(_R0_REGNO);
- regno = jit_regset_scan1(_jit->function->regset, _R14);
+ regno = jit_regset_scan1(_jitc->function->regset, _R14);
if (regno == ULONG_MAX || regno > _R31)
regno = _R31; /* aka _FP_REGNO */
LMW(rn(regno), _SP_REGNO, -fpr_save_area - (32 * 4) + rn(regno) * 4);
for (offset = 0; offset < 8; offset++) {
- if (jit_regset_tstbit(_jit->function->regset, _F14 + offset))
+ if (jit_regset_tstbit(_jitc->function->regset, _F14 + offset))
ldxi_d(rn(_F14 + offset), _SP_REGNO, -fpr_save_area + offset * 8);
}
BLR();
generated by cgit v1.2.3 (git 2.25.1) at 2025年09月29日 08:19:10 +0000

AltStyle によって変換されたページ (->オリジナル) /