+ update 2020: WARNING - support of the decompiler is now VERY LIMITED. There are no active developers. This means we will NOT develop new features and/or fix most of bugs. We left the tracker running in case somebody from community would like to work on it. Sorry for the inconvenience.
State: closed new: Initial state. As long as issue is in this state, the work on the issue has not yet begun. opened: Opened state means developer started working on the issue. Feature/Fix will probably be in the next release. postponed: This means developer is not working on it now, for some reason it cannot be implemented now. Issue may be opened again in the future. upgraded: Issue is in upgraded state when developer made changes to the program and new version was released. closed: This means the user is satisfied with issue results and no more changes are needed. invalid: These issues cannot be solved. ignored: Developer decided to take no action on this issue. returned: Program changes were made but user is not satisfied and returned the issue.
I keep running into this situation:
; Generate assignment statements:
setlocal_2 ; _loc2_=true
; 10 08 00 00
jump ofs000f ; Unconditional branch
ofs000f:setlocal_3 ; _loc3_=false
; Dead code A:
getlocal_3 ; Push _loc3_ on stack
; 11 64 00 00
iftrue ofs0093 ; False, so branch not taken. Also should pop, right?
; Dead code B:
; d2 ; Push _loc2_ on stack
; 2a ; Do it again.
; 11 03 00 00
iftrue ofs003e ; True, branch taken. Again, should pop off stack.
; 12 06 00 00
ofs003e:iffalse ofs0048 ; True, branch not taken. Again, should pop off stack.
// Assignment statements:
var _loc2_:* = true;
var _loc3_:* = false;
// Dead code A:
// Dead code B:
Shouldn't no code be generated at all?