Functions
OrcOpcodeEmulateFunc ()
void
(*OrcOpcodeEmulateFunc) (OrcOpcodeExecutor *ex
,
void *user
);
orc_opcode_find_by_name ()
OrcStaticOpcode *
orc_opcode_find_by_name (const char *name
);
orc_opcode_init ()
void
orc_opcode_init (void
);
orc_opcode_register_static ()
int
orc_opcode_register_static (OrcStaticOpcode *sopcode
,
char *prefix
);
orc_opcode_set_find_by_name ()
int
orc_opcode_set_find_by_name (OrcOpcodeSet *opcode_set
,
const char *name
);
orc_opcode_set_get ()
OrcOpcodeSet *
orc_opcode_set_get (const char *name
);
orc_target_get_asm_preamble ()
const char *
orc_target_get_asm_preamble (const char *target
);
orc_target_get_by_name ()
OrcTarget *
orc_target_get_by_name (const char *target_name
);
orc_target_get_default ()
OrcTarget *
orc_target_get_default (void
);
orc_target_get_default_flags ()
unsigned int
orc_target_get_default_flags (OrcTarget *target
);
orc_target_get_name ()
const char *
orc_target_get_name (OrcTarget *target
);
orc_target_register ()
void
orc_target_register (OrcTarget *target
);
Types and Values
struct OrcOpcodeExecutor
struct OrcOpcodeExecutor {
};
The OrcOpcodeExecutor structure has no public members
struct OrcOpcodeSet
struct OrcOpcodeSet {
};
The OrcOpcodeSet structure has no public members
struct OrcRuleSet
struct OrcRuleSet {
};
The OrcRuleSet structure has no public members
struct OrcStaticOpcode
struct OrcStaticOpcode {
char name[16];
unsigned int flags;
int dest_size[ORC_STATIC_OPCODE_N_DEST];
int src_size[ORC_STATIC_OPCODE_N_SRC];
OrcOpcodeEmulateNFunc emulateN;
};
struct OrcTarget
struct OrcTarget {
const char *name;
orc_bool executable;
int data_register_offset;
unsigned int (*get_default_flags)(void);
void (*compiler_init)(OrcCompiler *compiler);
void (*compile)(OrcCompiler *compiler);
OrcRuleSet rule_sets[ORC_N_RULE_SETS];
int n_rule_sets;
const char * (*get_asm_preamble)(void);
void (*load_constant)(OrcCompiler *compiler, int reg, int size, int value);
const char * (*get_flag_name)(int shift);
void (*flush_cache) (OrcCode *code);
void (*load_constant_long)(OrcCompiler *compiler, int reg,
OrcConstant *constant);
void *_unused[5];
};
ORC_OPCODE_N_ARGS
#define ORC_OPCODE_N_ARGS 4
ORC_STATIC_OPCODE_ACCUMULATOR
#define ORC_STATIC_OPCODE_ACCUMULATOR (1<<0)
ORC_STATIC_OPCODE_N_DEST
#define ORC_STATIC_OPCODE_N_DEST 2
ORC_STATIC_OPCODE_N_SRC
#define ORC_STATIC_OPCODE_N_SRC 4