Mesa (master): gallivm: Handle code have ret correctly.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Sat Oct 9 11:13:26 UTC 2010


Module: Mesa
Branch: master
Commit: 53d7f5e107b82550024a57232f3333d2f76e39de
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=53d7f5e107b82550024a57232f3333d2f76e39de

Author: José Fonseca <jfonseca at vmware.com>
Date:   Sat Oct  9 12:08:25 2010 +0100

gallivm: Handle code have ret correctly.

Stop disassembling on unconditional backwards jumps.

---

 src/gallium/auxiliary/gallivm/lp_bld_debug.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.c b/src/gallium/auxiliary/gallivm/lp_bld_debug.c
index d3a5aff..8c1df0d 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.c
@@ -115,8 +115,10 @@ lp_disassemble(const void* func)
          }
       }
 
-      if ((ud_insn_off(&ud_obj) >= max_jmp_pc && ud_obj.mnemonic == UD_Iret) ||
-           ud_obj.mnemonic == UD_Iinvalid)
+      if (ud_obj.mnemonic == UD_Iinvalid ||
+          (ud_insn_off(&ud_obj) >= max_jmp_pc &&
+           (ud_obj.mnemonic == UD_Iret ||
+            ud_obj.mnemonic == UD_Ijmp)))
          break;
    }
 




More information about the mesa-commit mailing list