opcodes.h | opcodes.h | |||
---|---|---|---|---|
UNARY_SB(absb, "ORC_ABS(%s)") | UNARY_SB(absb, "ORC_ABS(%s)") | |||
BINARY_SB(addb, "%s + %s") | BINARY_SB(addb, "%s + %s") | |||
BINARY_SB(addssb, "ORC_CLAMP_SB(%s + %s)") | BINARY_SB(addssb, "ORC_CLAMP_SB(%s + %s)") | |||
BINARY_UB(addusb, "ORC_CLAMP_UB(%s + %s)") | BINARY_UB(addusb, "ORC_CLAMP_UB((uint8_t)%s + (uint8_t)%s)") | |||
BINARY_SB(andb, "%s & %s") | BINARY_SB(andb, "%s & %s") | |||
BINARY_SB(andnb, "%s & (~%s)") | BINARY_SB(andnb, "%s & (~%s)") | |||
BINARY_SB(avgsb, "(%s + %s + 1)>>1") | BINARY_SB(avgsb, "(%s + %s + 1)>>1") | |||
BINARY_UB(avgub, "(%s + %s + 1)>>1") | BINARY_UB(avgub, "((uint8_t)%s + (uint8_t)%s + 1)>>1") | |||
BINARY_SB(cmpeqb, "(%s == %s) ? (~0) : 0") | BINARY_SB(cmpeqb, "(%s == %s) ? (~0) : 0") | |||
BINARY_SB(cmpgtsb, "(%s > %s) ? (~0) : 0") | BINARY_SB(cmpgtsb, "(%s > %s) ? (~0) : 0") | |||
UNARY_SB(copyb, "%s") | UNARY_SB(copyb, "%s") | |||
BINARY_SB(maxsb, "ORC_MAX(%s, %s)") | BINARY_SB(maxsb, "ORC_MAX(%s, %s)") | |||
BINARY_UB(maxub, "ORC_MAX(%s, %s)") | BINARY_UB(maxub, "ORC_MAX(%s, %s)") | |||
BINARY_SB(minsb, "ORC_MIN(%s, %s)") | BINARY_SB(minsb, "ORC_MIN(%s, %s)") | |||
BINARY_UB(minub, "ORC_MIN(%s, %s)") | BINARY_UB(minub, "ORC_MIN(%s, %s)") | |||
BINARY_SB(mullb, "(%s * %s) & 0xff") | BINARY_SB(mullb, "(%s * %s) & 0xff") | |||
BINARY_SB(mulhsb, "(%s * %s) >> 8") | BINARY_SB(mulhsb, "(%s * %s) >> 8") | |||
BINARY_UB(mulhub, "(%s * %s) >> 8") | BINARY_UB(mulhub, "(%s * %s) >> 8") | |||
skipping to change at line 32 | skipping to change at line 32 | |||
BINARY_UB(shrub, "((uint8_t)%s) >> %s") | BINARY_UB(shrub, "((uint8_t)%s) >> %s") | |||
UNARY_SB(signb, "ORC_CLAMP(%s,-1,1)") | UNARY_SB(signb, "ORC_CLAMP(%s,-1,1)") | |||
BINARY_SB(subb, "%s - %s") | BINARY_SB(subb, "%s - %s") | |||
BINARY_SB(subssb, "ORC_CLAMP_SB(%s - %s)") | BINARY_SB(subssb, "ORC_CLAMP_SB(%s - %s)") | |||
BINARY_UB(subusb, "ORC_CLAMP_UB((uint8_t)%s - (uint8_t)%s)") | BINARY_UB(subusb, "ORC_CLAMP_UB((uint8_t)%s - (uint8_t)%s)") | |||
BINARY_SB(xorb, "%s ^ %s") | BINARY_SB(xorb, "%s ^ %s") | |||
UNARY_SW(absw, "ORC_ABS(%s)") | UNARY_SW(absw, "ORC_ABS(%s)") | |||
BINARY_SW(addw, "%s + %s") | BINARY_SW(addw, "%s + %s") | |||
BINARY_SW(addssw, "ORC_CLAMP_SW(%s + %s)") | BINARY_SW(addssw, "ORC_CLAMP_SW(%s + %s)") | |||
BINARY_UW(addusw, "ORC_CLAMP_UW(%s + %s)") | BINARY_UW(addusw, "ORC_CLAMP_UW((uint16_t)%s + (uint16_t)%s)") | |||
BINARY_SW(andw, "%s & %s") | BINARY_SW(andw, "%s & %s") | |||
BINARY_SW(andnw, "%s & (~%s)") | BINARY_SW(andnw, "%s & (~%s)") | |||
BINARY_SW(avgsw, "(%s + %s + 1)>>1") | BINARY_SW(avgsw, "(%s + %s + 1)>>1") | |||
BINARY_UW(avguw, "(%s + %s + 1)>>1") | BINARY_UW(avguw, "((uint16_t)%s + (uint16_t)%s + 1)>>1") | |||
BINARY_SW(cmpeqw, "(%s == %s) ? (~0) : 0") | BINARY_SW(cmpeqw, "(%s == %s) ? (~0) : 0") | |||
BINARY_SW(cmpgtsw, "(%s > %s) ? (~0) : 0") | BINARY_SW(cmpgtsw, "(%s > %s) ? (~0) : 0") | |||
UNARY_SW(copyw, "%s") | UNARY_SW(copyw, "%s") | |||
BINARY_SW(maxsw, "ORC_MAX(%s, %s)") | BINARY_SW(maxsw, "ORC_MAX(%s, %s)") | |||
BINARY_UW(maxuw, "ORC_MAX(%s, %s)") | BINARY_UW(maxuw, "ORC_MAX(%s, %s)") | |||
BINARY_SW(minsw, "ORC_MIN(%s, %s)") | BINARY_SW(minsw, "ORC_MIN(%s, %s)") | |||
BINARY_UW(minuw, "ORC_MIN(%s, %s)") | BINARY_UW(minuw, "ORC_MIN(%s, %s)") | |||
BINARY_SW(mullw, "(%s * %s) & 0xffff") | BINARY_SW(mullw, "(%s * %s) & 0xffff") | |||
BINARY_SW(mulhsw, "(%s * %s) >> 16") | BINARY_SW(mulhsw, "(%s * %s) >> 16") | |||
BINARY_UW(mulhuw, "(%s * %s) >> 16") | BINARY_UW(mulhuw, "(%s * %s) >> 16") | |||
BINARY_SW(orw, "%s | %s") | BINARY_SW(orw, "%s | %s") | |||
BINARY_SW(shlw, "%s << %s") | BINARY_SW(shlw, "%s << %s") | |||
BINARY_SW(shrsw, "%s >> %s") | BINARY_SW(shrsw, "%s >> %s") | |||
BINARY_UW(shruw, "%s >> %s") | BINARY_UW(shruw, "%s >> %s") | |||
UNARY_SW(signw, "ORC_CLAMP(%s,-1,1)") | UNARY_SW(signw, "ORC_CLAMP(%s,-1,1)") | |||
BINARY_SW(subw, "%s - %s") | BINARY_SW(subw, "%s - %s") | |||
BINARY_SW(subssw, "ORC_CLAMP_SW(%s - %s)") | BINARY_SW(subssw, "ORC_CLAMP_SW(%s - %s)") | |||
BINARY_UW(subusw, "ORC_CLAMP_UW(%s - %s)") | BINARY_UW(subusw, "ORC_CLAMP_UW((uint16_t)%s - (uint16_t)%s)") | |||
BINARY_SW(xorw, "%s ^ %s") | BINARY_SW(xorw, "%s ^ %s") | |||
UNARY_SL(absl, "ORC_ABS(%s)") | UNARY_SL(absl, "ORC_ABS(%s)") | |||
BINARY_SL(addl, "%s + %s") | BINARY_SL(addl, "%s + %s") | |||
BINARY_SL(addssl, "ORC_CLAMP_SL((int64_t)%s + (int64_t)%s)") | BINARY_SL(addssl, "ORC_CLAMP_SL((int64_t)%s + (int64_t)%s)") | |||
BINARY_UL(addusl, "ORC_CLAMP_UL((uint64_t)%s + (uint64_t)%s)") | BINARY_UL(addusl, "ORC_CLAMP_UL((uint64_t)%s + (uint64_t)%s)") | |||
BINARY_SL(andl, "%s & %s") | BINARY_SL(andl, "%s & %s") | |||
BINARY_SL(andnl, "%s & (~%s)") | BINARY_SL(andnl, "%s & (~%s)") | |||
BINARY_SL(avgsl, "(%s + %s + 1)>>1") | BINARY_SL(avgsl, "(%s + %s + 1)>>1") | |||
BINARY_UL(avgul, "(%s + %s + 1)>>1") | BINARY_UL(avgul, "((uint32_t)%s + (uint32_t)%s + 1)>>1") | |||
BINARY_SL(cmpeql, "(%s == %s) ? (~0) : 0") | BINARY_SL(cmpeql, "(%s == %s) ? (~0) : 0") | |||
BINARY_SL(cmpgtsl, "(%s > %s) ? (~0) : 0") | BINARY_SL(cmpgtsl, "(%s > %s) ? (~0) : 0") | |||
UNARY_SL(copyl, "%s") | UNARY_SL(copyl, "%s") | |||
BINARY_SL(maxsl, "ORC_MAX(%s, %s)") | BINARY_SL(maxsl, "ORC_MAX(%s, %s)") | |||
BINARY_UL(maxul, "ORC_MAX(%s, %s)") | BINARY_UL(maxul, "ORC_MAX(%s, %s)") | |||
BINARY_SL(minsl, "ORC_MIN(%s, %s)") | BINARY_SL(minsl, "ORC_MIN(%s, %s)") | |||
BINARY_UL(minul, "ORC_MIN(%s, %s)") | BINARY_UL(minul, "ORC_MIN(%s, %s)") | |||
BINARY_SL(mulll, "(%s * %s) & 0xffffffff") | BINARY_SL(mulll, "(%s * %s) & 0xffffffff") | |||
BINARY_SL(mulhsl, "((int64_t)%s * (int64_t)%s) >> 32") | BINARY_SL(mulhsl, "((int64_t)%s * (int64_t)%s) >> 32") | |||
BINARY_UL(mulhul, "((uint64_t)%s * (uint64_t)%s) >> 32") | BINARY_UL(mulhul, "((uint64_t)%s * (uint64_t)%s) >> 32") | |||
skipping to change at line 101 | skipping to change at line 101 | |||
UNARY_WB(convsuswb, "ORC_CLAMP_UB(%s)") | UNARY_WB(convsuswb, "ORC_CLAMP_UB(%s)") | |||
UNARY_WB(convusswb, "ORC_CLAMP_SB(%s)") | UNARY_WB(convusswb, "ORC_CLAMP_SB(%s)") | |||
UNARY_WB(convuuswb, "ORC_CLAMP_UB(%s)") | UNARY_WB(convuuswb, "ORC_CLAMP_UB(%s)") | |||
UNARY_LW(convlw, "%s") | UNARY_LW(convlw, "%s") | |||
UNARY_LW(convssslw, "ORC_CLAMP_SW(%s)") | UNARY_LW(convssslw, "ORC_CLAMP_SW(%s)") | |||
UNARY_LW(convsuslw, "ORC_CLAMP_UW(%s)") | UNARY_LW(convsuslw, "ORC_CLAMP_UW(%s)") | |||
UNARY_LW(convusslw, "ORC_CLAMP_SW(%s)") | UNARY_LW(convusslw, "ORC_CLAMP_SW(%s)") | |||
UNARY_LW(convuuslw, "ORC_CLAMP_UW(%s)") | UNARY_LW(convuuslw, "ORC_CLAMP_UW(%s)") | |||
BINARY_BW(mulsbw, "%s * %s") | BINARY_BW(mulsbw, "%s * %s") | |||
BINARY_BW(mulubw, "%s * %s") | BINARY_BW(mulubw, "(uint8_t)%s * (uint8_t)%s") | |||
BINARY_WL(mulswl, "%s * %s") | BINARY_WL(mulswl, "%s * %s") | |||
BINARY_WL(muluwl, "%s * %s") | BINARY_WL(muluwl, "(uint16_t)%s * (uint16_t)%s") | |||
BINARY_WL(mergewl, "(%s << 16) | (%s)") | BINARY_WL(mergewl, "((uint16_t)%s) | ((uint16_t)%s << 16)") | |||
BINARY_BW(mergebw, "(%s << 8) | (%s)") | BINARY_BW(mergebw, "((uint8_t)%s) | ((uint8_t)%s << 8)") | |||
UNARY_WB(select0wb, "(%s >> 8)&0xff") | UNARY_WB(select0wb, "(uint16_t)%s & 0xff") | |||
UNARY_WB(select1wb, "%s & 0xff") | UNARY_WB(select1wb, "((uint16_t)%s >> 8)&0xff") | |||
UNARY_LW(select0lw, "(%s >> 16)&0xffff") | UNARY_LW(select0lw, "(uint32_t)%s & 0xffff") | |||
UNARY_LW(select1lw, "%s & 0xffff") | UNARY_LW(select1lw, "((uint32_t)%s >> 16)&0xffff") | |||
UNARY_UW(swapw, "ORC_SWAP_W(%s)") | UNARY_UW(swapw, "ORC_SWAP_W(%s)") | |||
UNARY_UL(swapl, "ORC_SWAP_L(%s)") | UNARY_UL(swapl, "ORC_SWAP_L(%s)") | |||
End of changes. 9 change blocks. | ||||
14 lines changed or deleted | 14 lines changed or added | |||
orc-stdint.h | orc-stdint.h | |||
---|---|---|---|---|
#ifndef _ORC_ORC_ORC_STDINT_H | #ifndef _ORC_ORC_ORC_STDINT_H | |||
#define _ORC_ORC_ORC_STDINT_H 1 | #define _ORC_ORC_ORC_STDINT_H 1 | |||
#ifndef _GENERATED_STDINT_H | #ifndef _GENERATED_STDINT_H | |||
#define _GENERATED_STDINT_H "orc 0.4.0" | #define _GENERATED_STDINT_H "orc 0.4.1" | |||
/* generated using gnu compiler gcc (SUSE Linux) 4.4.1 [gcc-4_4-branch revi sion 150839] */ | /* generated using gnu compiler gcc (SUSE Linux) 4.4.1 [gcc-4_4-branch revi sion 150839] */ | |||
#define _STDINT_HAVE_STDINT_H 1 | #define _STDINT_HAVE_STDINT_H 1 | |||
#include <stdint.h> | #include <stdint.h> | |||
#endif | #endif | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
orcprogram.h | orcprogram.h | |||
---|---|---|---|---|
skipping to change at line 24 | skipping to change at line 24 | |||
typedef struct _OrcProgram OrcProgram; | typedef struct _OrcProgram OrcProgram; | |||
typedef struct _OrcCompiler OrcCompiler; | typedef struct _OrcCompiler OrcCompiler; | |||
typedef struct _OrcRule OrcRule; | typedef struct _OrcRule OrcRule; | |||
typedef struct _OrcRuleSet OrcRuleSet; | typedef struct _OrcRuleSet OrcRuleSet; | |||
typedef struct _OrcConstant OrcConstant; | typedef struct _OrcConstant OrcConstant; | |||
typedef struct _OrcFixup OrcFixup; | typedef struct _OrcFixup OrcFixup; | |||
typedef struct _OrcTarget OrcTarget; | typedef struct _OrcTarget OrcTarget; | |||
typedef void (*OrcOpcodeEmulateFunc)(OrcOpcodeExecutor *ex, void *user); | typedef void (*OrcOpcodeEmulateFunc)(OrcOpcodeExecutor *ex, void *user); | |||
typedef void (*OrcRuleEmitFunc)(OrcCompiler *p, void *user, OrcInstruction *insn); | typedef void (*OrcRuleEmitFunc)(OrcCompiler *p, void *user, OrcInstruction *insn); | |||
typedef void (*OrcExecutorFunc)(OrcExecutor *ex); | ||||
#define ORC_N_REGS (32*4) | #define ORC_N_REGS (32*4) | |||
#define ORC_N_INSNS 100 | #define ORC_N_INSNS 100 | |||
#define ORC_N_VARIABLES 64 | #define ORC_N_VARIABLES 64 | |||
#define ORC_N_REGISTERS 20 | #define ORC_N_REGISTERS 20 | |||
#define ORC_N_FIXUPS 20 | #define ORC_N_FIXUPS 20 | |||
#define ORC_N_CONSTANTS 20 | #define ORC_N_CONSTANTS 20 | |||
#define ORC_N_LABELS 20 | #define ORC_N_LABELS 20 | |||
#define ORC_GP_REG_BASE 32 | #define ORC_GP_REG_BASE 32 | |||
skipping to change at line 72 | skipping to change at line 73 | |||
orc_debug_print(ORC_DEBUG_ERROR, __FILE__, ORC_FUNCTION, __LINE__, __VA_A RGS__); \ | orc_debug_print(ORC_DEBUG_ERROR, __FILE__, ORC_FUNCTION, __LINE__, __VA_A RGS__); \ | |||
} while (0) | } while (0) | |||
#define ORC_COMPILER_ERROR(compiler, ...) do { \ | #define ORC_COMPILER_ERROR(compiler, ...) do { \ | |||
compiler->error = TRUE; \ | compiler->error = TRUE; \ | |||
compiler->result = ORC_COMPILE_RESULT_UNKNOWN_PARSE; \ | compiler->result = ORC_COMPILE_RESULT_UNKNOWN_PARSE; \ | |||
orc_debug_print(ORC_DEBUG_ERROR, __FILE__, ORC_FUNCTION, __LINE__, __VA_A RGS__); \ | orc_debug_print(ORC_DEBUG_ERROR, __FILE__, ORC_FUNCTION, __LINE__, __VA_A RGS__); \ | |||
} while (0) | } while (0) | |||
enum { | enum { | |||
ORC_TARGET_C_C99 = (1<<0) | ORC_TARGET_C_C99 = (1<<0), | |||
ORC_TARGET_C_BARE = (1<<1) | ||||
}; | }; | |||
enum { | enum { | |||
ORC_TARGET_ALTIVEC_ALTIVEC = (1<<0) | ORC_TARGET_ALTIVEC_ALTIVEC = (1<<0) | |||
}; | }; | |||
typedef enum { | typedef enum { | |||
ORC_VAR_TYPE_TEMP, | ORC_VAR_TYPE_TEMP, | |||
ORC_VAR_TYPE_SRC, | ORC_VAR_TYPE_SRC, | |||
ORC_VAR_TYPE_DEST, | ORC_VAR_TYPE_DEST, | |||
skipping to change at line 168 | skipping to change at line 170 | |||
#define ORC_COMPILE_RESULT_IS_FATAL(x) ((x) >= 0x200) | #define ORC_COMPILE_RESULT_IS_FATAL(x) ((x) >= 0x200) | |||
/** | /** | |||
* OrcVariable: | * OrcVariable: | |||
* | * | |||
* The OrcVariable structure has no public members | * The OrcVariable structure has no public members | |||
*/ | */ | |||
struct _OrcVariable { | struct _OrcVariable { | |||
/*< private >*/ | /*< private >*/ | |||
char *name; | char *name; | |||
char *type_name; | ||||
int size; | int size; | |||
OrcVarType vartype; | OrcVarType vartype; | |||
int used; | int used; | |||
int first_use; | int first_use; | |||
int last_use; | int last_use; | |||
int replaced; | int replaced; | |||
int replacement; | int replacement; | |||
int alloc; | int alloc; | |||
int is_chained; | int is_chained; | |||
int is_aligned; | int is_aligned; | |||
int is_uncached; | int is_uncached; | |||
int value; | int value; | |||
int ptr_register; | int ptr_register; | |||
int ptr_offset; | int ptr_offset; | |||
int mask_alloc; | ||||
int aligned_data; | ||||
}; | }; | |||
/** | /** | |||
* OrcRule: | * OrcRule: | |||
* | * | |||
* The OrcRule structure has no public members | * The OrcRule structure has no public members | |||
*/ | */ | |||
struct _OrcRule { | struct _OrcRule { | |||
/*< private >*/ | /*< private >*/ | |||
OrcRuleEmitFunc emit; | OrcRuleEmitFunc emit; | |||
skipping to change at line 302 | skipping to change at line 307 | |||
int n_const_vars; | int n_const_vars; | |||
int n_temp_vars; | int n_temp_vars; | |||
int n_accum_vars; | int n_accum_vars; | |||
char *name; | char *name; | |||
char *asm_code; | char *asm_code; | |||
unsigned char *code; | unsigned char *code; | |||
void *code_exec; | void *code_exec; | |||
int code_size; | int code_size; | |||
void *backup_func; | ||||
}; | }; | |||
/** | /** | |||
* OrcCompiler: | * OrcCompiler: | |||
* | * | |||
* The OrcCompiler structure has no public members | * The OrcCompiler structure has no public members | |||
*/ | */ | |||
struct _OrcCompiler { | struct _OrcCompiler { | |||
/*< private >*/ | /*< private >*/ | |||
OrcProgram *program; | OrcProgram *program; | |||
skipping to change at line 351 | skipping to change at line 358 | |||
int long_jumps; | int long_jumps; | |||
int use_frame_pointer; | int use_frame_pointer; | |||
char *asm_code; | char *asm_code; | |||
int asm_code_len; | int asm_code_len; | |||
int is_64bit; | int is_64bit; | |||
int tmpreg; | int tmpreg; | |||
int exec_reg; | int exec_reg; | |||
int gp_tmpreg; | int gp_tmpreg; | |||
int need_mask_regs; | ||||
}; | }; | |||
/** | /** | |||
* OrcOpcodeExecutor: | * OrcOpcodeExecutor: | |||
* | * | |||
* The OrcOpcodeExecutor structure has no public members | * The OrcOpcodeExecutor structure has no public members | |||
*/ | */ | |||
struct _OrcOpcodeExecutor { | struct _OrcOpcodeExecutor { | |||
/*< private >*/ | /*< private >*/ | |||
int src_values[ORC_STATIC_OPCODE_N_SRC]; | int src_values[ORC_STATIC_OPCODE_N_SRC]; | |||
skipping to change at line 431 | skipping to change at line 440 | |||
void orc_mmx_init (void); | void orc_mmx_init (void); | |||
void orc_sse_init (void); | void orc_sse_init (void); | |||
void orc_arm_init (void); | void orc_arm_init (void); | |||
void orc_powerpc_init (void); | void orc_powerpc_init (void); | |||
void orc_c_init (void); | void orc_c_init (void); | |||
OrcCompileResult orc_program_compile (OrcProgram *p); | OrcCompileResult orc_program_compile (OrcProgram *p); | |||
OrcCompileResult orc_program_compile_for_target (OrcProgram *p, OrcTarget * target); | OrcCompileResult orc_program_compile_for_target (OrcProgram *p, OrcTarget * target); | |||
OrcCompileResult orc_program_compile_full (OrcProgram *p, OrcTarget *target , | OrcCompileResult orc_program_compile_full (OrcProgram *p, OrcTarget *target , | |||
unsigned int flags); | unsigned int flags); | |||
void orc_program_set_backup_function (OrcProgram *p, OrcExecutorFunc func); | ||||
void orc_program_free (OrcProgram *program); | void orc_program_free (OrcProgram *program); | |||
int orc_program_find_var_by_name (OrcProgram *program, const char *name); | int orc_program_find_var_by_name (OrcProgram *program, const char *name); | |||
int orc_program_add_temporary (OrcProgram *program, int size, const char *n ame); | int orc_program_add_temporary (OrcProgram *program, int size, const char *n ame); | |||
int orc_program_dup_temporary (OrcProgram *program, int i, int j); | int orc_program_dup_temporary (OrcProgram *program, int i, int j); | |||
int orc_program_add_source (OrcProgram *program, int size, const char *name ); | int orc_program_add_source (OrcProgram *program, int size, const char *name ); | |||
int orc_program_add_destination (OrcProgram *program, int size, const char *name); | int orc_program_add_destination (OrcProgram *program, int size, const char *name); | |||
int orc_program_add_constant (OrcProgram *program, int size, int value, con st char *name); | int orc_program_add_constant (OrcProgram *program, int size, int value, con st char *name); | |||
int orc_program_add_parameter (OrcProgram *program, int size, const char *n ame); | int orc_program_add_parameter (OrcProgram *program, int size, const char *n ame); | |||
int orc_program_add_accumulator (OrcProgram *program, int size, const char *name); | int orc_program_add_accumulator (OrcProgram *program, int size, const char *name); | |||
void orc_program_set_type_name (OrcProgram *program, int var, const char *t ype_name); | ||||
OrcExecutor * orc_executor_new (OrcProgram *program); | OrcExecutor * orc_executor_new (OrcProgram *program); | |||
void orc_executor_free (OrcExecutor *ex); | void orc_executor_free (OrcExecutor *ex); | |||
void orc_executor_set_program (OrcExecutor *ex, OrcProgram *program); | void orc_executor_set_program (OrcExecutor *ex, OrcProgram *program); | |||
void orc_executor_set_array (OrcExecutor *ex, int var, void *ptr); | void orc_executor_set_array (OrcExecutor *ex, int var, void *ptr); | |||
void orc_executor_set_array_str (OrcExecutor *ex, const char *name, void *p tr); | void orc_executor_set_array_str (OrcExecutor *ex, const char *name, void *p tr); | |||
void orc_executor_set_param (OrcExecutor *ex, int var, int value); | void orc_executor_set_param (OrcExecutor *ex, int var, int value); | |||
void orc_executor_set_param_str (OrcExecutor *ex, const char *name, int val ue); | void orc_executor_set_param_str (OrcExecutor *ex, const char *name, int val ue); | |||
int orc_executor_get_accumulator (OrcExecutor *ex, int var); | int orc_executor_get_accumulator (OrcExecutor *ex, int var); | |||
int orc_executor_get_accumulator_str (OrcExecutor *ex, const char *name); | int orc_executor_get_accumulator_str (OrcExecutor *ex, const char *name); | |||
skipping to change at line 484 | skipping to change at line 495 | |||
const char *orc_program_get_asm_code (OrcProgram *program); | const char *orc_program_get_asm_code (OrcProgram *program); | |||
const char *orc_target_get_asm_preamble (const char *target); | const char *orc_target_get_asm_preamble (const char *target); | |||
void orc_compiler_append_code (OrcCompiler *p, const char *fmt, ...) | void orc_compiler_append_code (OrcCompiler *p, const char *fmt, ...) | |||
ORC_GNU_PRINTF(2,3); | ORC_GNU_PRINTF(2,3); | |||
void orc_target_register (OrcTarget *target); | void orc_target_register (OrcTarget *target); | |||
OrcTarget *orc_target_get_by_name (const char *target_name); | OrcTarget *orc_target_get_by_name (const char *target_name); | |||
int orc_program_get_max_var_size (OrcProgram *program); | int orc_program_get_max_var_size (OrcProgram *program); | |||
int orc_program_get_max_array_size (OrcProgram *program); | ||||
#endif | #endif | |||
End of changes. 9 change blocks. | ||||
1 lines changed or deleted | 13 lines changed or added | |||
orcx86.h | orcx86.h | |||
---|---|---|---|---|
skipping to change at line 53 | skipping to change at line 53 | |||
void orc_x86_emit_and_imm_memoffset (OrcCompiler *compiler, int size, int v alue, int offset, int reg); | void orc_x86_emit_and_imm_memoffset (OrcCompiler *compiler, int size, int v alue, int offset, int reg); | |||
void orc_x86_emit_add_imm_reg (OrcCompiler *compiler, int size, int value, int reg); | void orc_x86_emit_add_imm_reg (OrcCompiler *compiler, int size, int value, int reg); | |||
void orc_x86_emit_and_imm_reg (OrcCompiler *compiler, int size, int value, int reg); | void orc_x86_emit_and_imm_reg (OrcCompiler *compiler, int size, int value, int reg); | |||
void orc_x86_emit_sub_reg_reg (OrcCompiler *compiler, int size, int reg1, i nt reg2); | void orc_x86_emit_sub_reg_reg (OrcCompiler *compiler, int size, int reg1, i nt reg2); | |||
void orc_x86_emit_sub_memoffset_reg (OrcCompiler *compiler, int size, | void orc_x86_emit_sub_memoffset_reg (OrcCompiler *compiler, int size, | |||
int offset, int reg, int destreg); | int offset, int reg, int destreg); | |||
void orc_x86_emit_cmp_reg_memoffset (OrcCompiler *compiler, int size, int r eg1, | void orc_x86_emit_cmp_reg_memoffset (OrcCompiler *compiler, int size, int r eg1, | |||
int offset, int reg); | int offset, int reg); | |||
void orc_x86_emit_cmp_imm_memoffset (OrcCompiler *compiler, int size, int v alue, | void orc_x86_emit_cmp_imm_memoffset (OrcCompiler *compiler, int size, int v alue, | |||
int offset, int reg); | int offset, int reg); | |||
void orc_x86_emit_test_imm_memoffset (OrcCompiler *compiler, int size, int | ||||
value, | ||||
int offset, int reg); | ||||
void orc_x86_emit_emms (OrcCompiler *compiler); | void orc_x86_emit_emms (OrcCompiler *compiler); | |||
void orc_x86_emit_ret (OrcCompiler *compiler); | void orc_x86_emit_ret (OrcCompiler *compiler); | |||
void orc_x86_emit_jle (OrcCompiler *compiler, int label); | void orc_x86_emit_jle (OrcCompiler *compiler, int label); | |||
void orc_x86_emit_je (OrcCompiler *compiler, int label); | void orc_x86_emit_je (OrcCompiler *compiler, int label); | |||
void orc_x86_emit_jne (OrcCompiler *compiler, int label); | void orc_x86_emit_jne (OrcCompiler *compiler, int label); | |||
void orc_x86_emit_jmp (OrcCompiler *compiler, int label); | void orc_x86_emit_jmp (OrcCompiler *compiler, int label); | |||
void orc_x86_emit_label (OrcCompiler *compiler, int label); | void orc_x86_emit_label (OrcCompiler *compiler, int label); | |||
void orc_x86_emit_align (OrcCompiler *compiler); | void orc_x86_emit_align (OrcCompiler *compiler); | |||
void orc_x86_emit_prologue (OrcCompiler *compiler); | void orc_x86_emit_prologue (OrcCompiler *compiler); | |||
void orc_x86_emit_epilogue (OrcCompiler *compiler); | void orc_x86_emit_epilogue (OrcCompiler *compiler); | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 3 lines changed or added | |||