View Revisions: Issue #36299

Summary 0036299: [Patch] Bug fix for jump optimisations under debug mode
Revision 2019-11-12 03:59 by J. Gareth Moreton
Description When building packages with DEBUG=1, some of the files can sometimes raise internal error 2018062911 under x86_64-linux. This was due to the presence of a "tai_tempalloc" entry that the code wasn't expecting in OptPass2Jcc.

Now, for both OptPass2Jcc and SkipLabelFast, if any entries are found that belong to the SkipInstr set (which includes tai_tempalloc), the stripping code will move to the next entry and leave it alone. The internal error is still raised though if it isn't a label or align and doesn't belong to the set (i.e. is an instruction or something else that affects program flow in some way).
Revision 2019-11-12 03:19 by J. Gareth Moreton
Description When building the compiler with DEBUG=1, some packages and other projects can sometimes raise internal error 2018062911 under x86_64-linux. This was due to the presence of a "tai_tempalloc" entry in between Jcc/MOV and the destination label that the code wasn't expecting in OptPass2Jcc.

Now, for both OptPass2Jcc and SkipLabelFast, if any entries are found that belong to the SkipInstr set (which includes tai_tempalloc), the stripping code will move to the next entry and leave it alone. The internal error is still raised though if it isn't a label or align and doesn't belong to the set (i.e. is an instruction or something else that affects program flow in some way).