[Vm-dev] [commit][3753] Do not use -O3 optimization, -O2 is safer and works well.

Andres Valloud avalloud at smalltalk.comcastbiz.net
Fri Dec 23 21:30:02 UTC 2016


Compiler manuals usually state -O3 and higher do not preserve language 
semantics.  It's going to be hard to prove "bug" in the non-default 
presence of a switch known to potentially produce undefined behavior.

I'd stick to defined behavior and -O2.  Moreover, if as noted -O3 seems 
to result in no benefit... -O2 is a pure win.

On 12/20/16 17:03 , commits at squeakvm.org wrote:
> This appears to be an actual compiler bug, although it goes away when print
> statements are added, so I cannot say for sure (and it is difficult to attach
> gdb to the newly spawned child process before it crashes). The bad behavior
> happens only with -O3 and there are no real performance benefits compared
> to -O2 (bytecodes faster, sends slower).


More information about the Vm-dev mailing list