Changeset 49f8f22 in git


Ignore:
Timestamp:
2011-04-27T06:43:43Z (9 years ago)
Author:
Xuefer <xuefer@…>
Branches:
3.0, 3.1, 3.2, master, trunk
Children:
a6c2fd3
Parents:
14a0dc6
Message:

Decompiler: recognize top level goto

git-svn-id: svn://svn.lighttpd.net/xcache/trunk@808 c26eb9a1-5813-0410-bd6c-c2e55f420ca7

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Decompiler.class.php

    r14a0dc6 r49f8f22  
    781781        }
    782782        // }}}
     783        // {{{ goto
     784        if ($firstOp['opcode'] == XC_JMP && !empty($firstOp['jmpouts']) && $firstOp['jmpouts'][0] == $range[1] + 1) {
     785            $this->removeJmpInfo($EX, $range[0]);
     786            $firstOp['opcode'] = XC_GOTO;
     787            $target = $firstOp['op1']['var'];
     788            $firstOp['goto'] = $target;
     789            $opcodes[$target]['gofrom'][] = $range[0];
     790
     791            $this->recognizeAndDecompileClosedBlocks($EX, $range, $indent);
     792            return false;
     793        }
     794        // }}}
    783795        // {{{ try/catch
    784796        if (!empty($firstOp['jmpins']) && $opcodes[$firstOp['jmpins'][0]]['opcode'] == XC_JMP
Note: See TracChangeset for help on using the changeset viewer.