diff options
| author | Cyrille Bagard <nocbos@gmail.com> | 2013-01-20 13:10:06 (GMT) | 
|---|---|---|
| committer | Cyrille Bagard <nocbos@gmail.com> | 2013-01-20 13:10:06 (GMT) | 
| commit | 37fd2f1329c56078bc8a8b2fc955aa001c109c01 (patch) | |
| tree | 71bcce9a3eaf6b7569d1f1d3e057752ae517ebde /src/arch/dalvik/decomp/ret.c | |
| parent | a9bbd894bd25f7c2bb72fb7d4064b19377d90c6d (diff) | |
Took care of shared allocations between blocks when converting registers.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@326 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/dalvik/decomp/ret.c')
| -rw-r--r-- | src/arch/dalvik/decomp/ret.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/src/arch/dalvik/decomp/ret.c b/src/arch/dalvik/decomp/ret.c index b7c5414..47179f3 100644 --- a/src/arch/dalvik/decomp/ret.c +++ b/src/arch/dalvik/decomp/ret.c @@ -44,11 +44,14 @@  GDecInstruction *dalvik_decomp_instr_return(const GArchInstruction *instr, GDecContext *ctx)  {      GDecInstruction *result;                /* Instruction à retourner     */ +    vmpa_t addr;                            /* Adresse de l'instruction    */      GArchOperand *operand;                  /* Opérande de l'instruction   */      GDecInstruction *reg;                   /* Pseudo-registre redéfini    */ +    g_arch_instruction_get_location(instr, NULL, NULL, &addr); +      operand = g_arch_instruction_get_operand(instr, 0); -    reg = g_dec_context_convert_register(ctx, operand, false); +    reg = g_dec_context_convert_register(ctx, operand, false, addr);      result = g_return_expression_new(G_DEC_EXPRESSION(reg)); | 
