Module: Duran
- Extended by:
- FFI::Library
- Defined in:
- lib/duran.rb,
lib/duran/app.rb,
lib/duran/proc.rb,
lib/duran/tools.rb,
lib/duran/events.rb,
lib/duran/defines.rb,
lib/duran/ir_opnd.rb,
lib/duran/structs.rb,
lib/duran/ir_utils.rb,
lib/duran/ir_opcodes.rb,
lib/duran/structs/operand.rb,
lib/duran/structs/exception.rb,
lib/duran/structs/tracedump.rb,
lib/duran/structs/instruction.rb,
lib/duran/structs/memory_info.rb,
lib/duran/structs/module_data.rb,
lib/duran/structs/signal_info.rb,
lib/duran/structs/module_names.rb,
lib/duran/structs/machine_context.rb,
lib/duran/structs/restore_state_info.rb,
lib/duran/structs/fault_fragment_info.rb
Defined Under Namespace
Classes: DRYStruct, DR_Time, Exception, FaultFragmentInfo, Instruction, MachineContext, MemoryInfo, ModuleData, ModuleNames, Operand, RestoreStateInfo, SignalInfo, TraceDumpStubData, TraceDumpTraceHeader, TracedumpFileHeader
Constant Summary collapse
- FILE_READ =
0x1
- FILE_WRITE_REQUIRE_NEW =
0x2
- FILE_WRITE_APPEND =
0x4
- FILE_WRITE_OVERWRITE =
0x8
- FILE_ALLOW_LARGE =
0x10
- SEEK_SET =
0
- SEEK_CUR =
1
- SEEK_END =
1
- LOG_NONE =
log mask constants
0x00000000
- LOG_STATS =
Log no data.
0x00000001
- LOG_TOP =
Log per-thread and global statistics.
0x00000002
- LOG_THREADS =
Log top-level information.
0x00000004
- LOG_SYSCALLS =
Log data related to threads.
0x00000008
- LOG_ASYNCH =
Log data related to system calls.
0x00000010
- LOG_INTERP =
Log data related to signals/callbacks/etc.
0x00000020
- LOG_EMIT =
Log data related to app interpretation.
0x00000040
- LOG_LINKS =
Log data related to emitting code.
0x00000080
- LOG_CACHE =
Log data related to linking code.
0x00000100
- LOG_FRAGMENT =
Log data related to code cache management.
0x00000200
- LOG_DISPATCH =
Log data related to app code fragments.
0x00000400
- LOG_MONITOR =
Log data on every context switch dispatch.
0x00000800
- LOG_HEAP =
Log data related to trace building.
0x00001000
- LOG_VMAREAS =
Log data related to memory managment.
0x00002000
- LOG_SYNCH =
Log data related to address space regions.
0x00004000
- LOG_MEMSTATS =
Log data related to synchronization.
0x00008000
- LOG_OPTS =
Log data related to memory statistics.
0x00010000
- LOG_SIDELINE =
Log data related to optimizations.
0x00020000
- LOG_SYMBOLS =
Log data related to sideline threads.
0x00040000
- LOG_RCT =
Log data related to app symbols.
0x00080000
- LOG_NT =
Log data related to indirect transfers.
0x00100000
- LOG_HOT_PATCHING =
Log data related to Windows Native API.
0x00200000
- LOG_HTABLE =
Log data related to hot patching.
0x00400000
- LOG_MODULEDB =
Log data related to hash tables.
0x00800000
- LOG_ALL =
Log data related to the module database.
0x00ffffff
- SPILL_SLOT_MAX =
9
- OPCODES =
[ :INVALID, :UNDECODED, :CONTD, :LABEL, :add, :or, :adc, :sbb, :and, :daa, :sub, :das, :xor, :aaa, :cmp, :aas, :inc, :dec, :push, :push_imm, :pop, :pusha, :popa, :bound, :arpl, :imul, :jo_short, :jno_short, :jb_short, :jnb_short, :jz_short, :jnz_short, :jbe_short, :jnbe_short, :js_short, :jns_short, :jp_short, :jnp_short, :jl_short, :jnl_short, :jle_short, :jnle_short, :call, :call_ind, :call_far, :call_far_ind, :jmp, :jmp_short, :jmp_ind, :jmp_far, :jmp_far_ind, :loopne, :loope, :loop, :jecxz, :mov_ld, :mov_st, :mov_imm, :mov_seg, :mov_priv, :test, :lea, :xchg, :cwde, :cdq, :fwait, :pushf, :popf, :sahf, :lahf, :ret, :ret_far, :les, :lds, :enter, :leave, :int3, :int, :into, :iret, :aam, :aad, :xlat, :in, :out, :hlt, :cmc, :clc, :stc, :cli, :sti, :cld, :std, :lar, :lsl, :syscall, :clts, :sysret, :invd, :wbinvd, :ud2a, :nop_modrm, :movntps, :movntpd, :wrmsr, :rdtsc, :rdmsr, :rdpmc, :sysenter, :sysexit, :cmovo, :cmovno, :cmovb, :cmovnb, :cmovz, :cmovnz, :cmovbe, :cmovnbe, :cmovs, :cmovns, :cmovp, :cmovnp, :cmovl, :cmovnl, :cmovle, :cmovnle, :punpcklbw, :punpcklwd, :punpckldq, :packsswb, :pcmpgtb, :pcmpgtw, :pcmpgtd, :packuswb, :punpckhbw, :punpckhwd, :punpckhdq, :packssdw, :punpcklqdq, :punpckhqdq, :movd, :movq, :movdqu, :movdqa, :pshufw, :pshufd, :pshufhw, :pshuflw, :pcmpeqb, :pcmpeqw, :pcmpeqd, :emms, :jo, :jno, :jb, :jnb, :jz, :jnz, :jbe, :jnbe, :js, :jns, :jp, :jnp, :jl, :jnl, :jle, :jnle, :seto, :setno, :setb, :setnb, :setz, :setnz, :setbe, :setnbe, :sets, :setns, :setp, :setnp, :setl, :setnl, :setle, :setnle, :cpuid, :bt, :shld, :rsm, :bts, :shrd, :cmpxchg, :lss, :btr, :lfs, :lgs, :movzx, :ud2b, :btc, :bsf, :bsr, :movsx, :xadd, :movnti, :pinsrw, :pextrw, :bswap, :psrlw, :psrld, :psrlq, :paddq, :pmullw, :pmovmskb, :psubusb, :psubusw, :pminub, :pand, :paddusb, :paddusw, :pmaxub, :pandn, :pavgb, :psraw, :psrad, :pavgw, :pmulhuw, :pmulhw, :movntq, :movntdq, :psubsb, :psubsw, :pminsw, :por, :paddsb, :paddsw, :pmaxsw, :pxor, :psllw, :pslld, :psllq, :pmuludq, :pmaddwd, :psadbw, :maskmovq, :maskmovdqu, :psubb, :psubw, :psubd, :psubq, :paddb, :paddw, :paddd, :psrldq, :pslldq, :rol, :ror, :rcl, :rcr, :shl, :shr, :sar, :not, :neg, :mul, :div, :idiv, :sldt, :str, :lldt, :ltr, :verr, :verw, :sgdt, :sidt, :lgdt, :lidt, :smsw, :lmsw, :invlpg, :cmpxchg8b, :fxsave, :fxrstor, :ldmxcsr, :stmxcsr, :lfence, :mfence, :clflush, :sfence, :prefetchnta, :prefetcht0, :prefetcht1, :prefetcht2, :prefetch, :prefetchw, :movups, :movss, :movupd, :movsd, :movlps, :movlpd, :unpcklps, :unpcklpd, :unpckhps, :unpckhpd, :movhps, :movhpd, :movaps, :movapd, :cvtpi2ps, :cvtsi2ss, :cvtpi2pd, :cvtsi2sd, :cvttps2pi, :cvttss2si, :cvttpd2pi, :cvttsd2si, :cvtps2pi, :cvtss2si, :cvtpd2pi, :cvtsd2si, :ucomiss, :ucomisd, :comiss, :comisd, :movmskps, :movmskpd, :sqrtps, :sqrtss, :sqrtpd, :sqrtsd, :rsqrtps, :rsqrtss, :rcpps, :rcpss, :andps, :andpd, :andnps, :andnpd, :orps, :orpd, :xorps, :xorpd, :addps, :addss, :addpd, :addsd, :mulps, :mulss, :mulpd, :mulsd, :cvtps2pd, :cvtss2sd, :cvtpd2ps, :cvtsd2ss, :cvtdq2ps, :cvttps2dq, :cvtps2dq, :subps, :subss, :subpd, :subsd, :minps, :minss, :minpd, :minsd, :divps, :divss, :divpd, :divsd, :maxps, :maxss, :maxpd, :maxsd, :cmpps, :cmpss, :cmppd, :cmpsd, :shufps, :shufpd, :cvtdq2pd, :cvttpd2dq, :cvtpd2dq, :nop, :pause, :ins, :rep_ins, :outs, :rep_outs, :movs, :rep_movs, :stos, :rep_stos, :lods, :rep_lods, :cmps, :rep_cmps, :repne_cmps, :scas, :rep_scas, :repne_scas, :fadd, :fmul, :fcom, :fcomp, :fsub, :fsubr, :fdiv, :fdivr, :fld, :fst, :fstp, :fldenv, :fldcw, :fnstenv, :fnstcw, :fiadd, :fimul, :ficom, :ficomp, :fisub, :fisubr, :fidiv, :fidivr, :fild, :fist, :fistp, :frstor, :fnsave, :fnstsw, :fbld, :fbstp, :fxch, :fnop, :fchs, :fabs, :ftst, :fxam, :fld1, :fldl2t, :fldl2e, :fldpi, :fldlg2, :fldln2, :fldz, :f2xm1, :fyl2x, :fptan, :fpatan, :fxtract, :fprem1, :fdecstp, :fincstp, :fprem, :fyl2xp1, :fsqrt, :fsincos, :frndint, :fscale, :fsin, :fcos, :fcmovb, :fcmove, :fcmovbe, :fcmovu, :fucompp, :fcmovnb, :fcmovene, :fcmovnbe, :fcmovnu, :fnclex, :fninit, :fucomi, :fcomi, :ffree, :fucom, :fucomp, :faddp, :fmulp, :fcompp, :fsubrp, :fsubp, :fdivrp, :fdivp, :fucomip, :fcomip, :fisttp, :haddpd, :haddps, :hsubpd, :hsubps, :addsubpd, :addsubps, :lddqu, :monitor, :mwait, :movsldup, :movshdup, :movddup, :femms, :unknown_3dnow, :pavgusb, :pfadd, :pfacc, :pfcmpge, :pfcmpgt, :pfcmpeq, :pfmin, :pfmax, :pfmul, :pfrcp, :pfrcpit1, :pfrcpit2, :pfrsqrt, :pfrsqit1, :pmulhrw, :pfsub, :pfsubr, :pi2fd, :pf2id, :pi2fw, :pf2iw, :pfnacc, :pfpnacc, :pswapd, :pshufb, :phaddw, :phaddd, :phaddsw, :pmaddubsw, :phsubw, :phsubd, :phsubsw, :psignb, :psignw, :psignd, :pmulhrsw, :pabsb, :pabsw, :pabsd, :palignr, :popcnt, :movntss, :movntsd, :extrq, :insertq, :lzcnt, :pblendvb, :blendvps, :blendvpd, :ptest, :pmovsxbw, :pmovsxbd, :pmovsxbq, :pmovsxdw, :pmovsxwq, :pmovsxdq, :pmuldq, :pcmpeqq, :movntdqa, :packusdw, :pmovzxbw, :pmovzxbd, :pmovzxbq, :pmovzxdw, :pmovzxwq, :pmovzxdq, :pcmpgtq, :pminsb, :pminsd, :pminuw, :pminud, :pmaxsb, :pmaxsd, :pmaxuw, :pmaxud, :pmulld, :phminposuw, :crc32, :pextrb, :pextrd, :extractps, :roundps, :roundpd, :roundss, :roundsd, :blendps, :blendpd, :pblendw, :pinsrb, :insertps, :pinsrd, :dpps, :dppd, :mpsadbw, :pcmpestrm, :pcmpestri, :pcmpistrm, :pcmpistri, :movsxd, :swapgs, :vmcall, :vmlaunch, :vmresume, :vmxoff, :vmptrst, :vmptrld, :vmxon, :vmclear, :vmread, :vmwrite, :int1, :salc, :ffreep, ]