Emitter_IR.h File Reference


Classes

class  IPF_Encoder
class  Enc_All_Reg_BV
struct  Encoder_Instr_IR
struct  Encoder_Unscheduled_Instr_IR
class  Enc_Patch
class  Enc_Code_Patch
class  Enc_Branch_Patch
class  Enc_Movl_Patch
class  Switch_Patch
struct  Encoder_Bundle_IR

Defines

#define Patch   Enc_Patch
 
Author:
Intel, Evgueni Brevnov

#define Code_Patch   Enc_Code_Patch
#define Branch_Patch   Enc_Branch_Patch
#define Movl_Patch   Enc_Movl_Patch
#define ENC_N_GEN_REG   128
#define ENC_N_FLOAT_REG   128
#define ENC_N_BRANCH_REG   8
#define ENC_N_PRED_REG   64
#define ENC_N_APPL_REG   128
#define ENC_N_REG   (ENC_N_GEN_REG + ENC_N_FLOAT_REG + ENC_N_BRANCH_REG + ENC_N_PRED_REG + ENC_N_APPL_REG)
#define ENC_WORD_SIZE   64
#define ENC_ALL_REG_WORDS   (ENC_N_REG/ENC_WORD_SIZE + 1)
#define ENC_UINT64_ONE   ((uint64)0x01)
#define ENC_SI_none   0x00
#define ENC_SI_brcall   0x01
#define ENC_SI_mtbr   0x02
#define ENC_SI_icmp   0x04
#define ENC_SI_cmp_and   0x08
#define ENC_SI_cmp_or   0x10
#define ENC_SI_mtip   0x20
#define ENC_SI_start_igroup   0x40
#define ENC_SI_end_igroup   0x80
#define ENC_IF_mem_access   0x01
#define ENC_IF_possible_exc   0x02
#define ENC_IF_target   0x04
#define ENC_IF_to_be_patched   0x08
#define ENC_IF_filled   0x10
#define ENC_IF_should_stay_empty   0x20
#define ENC_IF_instr_start   0x40
#define ENC_NOT_A_TARGET   0xFFFFFFFFFFFFFFFF
#define ENC_REF_dontcare   0x00
#define ENC_REF_set   '1'
#define ENC_REF_reset   '0'
#define ENC_N_WBUF_INSTR   ((ENC_WBUF_LEN) * (ENC_N_SLOTS))
#define ENC_BDL_needs_stop   0x01
#define ENC_BDL_is_target   0x02

Enumerations

enum  Encoder_Memory_Type {
  ENC_MT_unknown = 0, ENC_MT_field_handle = 1, ENC_MT_sp_offset = 2, ENC_MT_array_element = 3,
  ENC_MT_vt_entry = 4, ENC_MT_switch_entry = 5, ENC_MT_array_entry = 6, ENC_MT_object_vt = 7,
  ENC_MT_vt_class = 8, ENC_MT_quick_thread = 9
}


Define Documentation

#define Patch   Enc_Patch

Author:
Intel, Evgueni Brevnov

Version:
Revision
1.1.2.1.4.3

#define Code_Patch   Enc_Code_Patch

#define Branch_Patch   Enc_Branch_Patch

#define Movl_Patch   Enc_Movl_Patch

#define ENC_N_GEN_REG   128

#define ENC_N_FLOAT_REG   128

#define ENC_N_BRANCH_REG   8

#define ENC_N_PRED_REG   64

#define ENC_N_APPL_REG   128

#define ENC_N_REG   (ENC_N_GEN_REG + ENC_N_FLOAT_REG + ENC_N_BRANCH_REG + ENC_N_PRED_REG + ENC_N_APPL_REG)

#define ENC_WORD_SIZE   64

#define ENC_ALL_REG_WORDS   (ENC_N_REG/ENC_WORD_SIZE + 1)

#define ENC_UINT64_ONE   ((uint64)0x01)

#define ENC_SI_none   0x00

#define ENC_SI_brcall   0x01

#define ENC_SI_mtbr   0x02

#define ENC_SI_icmp   0x04

#define ENC_SI_cmp_and   0x08

#define ENC_SI_cmp_or   0x10

#define ENC_SI_mtip   0x20

#define ENC_SI_start_igroup   0x40

#define ENC_SI_end_igroup   0x80

#define ENC_IF_mem_access   0x01

#define ENC_IF_possible_exc   0x02

#define ENC_IF_target   0x04

#define ENC_IF_to_be_patched   0x08

#define ENC_IF_filled   0x10

#define ENC_IF_should_stay_empty   0x20

#define ENC_IF_instr_start   0x40

#define ENC_NOT_A_TARGET   0xFFFFFFFFFFFFFFFF

#define ENC_REF_dontcare   0x00

#define ENC_REF_set   '1'

#define ENC_REF_reset   '0'

#define ENC_N_WBUF_INSTR   ((ENC_WBUF_LEN) * (ENC_N_SLOTS))

#define ENC_BDL_needs_stop   0x01

#define ENC_BDL_is_target   0x02


Enumeration Type Documentation

enum Encoder_Memory_Type

Enumerator:
ENC_MT_unknown 
ENC_MT_field_handle 
ENC_MT_sp_offset 
ENC_MT_array_element 
ENC_MT_vt_entry 
ENC_MT_switch_entry 
ENC_MT_array_entry 
ENC_MT_object_vt 
ENC_MT_vt_class 
ENC_MT_quick_thread 


Genereated on Tue Mar 11 19:25:56 2008 by Doxygen.

(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.