Branch: Tag:

2001-07-27

2001-07-27 15:02:05 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Added OPCODE[0-2]_{,TAIL}RETURN() to simplify JIT handling.

Rev: src/interpret.c:1.236
Rev: src/interpret_functions.h:1.84
Rev: src/interpreter.h:1.72
Rev: src/lex.c:1.100
Rev: src/opcodes.h:1.23

278:   #define OPCODE1_TAIL(OP, DESC, CODE) CASE(OP); CODE   #define OPCODE2_TAIL(OP, DESC, CODE) CASE(OP); CODE    + #define OPCODE0_RETURN(OP, DESC, CODE) OPCODE0(OP, DESC, CODE) + #define OPCODE1_RETURN(OP, DESC, CODE) OPCODE1(OP, DESC, CODE) + #define OPCODE2_RETURN(OP, DESC, CODE) OPCODE2(OP, DESC, CODE) + #define OPCODE0_TAILRETURN(OP, DESC, CODE) OPCODE0_TAIL(OP, DESC, CODE) + #define OPCODE1_TAILRETURN(OP, DESC, CODE) OPCODE1_TAIL(OP, DESC, CODE) + #define OPCODE2_TAILRETURN(OP, DESC, CODE) OPCODE2_TAIL(OP, DESC, CODE) +    #define OPCODE0_JUMP(OP, DESC, CODE) CASE(OP); CODE; DONE   #define OPCODE0_TAILJUMP(OP, DESC, CODE) CASE(OP); CODE   
341:   #define OPCODE0_TAILJUMP(OP,DESC) LABEL(OP),   #define OPCODE1_TAILJUMP(OP,DESC) LABEL(OP),   #define OPCODE2_TAILJUMP(OP,DESC) LABEL(OP), + #define OPCODE0_RETURN(OP,DESC) LABEL(OP), + #define OPCODE1_RETURN(OP,DESC) LABEL(OP), + #define OPCODE2_RETURN(OP,DESC) LABEL(OP), + #define OPCODE0_TAILRETURN(OP,DESC) LABEL(OP), + #define OPCODE1_TAILRETURN(OP,DESC) LABEL(OP), + #define OPCODE2_TAILRETURN(OP,DESC) LABEL(OP),       init_strap:    strap = &&normal_strap;