Update of /cvsroot/psyco/psyco/c/ivm/prolog In directory sc8-pr-cvs1:/tmp/cvs-serv2413 Modified Files: insns-igen-h.i.default insns-igen.i.default insns-switch.i.default insns-table.py.default insns-threaded.i.default mode_combine.pl.default Log Message: temporary compilation fix, more work needed Index: insns-igen-h.i.default =================================================================== RCS file: /cvsroot/psyco/psyco/c/ivm/prolog/insns-igen-h.i.default,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** insns-igen-h.i.default 5 Sep 2003 21:42:12 -0000 1.2 --- insns-igen-h.i.default 29 Sep 2003 07:42:02 -0000 1.3 *************** *** 1,48 **** ! #define LAST_DEFINED_OPCODE 255 ! #define INSN_not() (code = psyco_insn_not(code)) ! EXTERNFN code_t* psyco_insn_not(code_t* code); ! #define INSN_inv() (code = psyco_insn_inv(code)) ! EXTERNFN code_t* psyco_insn_inv(code_t* code); ! #define INSN_abso() (code = psyco_insn_abso(code)) ! EXTERNFN code_t* psyco_insn_abso(code_t* code); ! #define INSN_nego() (code = psyco_insn_nego(code)) ! EXTERNFN code_t* psyco_insn_nego(code_t* code); ! #define INSN_load1() (code = psyco_insn_load1(code)) ! EXTERNFN code_t* psyco_insn_load1(code_t* code); ! #define INSN_load1u() (code = psyco_insn_load1u(code)) ! EXTERNFN code_t* psyco_insn_load1u(code_t* code); ! #define INSN_load2() (code = psyco_insn_load2(code)) ! EXTERNFN code_t* psyco_insn_load2(code_t* code); ! #define INSN_load2u() (code = psyco_insn_load2u(code)) ! EXTERNFN code_t* psyco_insn_load2u(code_t* code); ! #define INSN_load4() (code = psyco_insn_load4(code)) ! EXTERNFN code_t* psyco_insn_load4(code_t* code); ! #define INSN_or() (code = psyco_insn_or(code)) ! EXTERNFN code_t* psyco_insn_or(code_t* code); ! #define INSN_and() (code = psyco_insn_and(code)) ! EXTERNFN code_t* psyco_insn_and(code_t* code); ! #define INSN_xor() (code = psyco_insn_xor(code)) ! EXTERNFN code_t* psyco_insn_xor(code_t* code); ! #define INSN_addo() (code = psyco_insn_addo(code)) ! EXTERNFN code_t* psyco_insn_addo(code_t* code); ! #define INSN_subo() (code = psyco_insn_subo(code)) ! EXTERNFN code_t* psyco_insn_subo(code_t* code); ! #define INSN_mulo() (code = psyco_insn_mulo(code)) ! EXTERNFN code_t* psyco_insn_mulo(code_t* code); ! #define INSN_lshift() (code = psyco_insn_lshift(code)) ! EXTERNFN code_t* psyco_insn_lshift(code_t* code); ! #define INSN_rshift() (code = psyco_insn_rshift(code)) ! EXTERNFN code_t* psyco_insn_rshift(code_t* code); ! #define INSN_urshift() (code = psyco_insn_urshift(code)) ! EXTERNFN code_t* psyco_insn_urshift(code_t* code); ! #define INSN_cmpeq() (code = psyco_insn_cmpeq(code)) ! EXTERNFN code_t* psyco_insn_cmpeq(code_t* code); ! #define INSN_cmplt() (code = psyco_insn_cmplt(code)) ! EXTERNFN code_t* psyco_insn_cmplt(code_t* code); ! #define INSN_cmpltu() (code = psyco_insn_cmpltu(code)) ! EXTERNFN code_t* psyco_insn_cmpltu(code_t* code); ! #define INSN_pop() (code = psyco_insn_pop(code)) ! EXTERNFN code_t* psyco_insn_pop(code_t* code); #define INSN_settos(arg1) (code = psyco_insn_settos(code, arg1)) EXTERNFN code_t* psyco_insn_settos(code_t* code, int arg1); --- 1,26 ---- ! #define LAST_DEFINED_OPCODE 74 ! #define INSN_not() INSN_EMIT_macro_opcode(1) ! #define INSN_inv() INSN_EMIT_macro_opcode(2) ! #define INSN_abs_o() INSN_EMIT_macro_opcode(3) ! #define INSN_neg_o() INSN_EMIT_macro_opcode(4) ! #define INSN_load1() INSN_EMIT_macro_opcode(5) ! #define INSN_load1u() INSN_EMIT_macro_opcode(6) ! #define INSN_load2() INSN_EMIT_macro_opcode(7) ! #define INSN_load2u() INSN_EMIT_macro_opcode(8) ! #define INSN_load4() INSN_EMIT_macro_opcode(9) ! #define INSN_or() INSN_EMIT_macro_opcode(10) ! #define INSN_and() INSN_EMIT_macro_opcode(11) ! #define INSN_xor() INSN_EMIT_macro_opcode(12) ! #define INSN_add() INSN_EMIT_macro_opcode(13) ! #define INSN_add_o() INSN_EMIT_macro_opcode(14) ! #define INSN_sub_o() INSN_EMIT_macro_opcode(15) ! #define INSN_mul_o() INSN_EMIT_macro_opcode(16) ! #define INSN_lshift() INSN_EMIT_macro_opcode(17) ! #define INSN_rshift() INSN_EMIT_macro_opcode(18) ! #define INSN_urshift() INSN_EMIT_macro_opcode(19) ! #define INSN_cmpeq() INSN_EMIT_macro_opcode(20) ! #define INSN_cmplt() INSN_EMIT_macro_opcode(21) ! #define INSN_cmpltu() INSN_EMIT_macro_opcode(22) #define INSN_settos(arg1) (code = psyco_insn_settos(code, arg1)) EXTERNFN code_t* psyco_insn_settos(code_t* code, int arg1); *************** *** 57,64 **** #define INSN_ref_push(arg1) (code = psyco_insn_ref_push(code, arg1)) EXTERNFN code_t* psyco_insn_ref_push(code_t* code, word_t arg1); ! #define INSN_stackgrow() (code = psyco_insn_stackgrow(code)) ! EXTERNFN code_t* psyco_insn_stackgrow(code_t* code); #define INSN_assertdepth(arg1) (code = psyco_insn_assertdepth(code, arg1)) EXTERNFN code_t* psyco_insn_assertdepth(code_t* code, word_t arg1); #define INSN_jcondnear(arg1) (code = psyco_insn_jcondnear(code, arg1)) EXTERNFN code_t* psyco_insn_jcondnear(code_t* code, code_t** arg1); --- 35,47 ---- #define INSN_ref_push(arg1) (code = psyco_insn_ref_push(code, arg1)) EXTERNFN code_t* psyco_insn_ref_push(code_t* code, word_t arg1); ! #define INSN_stackgrow() INSN_EMIT_macro_opcode(40) #define INSN_assertdepth(arg1) (code = psyco_insn_assertdepth(code, arg1)) EXTERNFN code_t* psyco_insn_assertdepth(code_t* code, word_t arg1); + #define INSN_dynamicfreq(arg1) (code = psyco_insn_dynamicfreq(code, arg1)) + EXTERNFN code_t* psyco_insn_dynamicfreq(code_t* code, word_t** arg1); + #define INSN_flag_push() INSN_EMIT_macro_opcode(44) + #define INSN_flag_pop() INSN_EMIT_macro_opcode(45) + #define INSN_flag_forget() (code = psyco_insn_flag_forget(code)) + EXTERNFN code_t* psyco_insn_flag_forget(code_t* code); #define INSN_jcondnear(arg1) (code = psyco_insn_jcondnear(code, arg1)) EXTERNFN code_t* psyco_insn_jcondnear(code_t* code, code_t** arg1); *************** *** 71,98 **** #define INSN_cbuild2(arg1) (code = psyco_insn_cbuild2(code, arg1)) EXTERNFN code_t* psyco_insn_cbuild2(code_t* code, word_t** arg1); ! #define INSN_store1() (code = psyco_insn_store1(code)) ! EXTERNFN code_t* psyco_insn_store1(code_t* code); ! #define INSN_store2() (code = psyco_insn_store2(code)) ! EXTERNFN code_t* psyco_insn_store2(code_t* code); ! #define INSN_store4() (code = psyco_insn_store4(code)) ! EXTERNFN code_t* psyco_insn_store4(code_t* code); ! #define INSN_incref() (code = psyco_insn_incref(code)) ! EXTERNFN code_t* psyco_insn_incref(code_t* code); ! #define INSN_decref() (code = psyco_insn_decref(code)) ! EXTERNFN code_t* psyco_insn_decref(code_t* code); #define INSN_decrefnz(arg1) (code = psyco_insn_decrefnz(code, arg1)) EXTERNFN code_t* psyco_insn_decrefnz(code_t* code, word_t** arg1); ! #define INSN_exitframe() (code = psyco_insn_exitframe(code)) ! EXTERNFN code_t* psyco_insn_exitframe(code_t* code); #define INSN_ret(arg1) (code = psyco_insn_ret(code, arg1)) EXTERNFN code_t* psyco_insn_ret(code_t* code, int arg1); ! #define INSN_retval() (code = psyco_insn_retval(code)) ! EXTERNFN code_t* psyco_insn_retval(code_t* code); ! #define INSN_pushretval() (code = psyco_insn_pushretval(code)) ! EXTERNFN code_t* psyco_insn_pushretval(code_t* code); #define INSN_pyenter(arg1) (code = psyco_insn_pyenter(code, arg1)) EXTERNFN code_t* psyco_insn_pyenter(code_t* code, word_t** arg1); ! #define INSN_pyleave() (code = psyco_insn_pyleave(code)) ! EXTERNFN code_t* psyco_insn_pyleave(code_t* code); #define INSN_vmcall(arg1) (code = psyco_insn_vmcall(code, arg1)) EXTERNFN code_t* psyco_insn_vmcall(code_t* code, word_t** arg1); --- 54,72 ---- #define INSN_cbuild2(arg1) (code = psyco_insn_cbuild2(code, arg1)) EXTERNFN code_t* psyco_insn_cbuild2(code_t* code, word_t** arg1); ! #define INSN_store1() INSN_EMIT_macro_opcode(51) ! #define INSN_store2() INSN_EMIT_macro_opcode(52) ! #define INSN_store4() INSN_EMIT_macro_opcode(53) ! #define INSN_incref() INSN_EMIT_macro_opcode(54) ! #define INSN_decref() INSN_EMIT_macro_opcode(55) #define INSN_decrefnz(arg1) (code = psyco_insn_decrefnz(code, arg1)) EXTERNFN code_t* psyco_insn_decrefnz(code_t* code, word_t** arg1); ! #define INSN_exitframe() INSN_EMIT_macro_opcode(57) #define INSN_ret(arg1) (code = psyco_insn_ret(code, arg1)) EXTERNFN code_t* psyco_insn_ret(code_t* code, int arg1); ! #define INSN_retval() INSN_EMIT_macro_opcode(61) ! #define INSN_pushretval() INSN_EMIT_macro_opcode(62) #define INSN_pyenter(arg1) (code = psyco_insn_pyenter(code, arg1)) EXTERNFN code_t* psyco_insn_pyenter(code_t* code, word_t** arg1); ! #define INSN_pyleave() INSN_EMIT_macro_opcode(64) #define INSN_vmcall(arg1) (code = psyco_insn_vmcall(code, arg1)) EXTERNFN code_t* psyco_insn_vmcall(code_t* code, word_t** arg1); *************** *** 113,116 **** #define INSN_ccall7(arg1) (code = psyco_insn_ccall7(code, arg1)) EXTERNFN code_t* psyco_insn_ccall7(code_t* code, word_t** arg1); ! #define INSN_checkdict(arg1, arg2, arg3, arg4, arg5) (code = psyco_insn_checkdict(code, arg1, arg2, arg3, arg4, arg5)) ! EXTERNFN code_t* psyco_insn_checkdict(code_t* code, word_t** arg1, word_t** arg2, word_t** arg3, word_t** arg4, word_t** arg5); --- 87,90 ---- #define INSN_ccall7(arg1) (code = psyco_insn_ccall7(code, arg1)) EXTERNFN code_t* psyco_insn_ccall7(code_t* code, word_t** arg1); ! #define INSN_checkdict(arg1, arg2, arg3, arg4) (code = psyco_insn_checkdict(code, arg1, arg2, arg3, arg4)) ! EXTERNFN code_t* psyco_insn_checkdict(code_t* code, word_t** arg1, word_t** arg2, word_t** arg3, word_t** arg4); Index: insns-igen.i.default =================================================================== RCS file: /cvsroot/psyco/psyco/c/ivm/prolog/insns-igen.i.default,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** insns-igen.i.default 5 Sep 2003 21:42:12 -0000 1.2 --- insns-igen.i.default 29 Sep 2003 07:42:02 -0000 1.3 *************** *** 1,475 **** - DEFINEFN code_t* psyco_insn_not(code_t* code) - { - switch (LATEST_OPCODE) { - case 32: - { - /* [s_push(0)] */ - INSN_EMIT_modified_opcode(79, 0); - setlatestopcode(79); - return(code); [...2404 lines suppressed...] } --- 360,377 ---- DEFINEFN code_t* psyco_insn_ccall7(code_t* code, word_t** arg1) { ! INSN_EMIT_opcode(73); INSN_EMIT_placeholder_long(arg1); ! setlatestopcode(73); return(code); } ! DEFINEFN code_t* psyco_insn_checkdict(code_t* code, word_t** arg1, word_t** arg2, word_t** arg3, word_t** arg4) { ! INSN_EMIT_opcode(74); INSN_EMIT_placeholder_long(arg1); INSN_EMIT_placeholder_long(arg2); INSN_EMIT_placeholder_long(arg3); INSN_EMIT_placeholder_long(arg4); ! setlatestopcode(74); return(code); } Index: insns-switch.i.default =================================================================== RCS file: /cvsroot/psyco/psyco/c/ivm/prolog/insns-switch.i.default,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** insns-switch.i.default 19 Sep 2003 11:28:19 -0000 1.3 --- insns-switch.i.default 29 Sep 2003 07:42:03 -0000 1.4 *************** *** 19,51 **** continue; ! case 3: /* [abso] */ { word_t local1; word_t local2; word_t local3; ! word_t local4; ! local1 = abso(accum); ! local2 = ovf_check(abso, macro_args(accum)); [...4183 lines suppressed...] ! word_t local2; ! word_t local3; ! word_t local4; ! local1 = bytecode_next(word_t); ! local2 = bytecode_next(code_t); ! *(long*)stack_nth(0) = accum; ! impl_incref(local1); ! local3 = stack_nth(local2+1); ! local4 = local3; ! accum = local4; ! stack_shift_pos(1); } continue; --- 851,856 ---- local3 = bytecode_next(word_t); local4 = bytecode_next(word_t); ! local5 = impl_checkdict(local1, local2, local3, local4); ! flag = local5; } continue; Index: insns-table.py.default =================================================================== RCS file: /cvsroot/psyco/psyco/c/ivm/prolog/insns-table.py.default,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** insns-table.py.default 5 Sep 2003 21:42:12 -0000 1.2 --- insns-table.py.default 29 Sep 2003 07:42:03 -0000 1.3 *************** *** 2,7 **** 1: [("not",), ], 2: [("inv",), ], ! 3: [("abso",), ], ! 4: [("nego",), ], 5: [("load1",), ], 6: [("load1u",), ], --- 2,7 ---- 1: [("not",), ], 2: [("inv",), ], ! 3: [("abs_o",), ], ! 4: [("neg_o",), ], 5: [("load1",), ], 6: [("load1u",), ], *************** *** 12,25 **** 11: [("and",), ], 12: [("xor",), ], ! 13: [("addo",), ], ! 14: [("subo",), ], ! 15: [("mulo",), ], ! 16: [("lshift",), ], ! 17: [("rshift",), ], ! 18: [("urshift",), ], ! 19: [("cmpeq",), ], ! 20: [("cmplt",), ], ! 21: [("cmpltu",), ], ! 22: [("pop",), ], 23: [("settos",stack(0),), ], 24: [("settos",stack(byte),), ], --- 12,25 ---- 11: [("and",), ], 12: [("xor",), ], ! 13: [("add",), ], ! 14: [("add_o",), ], ! 15: [("sub_o",), ], ! 16: [("mul_o",), ], ! 17: [("lshift",), ], ! 18: [("rshift",), ], ! 19: [("urshift",), ], ! 20: [("cmpeq",), ], ! 21: [("cmplt",), ], ! 22: [("cmpltu",), ], 23: [("settos",stack(0),), ], 24: [("settos",stack(byte),), ], *************** *** 42,264 **** 41: [("assertdepth",char,), ], 42: [("assertdepth",int,), ], ! 43: [("jcondnear",indirect(code_t),), ], ! 44: [("jcondfar",indirect(word_t),), ], ! 45: [("jumpfar",indirect(word_t),), ], ! 46: [("cbuild1",indirect(word_t),), ], ! 47: [("cbuild2",indirect(word_t),), ], ! 48: [("store1",), ], ! 49: [("store2",), ], ! 50: [("store4",), ], ! 51: [("incref",), ], ! 52: [("decref",), ], ! 53: [("decrefnz",indirect(word_t),), ], ! 54: [("exitframe",), ], ! 55: [("ret",stack(0),), ], ! 56: [("ret",stack(byte),), ], ! 57: [("ret",stack(long),), ], ! 58: [("retval",), ], ! 59: [("pushretval",), ], ! 60: [("pyenter",indirect(word_t),), ], ! 61: [("pyleave",), ], ! 62: [("vmcall",indirect(word_t),), ], ! 63: [("ccall0",indirect(word_t),), ], ! 64: [("ccall1",indirect(word_t),), ], ! 65: [("ccall2",indirect(word_t),), ], ! 66: [("ccall3",indirect(word_t),), ], ! 67: [("ccall4",indirect(word_t),), ], ! 68: [("ccall5",indirect(word_t),), ], ! 69: [("ccall6",indirect(word_t),), ], ! 70: [("ccall7",indirect(word_t),), ], ! 71: [("checkdict",indirect(word_t),indirect(word_t),indirect(word_t),indirect(word_t),indirect(word_t),), ], ! 72: [("s_push",stack(0),), ("jcondfar",indirect(word_t),), ], ! 73: [("immed",char,), ("addo",), ], ! 74: [("immed",char,), ("addo",), ("pop",), ], ! 75: [("pop",), ("load4",), ], ! 76: [("cmpeq",), ("s_push",stack(0),), ], ! 77: [("s_push",stack(byte),), ("decref",), ], ! 78: [("s_push",stack(0),), ("immed",0,), ], ! 79: [("s_push",stack(0),), ("not",), ], ! 80: [("s_push",stack(0),), ("not",), ("jcondfar",indirect(word_t),), ], ! 81: [("immed",char,), ("addo",), ("pop",), ("load4",), ], ! 82: [("s_push",stack(0),), ("immed",0,), ("cmpeq",), ], ! 83: [("decref",), ("s_push",stack(byte),), ], ! 84: [("s_push",stack(byte),), ("immed",char,), ], ! 85: [("ccall2",indirect(word_t),), ("s_push",stack(0),), ], ! 86: [("s_push",stack(0),), ("immed",0,), ("cmpeq",), ("s_push",stack(0),), ], ! 87: [("s_push",stack(byte),), ("immed",char,), ("addo",), ], ! 88: [("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ], ! 89: [("incref",), ("s_push",stack(byte),), ], ! 90: [("immed",char,), ("addo",), ("pop",), ("load4",), ("s_push",stack(0),), ], ! 91: [("s_push",stack(0),), ("incref",), ], ! 92: [("s_push",stack(0),), ("immed",0,), ("cmpeq",), ("s_push",stack(0),), ("jcondfar",indirect(word_t),), ], ! 93: [("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("load4",), ], ! 94: [("s_push",stack(byte),), ("ccall2",indirect(word_t),), ], ! 95: [("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ], ! 96: [("immed",int,), ("incref",), ], ! 97: [("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("load4",), ("s_push",stack(0),), ], ! 98: [("s_push",stack(byte),), ("ccall2",indirect(word_t),), ("s_push",stack(0),), ], ! 99: [("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ("decref",), ], ! 100: [("immed",int,), ("s_push",stack(1),), ], ! 101: [("immed",int,), ("immed",int,), ], ! 102: [("incref",), ("s_push",stack(byte),), ("immed",char,), ], ! 103: [("incref",), ("s_push",stack(byte),), ("immed",char,), ("addo",), ], ! 104: [("incref",), ("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ], ! 105: [("immed",int,), ("s_push",stack(1),), ("ccall2",indirect(word_t),), ], ! 106: [("ccall2",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ], ! 107: [("ccall2",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ], ! 108: [("ccall1",indirect(word_t),), ("s_push",stack(0),), ], ! 109: [("immed",int,), ("s_push",stack(1),), ("ccall2",indirect(word_t),), ("s_push",stack(0),), ], ! 110: [("immed",char,), ("addo",), ("pop",), ("load4",), ("s_push",stack(0),), ("not",), ], ! 111: [("immed",char,), ("addo",), ("pop",), ("load4",), ("s_push",stack(0),), ("not",), ("jcondfar",indirect(word_t),), ], ! 112: [("ccall1",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ], ! 113: [("ccall1",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ], ! 114: [("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("load4",), ("s_push",stack(0),), ("cbuild2",indirect(word_t),), ], ! 115: [("immed",0,), ("cmplt",), ], ! 116: [("s_push",stack(0),), ("immed",char,), ], ! 117: [("ccall2",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ("s_push",stack(0),), ], ! 118: [("ccall2",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ("s_push",stack(0),), ("jcondfar",indirect(word_t),), ], ! 119: [("ccall1",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ("s_push",stack(0),), ], ! 120: [("s_push",stack(byte),), ("immed",int,), ], ! 121: [("pyleave",), ("s_push",stack(byte),), ], ! 122: [("s_push",stack(byte),), ("s_pop",stack(byte),), ], ! 123: [("immed",int,), ("s_push",stack(byte),), ], ! 124: [("incref",), ("immed",0,), ], ! 125: [("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ], ! 126: [("immed",char,), ("addo",), ("pop",), ("s_push",stack(byte),), ], ! 127: [("s_push",stack(byte),), ("s_push",stack(byte),), ], ! 128: [("immed",int,), ("ccall4",indirect(word_t),), ], ! 129: [("immed",int,), ("cmpeq",), ], ! 130: [("ccall1",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ("s_push",stack(0),), ("jcondfar",indirect(word_t),), ], ! 131: [("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("load4",), ("s_push",stack(0),), ("not",), ], ! 132: [("s_push",stack(0),), ("immed",char,), ("addo",), ], ! 133: [("s_push",stack(0),), ("immed",char,), ("addo",), ("pop",), ], ! 134: [("immed",0,), ("retval",), ], ! 135: [("decref",), ("s_push",stack(byte),), ("immed",char,), ], ! 136: [("pyleave",), ("s_push",stack(byte),), ("decref",), ], ! 137: [("decref",), ("s_push",stack(byte),), ("immed",char,), ("addo",), ], ! 138: [("decref",), ("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ], ! 139: [("immed",int,), ("s_push",stack(1),), ("ccall2",indirect(word_t),), ("s_push",stack(0),), ("jcondfar",indirect(word_t),), ], ! 140: [("immed",int,), ("ccall3",indirect(word_t),), ], ! 141: [("immed",char,), ("addo",), ("pop",), ("s_push",stack(byte),), ("store4",), ], ! 142: [("immed",char,), ("addo",), ("pop",), ("s_push",stack(byte),), ("store4",), ("s_push",stack(byte),), ], ! 143: [("cmpltu",), ("s_push",stack(0),), ], ! 144: [("immed",char,), ("addo",), ("pop",), ("immed",int,), ], ! 145: [("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("s_push",stack(byte),), ], ! 146: [("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("s_push",stack(byte),), ("store4",), ], ! 147: [("immed",char,), ("addo",), ("pop",), ("immed",int,), ("store4",), ], ! 148: [("immed",char,), ("addo",), ("pop",), ("immed",int,), ("store4",), ("immed",int,), ], ! 149: [("immed",int,), ("ccall3",indirect(word_t),), ("s_push",stack(0),), ], ! 150: [("immed",int,), ("incref",), ("immed",int,), ], ! 151: [("immed",int,), ("incref",), ("immed",int,), ("retval",), ], ! 152: [("s_push",stack(0),), ("incref",), ("s_push",stack(0),), ], ! 153: [("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ("decref",), ], ! 154: [("s_pop",stack(byte),), ("s_push",stack(byte),), ], ! 155: [("immed",0,), ("immed",int,), ], ! 156: [("decref",), ("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("load4",), ], ! 157: [("decref",), ("immed",0,), ], ! 158: [("incref",), ("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("load4",), ], ! 159: [("immed",char,), ("ccall1",indirect(word_t),), ], ! 160: [("s_push",stack(byte),), ("immed",0,), ], ! 161: [("immed",0,), ("s_push",stack(byte),), ], ! 162: [("pushretval",), ("s_push",stack(0),), ], ! 163: [("pyleave",), ("pushretval",), ], ! 164: [("immed",int,), ("ccall3",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ], ! 165: [("immed",int,), ("ccall3",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ], ! 166: [("s_push",stack(byte),), ("ccall3",indirect(word_t),), ], ! 167: [("immed",char,), ("addo",), ("pop",), ("s_push",stack(byte),), ("store4",), ("s_push",stack(byte),), ("incref",), ], ! 168: [("pyenter",indirect(word_t),), ("s_push",stack(byte),), ], ! 169: [("immed",0,), ("cmplt",), ("s_push",stack(0),), ], ! 170: [("immed",0,), ("cmplt",), ("s_push",stack(0),), ("jcondfar",indirect(word_t),), ], ! 171: [("s_push",stack(byte),), ("ccall2",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ], ! 172: [("immed",0,), ("ccall2",indirect(word_t),), ], ! 173: [("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ("immed",char,), ], ! 174: [("immed",int,), ("immed",int,), ("ccall2",indirect(word_t),), ], ! 175: [("pop",), ("load4",), ("immed",0,), ], ! 176: [("immed",char,), ("ccall1",indirect(word_t),), ("s_push",stack(0),), ], ! 177: [("s_push",stack(byte),), ("ccall2",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ], ! 178: [("s_push",stack(0),), ("incref",), ("s_push",stack(byte),), ], ! 179: [("s_push",stack(0),), ("immed",0,), ("cmplt",), ], ! 180: [("immed",char,), ("addo",), ("pop",), ("immed",int,), ("store4",), ("immed",int,), ("incref",), ], ! 181: [("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("s_push",stack(byte),), ("store4",), ("s_push",stack(byte),), ], ! 182: [("s_push",stack(0),), ("immed",char,), ("addo",), ("pop",), ("load4",), ], ! 183: [("addo",), ("pop",), ], ! 184: [("immed",0,), ("cmpeq",), ], ! 185: [("immed",0,), ("cmpeq",), ("s_push",stack(0),), ], ! 186: [("immed",0,), ("cmpeq",), ("s_push",stack(0),), ("not",), ], ! 187: [("decref",), ("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("load4",), ("s_push",stack(0),), ], ! 188: [("load4",), ("s_push",stack(0),), ], ! 189: [("immed",0,), ("cmpeq",), ("s_push",stack(0),), ("not",), ("jcondfar",indirect(word_t),), ], ! 190: [("cmpeq",), ("s_push",stack(0),), ("jcondfar",indirect(word_t),), ], ! 191: [("incref",), ("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("load4",), ("s_push",stack(0),), ], ! 192: [("immed",int,), ("immed",int,), ("ccall4",indirect(word_t),), ], ! 193: [("s_push",stack(byte),), ("cmpltu",), ], ! 194: [("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ("immed",char,), ("addo",), ], ! 195: [("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ], ! 196: [("s_push",stack(byte),), ("ccall3",indirect(word_t),), ("s_push",stack(0),), ], ! 197: [("s_push",stack(byte),), ("decref",), ("immed",int,), ], ! 198: [("immed",int,), ("cmpeq",), ("s_push",stack(0),), ], ! 199: [("cmpltu",), ("s_push",stack(0),), ("not",), ], ! 200: [("pushretval",), ("s_push",stack(0),), ("immed",0,), ], ! 201: [("pushretval",), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ], ! 202: [("pyleave",), ("pushretval",), ("s_push",stack(0),), ], ! 203: [("s_push",stack(byte),), ("ccall2",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ("s_push",stack(0),), ], ! 204: [("immed",int,), ("immed",int,), ("ccall2",indirect(word_t),), ("s_push",stack(0),), ], ! 205: [("addo",), ("pop",), ("s_push",stack(byte),), ], ! 206: [("addo",), ("pop",), ("s_push",stack(byte),), ("store4",), ], ! 207: [("addo",), ("pop",), ("s_push",stack(byte),), ("store4",), ("s_push",stack(byte),), ], ! 208: [("addo",), ("pop",), ("s_push",stack(byte),), ("store4",), ("s_push",stack(byte),), ("incref",), ], ! 209: [("addo",), ("pop",), ("s_push",stack(byte),), ("store4",), ("s_push",stack(byte),), ("incref",), ("s_push",stack(byte),), ], ! 210: [("immed",char,), ("ccall1",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ], ! 211: [("immed",char,), ("ccall1",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ], ! 212: [("addo",), ("pop",), ("immed",int,), ], ! 213: [("addo",), ("pop",), ("immed",int,), ("store4",), ], ! 214: [("addo",), ("pop",), ("immed",int,), ("store4",), ("immed",int,), ], ! 215: [("addo",), ("pop",), ("immed",int,), ("store4",), ("immed",int,), ("incref",), ], ! 216: [("addo",), ("pop",), ("immed",int,), ("store4",), ("immed",int,), ("incref",), ("s_push",stack(byte),), ], ! 217: [("immed",int,), ("s_push",stack(1),), ("ccall2",indirect(word_t),), ("s_push",stack(0),), ("not",), ], ! 218: [("incref",), ("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("immed",int,), ], ! 219: [("immed",int,), ("ccall4",indirect(word_t),), ("s_push",stack(0),), ], ! 220: [("immed",int,), ("ccall4",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ], ! 221: [("s_push",stack(0),), ("immed",char,), ("addo",), ("pop",), ("load4",), ("s_push",stack(0),), ], ! 222: [("s_push",stack(0),), ("incref",), ("s_push",stack(0),), ("immed",char,), ], ! 223: [("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("load4",), ], ! 224: [("immed",int,), ("retval",), ], ! 225: [("immed",int,), ("retval",), ("settos",stack(byte),), ], ! 226: [("pop",), ("s_push",stack(byte),), ], ! 227: [("immed",char,), ("addo",), ("pop",), ("load4",), ("s_push",stack(0),), ("cbuild2",indirect(word_t),), ], ! 228: [("immed",int,), ("ccall3",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ("s_push",stack(0),), ], ! 229: [("decref",), ("immed",char,), ], ! 230: [("decref",), ("s_push",stack(byte),), ("decref",), ], ! 231: [("decref",), ("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ], ! 232: [("decref",), ("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ("decref",), ], ! 233: [("decref",), ("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ("decref",), ("s_push",stack(byte),), ], ! 234: [("decref",), ("immed",int,), ], ! 235: [("decref",), ("immed",int,), ("incref",), ], ! 236: [("decref",), ("immed",int,), ("incref",), ("immed",int,), ], ! 237: [("s_push",stack(0),), ("immed",0,), ("cmplt",), ("s_push",stack(0),), ], ! 238: [("s_push",stack(byte),), ("s_push",stack(1),), ], ! 239: [("immed",int,), ("ccall3",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ("s_push",stack(0),), ("jcondfar",indirect(word_t),), ], ! 240: [("immed",int,), ("ccall2",indirect(word_t),), ], ! 241: [("immed",int,), ("ccall2",indirect(word_t),), ("s_push",stack(0),), ], ! 242: [("immed",int,), ("ccall2",indirect(word_t),), ("s_push",stack(0),), ("not",), ], ! 243: [("immed",int,), ("ccall2",indirect(word_t),), ("s_push",stack(0),), ("not",), ("jcondfar",indirect(word_t),), ], ! 244: [("incref",), ("s_push",stack(byte),), ("immed",char,), ("addo",), ("pop",), ("immed",int,), ("store4",), ], ! 245: [("immed",char,), ("ccall1",indirect(word_t),), ("s_push",stack(0),), ("immed",0,), ("cmpeq",), ("s_push",stack(0),), ], ! 246: [("store4",), ("s_push",stack(byte),), ], ! 247: [("store4",), ("s_push",stack(byte),), ("incref",), ], ! 248: [("store4",), ("s_push",stack(byte),), ("incref",), ("s_push",stack(byte),), ], ! 249: [("store4",), ("s_push",stack(byte),), ("incref",), ("s_push",stack(byte),), ("immed",char,), ], ! 250: [("immed",int,), ("s_push",stack(1),), ("ccall2",indirect(word_t),), ("s_push",stack(0),), ("not",), ("jcondfar",indirect(word_t),), ], ! 251: [("s_push",stack(0),), ("immed",0,), ("cmpeq",), ("s_push",stack(0),), ("not",), ], ! 252: [("cmpeq",), ("s_push",stack(0),), ("not",), ], ! 253: [("store4",), ("immed",int,), ], ! 254: [("store4",), ("immed",int,), ("incref",), ], ! 255: [("store4",), ("immed",int,), ("incref",), ("s_push",stack(byte),), ], } stackpushes = { 1: 0, 2: 0, ! 3: 1, ! 4: 1, 5: 0, 6: 0, --- 42,83 ---- 41: [("assertdepth",char,), ], 42: [("assertdepth",int,), ], ! 43: [("dynamicfreq",indirect(word_t),), ], ! 44: [("flag_push",), ], ! 45: [("flag_pop",), ], ! 46: [("jcondnear",indirect(code_t),), ], ! 47: [("jcondfar",indirect(word_t),), ], ! 48: [("jumpfar",indirect(word_t),), ], ! 49: [("cbuild1",indirect(word_t),), ], ! 50: [("cbuild2",indirect(word_t),), ], ! 51: [("store1",), ], ! 52: [("store2",), ], ! 53: [("store4",), ], ! 54: [("incref",), ], ! 55: [("decref",), ], ! 56: [("decrefnz",indirect(word_t),), ], ! 57: [("exitframe",), ], ! 58: [("ret",stack(0),), ], ! 59: [("ret",stack(byte),), ], ! 60: [("ret",stack(long),), ], ! 61: [("retval",), ], ! 62: [("pushretval",), ], ! 63: [("pyenter",indirect(word_t),), ], ! 64: [("pyleave",), ], ! 65: [("vmcall",indirect(word_t),), ], ! 66: [("ccall0",indirect(word_t),), ], ! 67: [("ccall1",indirect(word_t),), ], ! 68: [("ccall2",indirect(word_t),), ], ! 69: [("ccall3",indirect(word_t),), ], ! 70: [("ccall4",indirect(word_t),), ], ! 71: [("ccall5",indirect(word_t),), ], ! 72: [("ccall6",indirect(word_t),), ], ! 73: [("ccall7",indirect(word_t),), ], ! 74: [("checkdict",indirect(word_t),indirect(word_t),indirect(word_t),indirect(word_t),), ], } stackpushes = { 1: 0, 2: 0, ! 3: 0, ! 4: 0, 5: 0, 6: 0, *************** *** 269,282 **** 11: -1, 12: -1, ! 13: 0, ! 14: 0, ! 15: 0, 16: -1, 17: -1, 18: -1, 19: -1, ! 20: -1, ! 21: -1, ! 22: -1, 28: 1, 29: 1, --- 88,101 ---- 11: -1, 12: -1, ! 13: -1, ! 14: -1, ! 15: -1, 16: -1, 17: -1, 18: -1, 19: -1, ! 20: -2, ! 21: -2, ! 22: -2, 28: 1, 29: 1, *************** *** 294,505 **** 41: 0, 42: 0, ! 43: -1, ! 44: -1, ! 45: 0, 46: 0, ! 47: -1, ! 48: -2, ! 49: -2, ! 50: -2, ! 51: -1, ! 52: -1, ! 53: 0, ! 54: -3, ! 58: -1, ! 59: 1, ! 60: 0, ! 61: 0, ! 63: 1, 64: 0, ! 65: -1, ! 66: -2, ! 67: -3, ! 68: -4, ! 69: -5, ! 70: -6, ! 71: 0, ! 72: 0, ! 73: 1, 74: 0, - 75: -1, - 76: 0, - 77: 0, - 78: 2, - 79: 1, - 80: 0, - 81: 0, - 82: 1, - 83: 0, - 84: 2, - 85: 0, - 86: 2, - 87: 2, - 88: 1, - 89: 0, - 90: 1, - 91: 0, - 92: 1, - 93: 1, - 94: 0, - 95: 1, - 96: 0, - 97: 2, - 98: 1, - 99: 0, - 100: 2, - 101: 2, - 102: 1, - 103: 1, - 104: 0, - 105: 1, - 106: 1, - 107: 0, - 108: 1, - 109: 2, - 110: 1, - 111: 0, - 112: 2, - 113: 1, - 114: 1, - 115: 0, - 116: 2, - 117: 1, - 118: 0, - 119: 2, - 120: 2, - 121: 1, - 122: 0, - 123: 2, - 124: 0, - 125: 1, - 126: 1, - 127: 2, - 128: -2, - 129: 0, - 130: 1, - 131: 2, - 132: 2, - 133: 1, - 134: 0, - 135: 1, - 136: 0, - 137: 1, - 138: 0, - 139: 1, - 140: -1, - 141: -1, - 142: 0, - 143: 0, - 144: 1, - 145: 2, - 146: 0, - 147: -1, - 148: 0, - 149: 0, - 150: 1, - 151: 0, - 152: 1, - 153: 0, - 154: 0, - 155: 2, - 156: 0, - 157: 0, - 158: 0, - 159: 1, - 160: 2, - 161: 2, - 162: 2, - 163: 1, - 164: 1, - 165: 0, - 166: -1, - 167: -1, - 168: 1, - 169: 1, - 170: 0, - 171: 2, - 172: 0, - 173: 2, - 174: 1, - 175: 0, - 176: 2, - 177: 1, - 178: 1, - 179: 1, - 180: -1, - 181: 1, - 182: 1, - 183: -1, - 184: 0, - 185: 1, - 186: 1, - 187: 1, - 188: 1, - 189: 0, - 190: -1, - 191: 1, - 192: -1, - 193: 0, - 194: 2, - 195: 1, - 196: 0, - 197: 1, - 198: 1, - 199: 0, - 200: 3, - 201: 2, - 202: 2, - 203: 2, - 204: 2, - 205: 0, - 206: -2, - 207: -1, - 208: -2, - 209: -1, - 210: 3, - 211: 2, - 212: 0, - 213: -2, - 214: -1, - 215: -2, - 216: -1, - 217: 2, - 218: 1, - 219: -1, - 220: 0, - 221: 2, - 222: 2, - 223: 1, - 224: 0, - 226: 0, - 227: 0, - 228: 1, - 229: 0, - 230: -1, - 231: 0, - 232: -1, - 233: 0, - 234: 0, - 235: -1, - 236: 0, - 237: 2, - 238: 2, - 239: 0, - 240: 0, - 241: 1, - 242: 1, - 243: 0, - 244: -1, - 245: 3, - 246: -1, - 247: -2, - 248: -1, - 249: 0, - 250: 1, - 251: 2, - 252: 0, - 253: -1, - 254: -2, - 255: -1, } chainable = { --- 113,144 ---- 41: 0, 42: 0, ! 43: 0, ! 44: 1, ! 45: -1, 46: 0, ! 47: 0, ! 48: 0, ! 49: 0, ! 50: -1, ! 51: -2, ! 52: -2, ! 53: -2, ! 54: -1, ! 55: -1, ! 56: 0, ! 57: -3, ! 61: -1, ! 62: 1, ! 63: 0, 64: 0, ! 66: 1, ! 67: 0, ! 68: -1, ! 69: -2, ! 70: -3, ! 71: -4, ! 72: -5, ! 73: -6, 74: 0, } chainable = { *************** *** 541,558 **** 41: 1, 42: 1, ! 48: 1, ! 49: 1, ! 50: 1, 51: 1, 52: 1, 53: 1, 54: 1, ! 58: 1, ! 59: 1, ! 60: 1, 61: 1, 63: 1, 64: 1, - 65: 1, 66: 1, 67: 1, --- 180,196 ---- 41: 1, 42: 1, ! 44: 1, ! 45: 1, 51: 1, 52: 1, 53: 1, 54: 1, ! 55: 1, ! 56: 1, ! 57: 1, 61: 1, + 62: 1, 63: 1, 64: 1, 66: 1, 67: 1, *************** *** 560,730 **** 69: 1, 70: 1, 73: 1, 74: 1, - 75: 1, - 76: 1, - 77: 1, - 78: 1, - 79: 1, - 81: 1, - 82: 1, - 83: 1, - 84: 1, - 85: 1, - 86: 1, - 87: 1, - 88: 1, - 89: 1, - 90: 1, - 91: 1, - 93: 1, - 94: 1, - 95: 1, - 96: 1, - 97: 1, - 98: 1, - 99: 1, - 100: 1, - 101: 1, - 102: 1, - 103: 1, - 104: 1, - 105: 1, - 106: 1, - 107: 1, - 108: 1, - 109: 1, - 110: 1, - 112: 1, - 113: 1, - 115: 1, - 116: 1, - 117: 1, - 119: 1, - 120: 1, - 121: 1, - 122: 1, - 123: 1, - 124: 1, - 125: 1, - 126: 1, - 127: 1, - 128: 1, - 129: 1, - 131: 1, - 132: 1, - 133: 1, - 134: 1, - 135: 1, - 136: 1, - 137: 1, - 138: 1, - 140: 1, - 141: 1, - 142: 1, - 143: 1, - 144: 1, - 145: 1, - 146: 1, - 147: 1, - 148: 1, - 149: 1, - 150: 1, - 151: 1, - 152: 1, - 153: 1, - 154: 1, - 155: 1, - 156: 1, - 157: 1, - 158: 1, - 159: 1, - 160: 1, - 161: 1, - 162: 1, - 163: 1, - 164: 1, - 165: 1, - 166: 1, - 167: 1, - 168: 1, - 169: 1, - 171: 1, - 172: 1, - 173: 1, - 174: 1, - 175: 1, - 176: 1, - 177: 1, - 178: 1, - 179: 1, - 180: 1, - 181: 1, - 182: 1, - 183: 1, - 184: 1, - 185: 1, - 186: 1, - 187: 1, - 188: 1, - 191: 1, - 192: 1, - 193: 1, - 194: 1, - 195: 1, - 196: 1, - 197: 1, - 198: 1, - 199: 1, - 200: 1, - 201: 1, - 202: 1, - 203: 1, - 204: 1, - 205: 1, - 206: 1, - 207: 1, - 208: 1, - 209: 1, - 210: 1, - 211: 1, - 212: 1, - 213: 1, - 214: 1, - 215: 1, - 216: 1, - 217: 1, - 218: 1, - 219: 1, - 220: 1, - 221: 1, - 222: 1, - 223: 1, - 224: 1, - 226: 1, - 228: 1, - 229: 1, - 230: 1, - 231: 1, - 232: 1, - 233: 1, - 234: 1, - 235: 1, - 236: 1, - 237: 1, - 238: 1, - 240: 1, - 241: 1, - 242: 1, - 244: 1, - 245: 1, - 246: 1, - 247: 1, - 248: 1, - 249: 1, - 251: 1, - 252: 1, - 253: 1, - 254: 1, - 255: 1, } --- 198,204 ---- 69: 1, 70: 1, + 71: 1, + 72: 1, 73: 1, 74: 1, } Index: insns-threaded.i.default =================================================================== RCS file: /cvsroot/psyco/psyco/c/ivm/prolog/insns-threaded.i.default,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** insns-threaded.i.default 19 Sep 2003 11:28:19 -0000 1.3 --- insns-threaded.i.default 29 Sep 2003 07:42:03 -0000 1.4 *************** *** 3,8 **** &&lblopcode1, /* [not] */ &&lblopcode2, /* [inv] */ ! &&lblopcode3, /* [abso] */ ! &&lblopcode4, /* [nego] */ &&lblopcode5, /* [load1] */ &&lblopcode6, /* [load1u] */ --- 3,8 ---- &&lblopcode1, /* [not] */ &&lblopcode2, /* [inv] */ ! &&lblopcode3, /* [abs_o] */ [...4668 lines suppressed...] ! word_t local2; ! word_t local3; ! word_t local4; ! local1 = bytecode_next(word_t); ! local2 = bytecode_next(code_t); ! *(long*)stack_nth(0) = accum; ! impl_incref(local1); ! local3 = stack_nth(local2+1); ! local4 = local3; ! accum = local4; ! stack_shift_pos(1); } goto *opcodetable[bytecode_nextopcode()]; --- 1116,1121 ---- local3 = bytecode_next(word_t); local4 = bytecode_next(word_t); ! local5 = impl_checkdict(local1, local2, local3, local4); ! flag = local5; } goto *opcodetable[bytecode_nextopcode()]; Index: mode_combine.pl.default =================================================================== RCS file: /cvsroot/psyco/psyco/c/ivm/prolog/mode_combine.pl.default,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** mode_combine.pl.default 5 Sep 2003 21:42:12 -0000 1.2 --- mode_combine.pl.default 29 Sep 2003 07:42:03 -0000 1.3 *************** *** 1,184 **** ! mode_combine([s_push(0), jcondfar(indirect(word_t))]). % 72 ! mode_combine([immed(char), addo]). % 73 ! mode_combine([immed(char), addo, pop]). % 74 ! mode_combine([pop, load4]). % 75 ! mode_combine([cmpeq, s_push(0)]). % 76 ! mode_combine([s_push(1:255), decref]). % 77 ! mode_combine([s_push(0), immed(0)]). % 78 ! mode_combine([s_push(0), not]). % 79 ! mode_combine([s_push(0), not, jcondfar(indirect(word_t))]). % 80 ! mode_combine([immed(char), addo, pop, load4]). % 81 ! mode_combine([s_push(0), immed(0), cmpeq]). % 82 ! mode_combine([decref, s_push(0:255)]). % 83 ! mode_combine([s_push(1:255), immed(char)]). % 84 ! mode_combine([ccall2(indirect(word_t)), s_push(0)]). % 85 ! mode_combine([s_push(0), immed(0), cmpeq, s_push(0)]). % 86 ! mode_combine([s_push(1:255), immed(char), addo]). % 87 ! mode_combine([s_push(1:255), immed(char), addo, pop]). % 88 ! mode_combine([incref, s_push(0:255)]). % 89 ! mode_combine([immed(char), addo, pop, load4, s_push(0)]). % 90 ! mode_combine([s_push(0), incref]). % 91 ! mode_combine([s_push(0), immed(0), cmpeq, s_push(0), jcondfar(indirect(word_t))]). % 92 ! mode_combine([s_push(1:255), immed(char), addo, pop, load4]). % 93 ! mode_combine([s_push(1:255), ccall2(indirect(word_t))]). % 94 ! mode_combine([s_push(1:255), decref, s_push(1:255)]). % 95 ! mode_combine([immed(int), incref]). % 96 ! mode_combine([s_push(1:255), immed(char), addo, pop, load4, s_push(0)]). % 97 ! mode_combine([s_push(1:255), ccall2(indirect(word_t)), s_push(0)]). % 98 ! mode_combine([s_push(1:255), decref, s_push(1:255), decref]). % 99 ! mode_combine([immed(int), s_push(1)]). % 100 ! mode_combine([immed(int), immed(int)]). % 101 ! mode_combine([incref, s_push(0:255), immed(char)]). % 102 ! mode_combine([incref, s_push(0:255), immed(char), addo]). % 103 ! mode_combine([incref, s_push(0:255), immed(char), addo, pop]). % 104 ! mode_combine([immed(int), s_push(1), ccall2(indirect(word_t))]). % 105 ! mode_combine([ccall2(indirect(word_t)), s_push(0), immed(0)]). % 106 ! mode_combine([ccall2(indirect(word_t)), s_push(0), immed(0), cmpeq]). % 107 ! mode_combine([ccall1(indirect(word_t)), s_push(0)]). % 108 ! mode_combine([immed(int), s_push(1), ccall2(indirect(word_t)), s_push(0)]). % 109 ! mode_combine([immed(char), addo, pop, load4, s_push(0), not]). % 110 ! mode_combine([immed(char), addo, pop, load4, s_push(0), not, jcondfar(indirect(word_t))]). % 111 ! mode_combine([ccall1(indirect(word_t)), s_push(0), immed(0)]). % 112 ! mode_combine([ccall1(indirect(word_t)), s_push(0), immed(0), cmpeq]). % 113 ! mode_combine([s_push(1:255), immed(char), addo, pop, load4, s_push(0), cbuild2(indirect(word_t))]). % 114 ! mode_combine([immed(0), cmplt]). % 115 ! mode_combine([s_push(0), immed(char)]). % 116 ! mode_combine([ccall2(indirect(word_t)), s_push(0), immed(0), cmpeq, s_push(0)]). % 117 ! mode_combine([ccall2(indirect(word_t)), s_push(0), immed(0), cmpeq, s_push(0), jcondfar(indirect(word_t))]). % 118 ! mode_combine([ccall1(indirect(word_t)), s_push(0), immed(0), cmpeq, s_push(0)]). % 119 ! mode_combine([s_push(1:255), immed(int)]). % 120 ! mode_combine([pyleave, s_push(1:255)]). % 121 ! mode_combine([s_push(1:255), s_pop(2:255)]). % 122 ! mode_combine([immed(int), s_push(2:255)]). % 123 ! mode_combine([incref, immed(0)]). % 124 ! mode_combine([s_push(1:255), decref, s_push(1:255), decref, s_push(1:255)]). % 125 ! mode_combine([immed(char), addo, pop, s_push(1:255)]). % 126 ! mode_combine([s_push(1:255), s_push(2:255)]). % 127 ! mode_combine([immed(int), ccall4(indirect(word_t))]). % 128 ! mode_combine([immed(int), cmpeq]). % 129 ! mode_combine([ccall1(indirect(word_t)), s_push(0), immed(0), cmpeq, s_push(0), jcondfar(indirect(word_t))]). % 130 ! mode_combine([s_push(1:255), immed(char), addo, pop, load4, s_push(0), not]). % 131 ! mode_combine([s_push(0), immed(char), addo]). % 132 ! mode_combine([s_push(0), immed(char), addo, pop]). % 133 ! mode_combine([immed(0), retval]). % 134 ! mode_combine([decref, s_push(0:255), immed(char)]). % 135 ! mode_combine([pyleave, s_push(1:255), decref]). % 136 ! mode_combine([decref, s_push(0:255), immed(char), addo]). % 137 ! mode_combine([decref, s_push(0:255), immed(char), addo, pop]). % 138 ! mode_combine([immed(int), s_push(1), ccall2(indirect(word_t)), s_push(0), jcondfar(indirect(word_t))]). % 139 ! mode_combine([immed(int), ccall3(indirect(word_t))]). % 140 ! mode_combine([immed(char), addo, pop, s_push(1:255), store4]). % 141 ! mode_combine([immed(char), addo, pop, s_push(1:255), store4, s_push(0:255)]). % 142 ! mode_combine([cmpltu, s_push(0)]). % 143 ! mode_combine([immed(char), addo, pop, immed(int)]). % 144 ! mode_combine([s_push(1:255), immed(char), addo, pop, s_push(2:255)]). % 145 ! mode_combine([s_push(1:255), immed(char), addo, pop, s_push(2:255), store4]). % 146 ! mode_combine([immed(char), addo, pop, immed(int), store4]). % 147 ! mode_combine([immed(char), addo, pop, immed(int), store4, immed(int)]). % 148 ! mode_combine([immed(int), ccall3(indirect(word_t)), s_push(0)]). % 149 ! mode_combine([immed(int), incref, immed(int)]). % 150 ! mode_combine([immed(int), incref, immed(int), retval]). % 151 ! mode_combine([s_push(0), incref, s_push(0)]). % 152 ! mode_combine([s_push(1:255), decref, s_push(1:255), decref, s_push(1:255), decref]). % 153 ! mode_combine([s_pop(1:255), s_push(0:255)]). % 154 ! mode_combine([immed(0), immed(int)]). % 155 ! mode_combine([decref, s_push(0:255), immed(char), addo, pop, load4]). % 156 ! mode_combine([decref, immed(0)]). % 157 ! mode_combine([incref, s_push(0:255), immed(char), addo, pop, load4]). % 158 ! mode_combine([immed(char), ccall1(indirect(word_t))]). % 159 ! mode_combine([s_push(1:255), immed(0)]). % 160 ! mode_combine([immed(0), s_push(2:255)]). % 161 ! mode_combine([pushretval, s_push(0)]). % 162 ! mode_combine([pyleave, pushretval]). % 163 ! mode_combine([immed(int), ccall3(indirect(word_t)), s_push(0), immed(0)]). % 164 ! mode_combine([immed(int), ccall3(indirect(word_t)), s_push(0), immed(0), cmpeq]). % 165 ! mode_combine([s_push(1:255), ccall3(indirect(word_t))]). % 166 ! mode_combine([immed(char), addo, pop, s_push(1:255), store4, s_push(0:255), incref]). % 167 ! mode_combine([pyenter(indirect(word_t)), s_push(1:255)]). % 168 ! mode_combine([immed(0), cmplt, s_push(0)]). % 169 ! mode_combine([immed(0), cmplt, s_push(0), jcondfar(indirect(word_t))]). % 170 ! mode_combine([s_push(1:255), ccall2(indirect(word_t)), s_push(0), immed(0)]). % 171 ! mode_combine([immed(0), ccall2(indirect(word_t))]). % 172 ! mode_combine([s_push(1:255), decref, s_push(1:255), immed(char)]). % 173 ! mode_combine([immed(int), immed(int), ccall2(indirect(word_t))]). % 174 ! mode_combine([pop, load4, immed(0)]). % 175 ! mode_combine([immed(char), ccall1(indirect(word_t)), s_push(0)]). % 176 ! mode_combine([s_push(1:255), ccall2(indirect(word_t)), s_push(0), immed(0), cmpeq]). % 177 ! mode_combine([s_push(0), incref, s_push(1:255)]). % 178 ! mode_combine([s_push(0), immed(0), cmplt]). % 179 ! mode_combine([immed(char), addo, pop, immed(int), store4, immed(int), incref]). % 180 ! mode_combine([s_push(1:255), immed(char), addo, pop, s_push(2:255), store4, s_push(1:255)]). % 181 ! mode_combine([s_push(0), immed(char), addo, pop, load4]). % 182 ! mode_combine([addo, pop]). % 183 ! mode_combine([immed(0), cmpeq]). % 184 ! mode_combine([immed(0), cmpeq, s_push(0)]). % 185 ! mode_combine([immed(0), cmpeq, s_push(0), not]). % 186 ! mode_combine([decref, s_push(0:255), immed(char), addo, pop, load4, s_push(0)]). % 187 ! mode_combine([load4, s_push(0)]). % 188 ! mode_combine([immed(0), cmpeq, s_push(0), not, jcondfar(indirect(word_t))]). % 189 ! mode_combine([cmpeq, s_push(0), jcondfar(indirect(word_t))]). % 190 ! mode_combine([incref, s_push(0:255), immed(char), addo, pop, load4, s_push(0)]). % 191 ! mode_combine([immed(int), immed(int), ccall4(indirect(word_t))]). % 192 ! mode_combine([s_push(1:255), cmpltu]). % 193 ! mode_combine([s_push(1:255), decref, s_push(1:255), immed(char), addo]). % 194 ! mode_combine([s_push(1:255), decref, s_push(1:255), immed(char), addo, pop]). % 195 ! mode_combine([s_push(1:255), ccall3(indirect(word_t)), s_push(0)]). % 196 ! mode_combine([s_push(1:255), decref, immed(int)]). % 197 ! mode_combine([immed(int), cmpeq, s_push(0)]). % 198 ! mode_combine([cmpltu, s_push(0), not]). % 199 ! mode_combine([pushretval, s_push(0), immed(0)]). % 200 ! mode_combine([pushretval, s_push(0), immed(0), cmpeq]). % 201 ! mode_combine([pyleave, pushretval, s_push(0)]). % 202 ! mode_combine([s_push(1:255), ccall2(indirect(word_t)), s_push(0), immed(0), cmpeq, s_push(0)]). % 203 ! mode_combine([immed(int), immed(int), ccall2(indirect(word_t)), s_push(0)]). % 204 ! mode_combine([addo, pop, s_push(1:255)]). % 205 ! mode_combine([addo, pop, s_push(1:255), store4]). % 206 ! mode_combine([addo, pop, s_push(1:255), store4, s_push(0:255)]). % 207 ! mode_combine([addo, pop, s_push(1:255), store4, s_push(0:255), incref]). % 208 ! mode_combine([addo, pop, s_push(1:255), store4, s_push(0:255), incref, s_push(0:255)]). % 209 ! mode_combine([immed(char), ccall1(indirect(word_t)), s_push(0), immed(0)]). % 210 ! mode_combine([immed(char), ccall1(indirect(word_t)), s_push(0), immed(0), cmpeq]). % 211 ! mode_combine([addo, pop, immed(int)]). % 212 ! mode_combine([addo, pop, immed(int), store4]). % 213 ! mode_combine([addo, pop, immed(int), store4, immed(int)]). % 214 ! mode_combine([addo, pop, immed(int), store4, immed(int), incref]). % 215 ! mode_combine([addo, pop, immed(int), store4, immed(int), incref, s_push(0:255)]). % 216 ! mode_combine([immed(int), s_push(1), ccall2(indirect(word_t)), s_push(0), not]). % 217 ! mode_combine([incref, s_push(0:255), immed(char), addo, pop, immed(int)]). % 218 ! mode_combine([immed(int), ccall4(indirect(word_t)), s_push(0)]). % 219 ! mode_combine([immed(int), ccall4(indirect(word_t)), s_push(0), immed(0)]). % 220 ! mode_combine([s_push(0), immed(char), addo, pop, load4, s_push(0)]). % 221 ! mode_combine([s_push(0), incref, s_push(0), immed(char)]). % 222 ! mode_combine([s_push(1:255), decref, s_push(1:255), immed(char), addo, pop, load4]). % 223 ! mode_combine([immed(int), retval]). % 224 ! mode_combine([immed(int), retval, settos(1:255)]). % 225 ! mode_combine([pop, s_push(0:255)]). % 226 ! mode_combine([immed(char), addo, pop, load4, s_push(0), cbuild2(indirect(word_t))]). % 227 ! mode_combine([immed(int), ccall3(indirect(word_t)), s_push(0), immed(0), cmpeq, s_push(0)]). % 228 ! mode_combine([decref, immed(char)]). % 229 ! mode_combine([decref, s_push(0:255), decref]). % 230 ! mode_combine([decref, s_push(0:255), decref, s_push(0:255)]). % 231 ! mode_combine([decref, s_push(0:255), decref, s_push(0:255), decref]). % 232 ! mode_combine([decref, s_push(0:255), decref, s_push(0:255), decref, s_push(0:255)]). % 233 ! mode_combine([decref, immed(int)]). % 234 ! mode_combine([decref, immed(int), incref]). % 235 ! mode_combine([decref, immed(int), incref, immed(int)]). % 236 ! mode_combine([s_push(0), immed(0), cmplt, s_push(0)]). % 237 ! mode_combine([s_push(1:255), s_push(1)]). % 238 ! mode_combine([immed(int), ccall3(indirect(word_t)), s_push(0), immed(0), cmpeq, s_push(0), jcondfar(indirect(word_t))]). % 239 ! mode_combine([immed(int), ccall2(indirect(word_t))]). % 240 ! mode_combine([immed(int), ccall2(indirect(word_t)), s_push(0)]). % 241 ! mode_combine([immed(int), ccall2(indirect(word_t)), s_push(0), not]). % 242 ! mode_combine([immed(int), ccall2(indirect(word_t)), s_push(0), not, jcondfar(indirect(word_t))]). % 243 ! mode_combine([incref, s_push(0:255), immed(char), addo, pop, immed(int), store4]). % 244 ! mode_combine([immed(char), ccall1(indirect(word_t)), s_push(0), immed(0), cmpeq, s_push(0)]). % 245 ! mode_combine([store4, s_push(0:255)]). % 246 ! mode_combine([store4, s_push(0:255), incref]). % 247 ! mode_combine([store4, s_push(0:255), incref, s_push(0:255)]). % 248 ! mode_combine([store4, s_push(0:255), incref, s_push(0:255), immed(char)]). % 249 ! mode_combine([immed(int), s_push(1), ccall2(indirect(word_t)), s_push(0), not, jcondfar(indirect(word_t))]). % 250 ! mode_combine([s_push(0), immed(0), cmpeq, s_push(0), not]). % 251 ! mode_combine([cmpeq, s_push(0), not]). % 252 ! mode_combine([store4, immed(int)]). % 253 ! mode_combine([store4, immed(int), incref]). % 254 ! mode_combine([store4, immed(int), incref, s_push(0:255)]). % 255 --- 1 ---- ! |