Does anyone use -0 3z for the compiler?

I've been seeing some puzzling stack traces in ERA -- sequences of calls that aren't possible in the code. For example, I'll see functions in the Backtrace that aren't reachable from the functions below them.  Heck, I've seen functions in the Backtrace that aren't reachable at all (they're part of the common core but not called by the given app).

I'm wondering if the optimizer with 3z is either (a) creating issues that cause crashes or (b) showing the wrong line number/stack traces.

  • I use 3z ever since it was introduced. I don't see evidence of any of the problems you mentioned. Regarding b) it was known even before the optimization was added to the compiler that the line numbers can sometimes be off. That was for sure true when you looked at the hexa dumps (i.e from the logfile on the device) but I think I also saw a few times that the line number was a few lines off

  • I'm using these options for my Fenix 7X, and I have not yet seen ssues with line numbers:

    -d fenix7x_sim -w -l 1 -O 3z

  • I removed the 'z' part (just doing -O 3) and reuploaded.  Going to see if that changes anything...?  I've been seeing a number of really odd ERA reports showing up lately, like a random failure reading a Property value that's definitely there.  Unless the line numbers can't be trusted at all....

  • A feature I have seen is that sometimes I will make a change to a file and save it, but when I recompile it uses something it previously compiled from cache. This is really obvious when ghost (since deleted) println statements still show up in output. I have to delete the contents of the bin directory to force it to recompile.

  • I'm not sure there's a real difference with or without z. Last time I checked (about half a year ago ) I didn't see any size difference. Maybe I wasn't checking the right device. Not sure. You should be able to build a prg with and without z and compare the 2 files (if it really works then IMHO you'll even see the difference in the code and data Suze that is printed at the end of the build)

  • I don't know that the file size matters as much as the code size in the little bit of memory available. If this didn't change then it would not be a useful option. I can't help but be curious how the 3p option affects speed.

  • I just logged a Bug Report:
    ERA Backtrace is Broken (CIQ 7.3.1)

    This has been really frustrating getting but reports and not knowing where to go to fix them.