Class: Ragweed::Wraposx::ThreadContext::Float32
- Includes:
- FFIStructInclude
- Defined in:
- lib/ragweed/wraposx/thread_context.rb
Overview
_STRUCT_X86_FLOAT_STATE32
int fpu_reserved[2];
_STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */
_STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */
__uint8_t fpu_ftw; /* x87 FPU tag word */
__uint8_t fpu_rsrv1; /* reserved */
__uint16_t fpu_fop; /* x87 FPU Opcode */
__uint32_t fpu_ip; /* x87 FPU Instruction Pointer offset */
__uint16_t fpu_cs; /* x87 FPU Instruction Pointer Selector */
__uint16_t fpu_rsrv2; /* reserved */
__uint32_t fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */
__uint16_t fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */
__uint16_t fpu_rsrv3; /* reserved */
__uint32_t fpu_mxcsr; /* MXCSR Register state */
__uint32_t fpu_mxcsrmask; /* MXCSR mask */
_STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */
_STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */
_STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */
_STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */
_STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */
_STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */
_STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */
_STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */
_STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */
_STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */
_STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */
_STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */
_STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */
_STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */
_STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */
_STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */
char fpu_rsrv4[14*16]; /* reserved */
int fpu_reserved1;
;
Constant Summary collapse
- FLAVOR =
2
Instance Method Summary collapse
Methods included from FFIStructInclude
#method_missing, #methods, #respond_to?
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Ragweed::FFIStructInclude
Instance Method Details
#dump(&block) ⇒ Object
759 760 761 762 763 764 765 766 767 768 769 770 |
# File 'lib/ragweed/wraposx/thread_context.rb', line 759 def dump(&block) maybe_hex = lambda {|a| begin; "\n" + (" " * 9) + block.call(a, 16).hexdump(true)[10..-2]; rescue; ""; end } maybe_dis = lambda {|a| begin; "\n" + block.call(a, 16).distorm.map {|i| " " + i.mnem}.join("\n"); rescue; ""; end } string =<<EOM ----------------------------------------------------------------------- CONTEXT: trapno: #{self.trapno.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.trapno)} err: #{self.err.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.err)} faultvaddr: #{self.faultvaddr.to_s(16).rjust(16, "0")} #{maybe_hex.call(self.faultvaddr)} EOM end |