Classes |
| struct | nanojit::MiniAccSet |
| struct | nanojit::CallInfo |
| struct | nanojit::SwitchInfo |
| class | nanojit::LIns |
| struct | nanojit::LIns::SharedFields |
| class | nanojit::LInsOp0 |
| class | nanojit::LInsOp1 |
| class | nanojit::LInsOp2 |
| class | nanojit::LInsOp3 |
| class | nanojit::LInsLd |
| class | nanojit::LInsSt |
| class | nanojit::LInsSk |
| class | nanojit::LInsC |
| class | nanojit::LInsP |
| class | nanojit::LInsI |
| class | nanojit::LInsQorD |
| class | nanojit::LInsJtbl |
| class | nanojit::LInsNone |
| class | nanojit::LirWriter |
| class | nanojit::ExprFilter |
| class | nanojit::CseFilter |
| class | nanojit::LirBuffer |
| class | nanojit::LirBufWriter |
| class | nanojit::LirFilter |
| class | nanojit::LirReader |
| struct | nanojit::Interval |
Namespaces |
| namespace | nanojit |
Defines |
| #define | OP___(op, number, repKind, retType, isCse) LIR_##op = (number), |
| #define | PTR_SIZE(a, b) a |
| #define | nextNLKind(kind) NLKind(kind+1) |
Typedefs |
| typedef uint32_t | nanojit::AccSet |
| typedef uint8_t | nanojit::MiniAccSetVal |
| typedef SeqBuilder< LIns * > | nanojit::InsList |
| typedef SeqBuilder< char * > | nanojit::StringList |
Enumerations |
| enum | nanojit::LOpcode |
| enum | nanojit::AbiKind { nanojit::ABI_FASTCALL,
nanojit::ABI_THISCALL,
nanojit::ABI_STDCALL,
nanojit::ABI_CDECL
} |
| enum | nanojit::ArgType {
nanojit::ARGTYPE_V = 0,
nanojit::ARGTYPE_I = 1,
nanojit::ARGTYPE_UI = 2,
nanojit::ARGTYPE_D = 4,
nanojit::ARGTYPE_P = ARGTYPE_I,
nanojit::ARGTYPE_B = ARGTYPE_I
} |
| enum | nanojit::IndirectCall { nanojit::CALL_INDIRECT = 0
} |
| enum | nanojit::LoadQual { nanojit::LOAD_CONST = 0,
nanojit::LOAD_NORMAL = 1,
nanojit::LOAD_VOLATILE = 2
} |
| enum | nanojit::LTy { nanojit::LTy_V,
nanojit::LTy_I,
nanojit::LTy_D,
nanojit::LTy_P = LTy_I
} |
| enum | nanojit::LInsRepKind {
nanojit::LRK_Op0,
nanojit::LRK_Op1,
nanojit::LRK_Op2,
nanojit::LRK_Op3,
nanojit::LRK_Ld,
nanojit::LRK_St,
nanojit::LRK_Sk,
nanojit::LRK_C,
nanojit::LRK_P,
nanojit::LRK_I,
nanojit::LRK_QorD,
nanojit::LRK_Jtbl,
nanojit::LRK_None
} |
Functions |
| | OP_32 (parami, 3, P, I, 0) OP_64(paramq |
| | OP_64 (retq, 7, Op1, V, 0) LIR_retd |
| | OP_64 (liveq, 10, Op1, V, 0) LIR_lived |
| | OP_64 (ldq, 22, Ld, Q,-1) LIR_ldd |
| | OP_64 (stq, 28, St, V, 0) LIR_std |
| | OP_64 (callq, 35, C, Q,-1) LIR_calld |
| | OP_64 (immq, 50, QorD, Q, 1) LIR_immd |
| | OP_64 (eqq, 63, Op2, I, 1) OP_64(ltq |
| | OP_64 (gtq, 65, Op2, I, 1) OP_64(leq |
| | OP_64 (geq, 67, Op2, I, 1) OP_64(ltuq |
| | OP_64 (gtuq, 69, Op2, I, 1) OP_64(leuq |
| | OP_64 (geuq, 71, Op2, I, 1) LIR_eqd |
| | OP_86 (divi, 82, Op2, I, 1) OP_86(modi |
| | OP_64 (addq, 91, Op2, Q, 1) OP_64(subq |
| | OP_64 (andq, 93, Op2, Q, 1) OP_64(orq |
| | OP_64 (xorq, 95, Op2, Q, 1) OP_64(lshq |
| | OP_64 (rshq, 97, Op2, Q, 1) OP_64(rshuq |
| | OP_64 (cmovq, 106, Op3, Q, 1) LIR_cmovd |
| | OP_64 (i2q, 108, Op1, Q, 1) OP_64(ui2uq |
| | OP_64 (q2i, 110, Op1, I, 1) LIR_i2d |
| | OP_64 (dasq, 114, Op1, Q, 1) OP_64(qasd |
| | OP_64 (addjovq, 122, Op3, Q, 1) OP_64(subjovq |
| | OP_SF (dlo2i, 124, Op1, I, 1) OP_SF(dhi2i |
| | OP_SF (ii2d, 126, Op2, D, 1) LIR_sentinel |
| | nanojit::NanoStaticAssert (LIR_eqi+1==LIR_lti &&LIR_eqi+2==LIR_gti &&LIR_eqi+3==LIR_lei &&LIR_eqi+4==LIR_gei &&LIR_eqi+5==LIR_ltui &&LIR_eqi+6==LIR_gtui &&LIR_eqi+7==LIR_leui &&LIR_eqi+8==LIR_geui) |
| | nanojit::NanoStaticAssert (LIR_eqd+1==LIR_ltd &&LIR_eqd+2==LIR_gtd &&LIR_eqd+3==LIR_led &&LIR_eqd+4==LIR_ged) |
| | nanojit::NanoStaticAssert ((LIR_jt^1)==LIR_jf &&(LIR_jf^1)==LIR_jt) |
| | nanojit::NanoStaticAssert ((LIR_xt^1)==LIR_xf &&(LIR_xf^1)==LIR_xt) |
| | nanojit::NanoStaticAssert ((LIR_lti^1)==LIR_gti &&(LIR_gti^1)==LIR_lti) |
| | nanojit::NanoStaticAssert ((LIR_lei^1)==LIR_gei &&(LIR_gei^1)==LIR_lei) |
| | nanojit::NanoStaticAssert ((LIR_ltui^1)==LIR_gtui &&(LIR_gtui^1)==LIR_ltui) |
| | nanojit::NanoStaticAssert ((LIR_leui^1)==LIR_geui &&(LIR_geui^1)==LIR_leui) |
| | nanojit::NanoStaticAssert ((LIR_ltd^1)==LIR_gtd &&(LIR_gtd^1)==LIR_ltd) |
| | nanojit::NanoStaticAssert ((LIR_led^1)==LIR_ged &&(LIR_ged^1)==LIR_led) |
| bool | nanojit::isSingletonAccSet (AccSet accSet) |
| bool | nanojit::isCseOpcode (LOpcode op) |
| bool | nanojit::isLiveOpcode (LOpcode op) |
| bool | nanojit::isRetOpcode (LOpcode op) |
| bool | nanojit::isCmovOpcode (LOpcode op) |
| bool | nanojit::isCmpIOpcode (LOpcode op) |
| bool | nanojit::isCmpSIOpcode (LOpcode op) |
| bool | nanojit::isCmpUIOpcode (LOpcode op) |
| bool | nanojit::isCmpDOpcode (LOpcode op) |
| bool | nanojit::isCmpOpcode (LOpcode op) |
| LOpcode | nanojit::invertCondJmpOpcode (LOpcode op) |
| LOpcode | nanojit::invertCondGuardOpcode (LOpcode op) |
| LOpcode | nanojit::invertCmpOpcode (LOpcode op) |
| LOpcode | nanojit::getCallOpcode (const CallInfo *ci) |
| LOpcode | nanojit::arithOpcodeD2I (LOpcode op) |
| LOpcode | nanojit::cmpOpcodeD2I (LOpcode op) |
| LOpcode | nanojit::cmpOpcodeD2UI (LOpcode op) |
| RegisterMask | nanojit::rmask (Register r) |
| | nanojit::verbose_only (void live(LirFilter *in, Allocator &alloc, Fragment *frag, LogControl *);) class StackFilter |
Variables |
| const int8_t | nanojit::isCses [] |
| const uint8_t | nanojit::repKinds [] |
| const LTy | nanojit::retTypes [] |