Sat, 01 Sep 2018 00:18:23 +0100 UDIS86: fix `UDIS86Instruction >> branchTarget` to handle indirect branch using memory argument default tip
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 01 Sep 2018 00:18:23 +0100] rev 51
UDIS86: fix `UDIS86Instruction >> branchTarget` to handle indirect branch using memory argument ...such as: jmp 0x0($rdx) In that case, branch target address is not statically known so `nil` is returned. Callers must handle this.
Wed, 29 Aug 2018 21:32:19 +0100 UDIS86: fixed crash caused by keeping `ud_t` structure on smalltalk heap
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 29 Aug 2018 21:32:19 +0100] rev 50
UDIS86: fixed crash caused by keeping `ud_t` structure on smalltalk heap ...and this the structure may move. Thisx resulted on hard-to-debug heap corruptions because `ud_t.asm_buf` is initializad to a pointer to `ud_t.asm_buf_int`. Therefore when the bytearray moved, the pointer become invalid and subsequent call to `ud_disassemble()` smashed whatever object happened to be where the bytearray were. The fix is straigtforward, use `ExternalBytes`! Sigh.
Thu, 16 Aug 2018 14:10:06 +0100 Minor tweaks to shorten method names.
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 16 Aug 2018 14:10:06 +0100] rev 49
Minor tweaks to shorten method names.
Mon, 25 Jun 2018 15:45:17 +0100 UDIS86: Added support for inspecting operands
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 25 Jun 2018 15:45:17 +0100] rev 48
UDIS86: Added support for inspecting operands
Fri, 17 Nov 2017 13:44:50 -0300 libudis86sx: Fixed build support files
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 17 Nov 2017 13:44:50 -0300] rev 47
libudis86sx: Fixed build support files
Tue, 23 Aug 2016 23:23:39 +0100 C1: Initial support for basic debug info
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 23 Aug 2016 23:23:39 +0100] rev 46
C1: Initial support for basic debug info
Mon, 22 Aug 2016 23:46:22 +0100 C1: Emit interrupt check on backward branch
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 22 Aug 2016 23:46:22 +0100] rev 45
C1: Emit interrupt check on backward branch ...so inlined loops are interruptable.
Mon, 15 Aug 2016 17:30:36 +0100 C1: Added support for branching
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 15 Aug 2016 17:30:36 +0100] rev 44
C1: Added support for branching In order to implement braning, a method is first pre-scanned for basic blocks by `C1BasicBlockAnalyzer*`. It returns an entry block (as `C1BasicBlock` instance) which is eventually linked to other blocks by its `successors` blocks. The compilation process then maps 1-to-1 each "C1" basic block to an LLVM basic block. When compiling, it starts with entry block and then recursivelly proceeds with successors.
Fri, 19 Aug 2016 19:13:06 +0100 Changed CompiledCode >> #codeObject to return nil if no code object is associated
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 19 Aug 2016 19:13:06 +0100] rev 43
Changed CompiledCode >> #codeObject to return nil if no code object is associated with the receicer. Also do not require a CompiledCode to be marked with F_DYNAMIC as users may forget. The VM API `stxCompiledCodeObjectForCompiledCode()` is robust enough to handle it.
Thu, 11 Aug 2016 09:14:29 +0100 Added support for integer arithmetics
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 11 Aug 2016 09:14:29 +0100] rev 42
Added support for integer arithmetics
(0) -10 tip