manpagez: man pages & more
html files: orc
Home | html | info | man

OrcOpcode

OrcOpcode — Operations

Description

Functions

OrcOpcodeEmulateFunc ()

void
(*OrcOpcodeEmulateFunc) (OrcOpcodeExecutor *ex,
                         void *user);


ORC_STATIC_OPCODE_ACCUMULATOR

#define ORC_STATIC_OPCODE_ACCUMULATOR (1<<0)


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_rule_set_new ()

OrcRuleSet *
orc_rule_set_new (OrcOpcodeSet *opcode_set,
                  OrcTarget *target,
                  unsigned int required_flags);


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_get_rule ()

OrcRule *
orc_target_get_rule (OrcTarget *target,
                     OrcStaticOpcode *opcode,
                     unsigned int target_flags);


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_N_DEST

#define ORC_STATIC_OPCODE_N_DEST 2


ORC_STATIC_OPCODE_N_SRC

#define ORC_STATIC_OPCODE_N_SRC 4

© manpagez.com 2000-2017
Individual documents may contain additional copyright information.