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

index : lightning.git
Portable just-in-time compiler library
summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat
-rw-r--r--include/lightning/jit_private.h 5
-rw-r--r--lib/lightning.c 2
2 files changed, 4 insertions, 3 deletions
diff --git a/include/lightning/jit_private.h b/include/lightning/jit_private.h
index e00e74d..5966bd6 100644
--- a/include/lightning/jit_private.h
+++ b/include/lightning/jit_private.h
@@ -264,8 +264,9 @@ extern jit_node_t *_jit_data(jit_state_t*, const void*,
#define jit_cc_a0_flt 0x00000020 /* arg0 is immediate float */
#define jit_cc_a0_dbl 0x00000040 /* arg0 is immediate double */
#define jit_cc_a0_arg 0x00000080 /* arg1 is an argument int id */
-#define jit_cc_a1_reg 0x00000100 /* arg1 is a register */
-#define jit_cc_a1_chg 0x00000200 /* arg1 is modified */
+#define jit_cc_a0_cnd 0x00000100 /* arg1 is a conditinally set register */
+#define jit_cc_a1_reg 0x00000200 /* arg1 is a register */
+#define jit_cc_a1_chg 0x00000400 /* arg1 is modified */
#define jit_cc_a1_int 0x00001000 /* arg1 is immediate word */
#define jit_cc_a1_flt 0x00002000 /* arg1 is immediate float */
#define jit_cc_a1_dbl 0x00004000 /* arg1 is immediate double */
diff --git a/lib/lightning.c b/lib/lightning.c
index 22eca0c..0ed663d 100644
--- a/lib/lightning.c
+++ b/lib/lightning.c
@@ -3303,7 +3303,7 @@ _register_change_p(jit_state_t *_jit, jit_node_t *node, jit_node_t *link,
default:
value = jit_classify(node->code);
/* lack of extra information */
- if (value & jit_cc_a0_jmp)
+ if (value & (jit_cc_a0_jmp|jit_cc_a0_cnd))
return (jit_reg_change);
else if ((value & (jit_cc_a0_reg|jit_cc_a0_chg)) ==
(jit_cc_a0_reg|jit_cc_a0_chg) &&
generated by cgit v1.2.3 (git 2.46.0) at 2025年09月29日 05:56:49 +0000

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