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;
};
 
OrcTarget
typedef struct {
  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];
} OrcTarget;
 
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