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/lightning.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lightning.c')
-rw-r--r--lib/lightning.c 12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/lightning.c b/lib/lightning.c
index 69abeeb..7bef394 100644
--- a/lib/lightning.c
+++ b/lib/lightning.c
@@ -1221,8 +1221,10 @@ _jit_setup(jit_state_t *_jit, jit_block_t *block)
jit_regset_setbit(reglive, node->u.w);
}
case jit_code_calli:
- for (value = jit_regset_scan1(regmask, 0); value != ULONG_MAX;
- value = jit_regset_scan1(regmask, value + 1)) {
+ for (value = 0; value < _jit->reglen; ++value) {
+ value = jit_regset_scan1(regmask, value);
+ if (value >= _jit->reglen)
+ break;
spec = jit_class(_rvs[value].spec);
if (!(spec & jit_class_sav))
jit_regset_clrbit(regmask, value);
@@ -1349,8 +1351,10 @@ _jit_update(jit_state_t *_jit, jit_bool_t setup, jit_node_t *node,
jit_regset_clrbit(*mask, JIT_FRET);
}
#endif
- for (value = jit_regset_scan1(*mask, 0); value != ULONG_MAX;
- value = jit_regset_scan1(*mask, value + 1)) {
+ for (value = 0; value < _jit->reglen; ++value) {
+ value = jit_regset_scan1(*mask, value);
+ if (value >= _jit->reglen)
+ break;
spec = jit_class(_rvs[value].spec);
if (!(spec & jit_class_sav))
jit_regset_clrbit(*mask, value);
generated by cgit v1.2.3 (git 2.39.1) at 2025年10月03日 03:46:33 +0000

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