This is a general cleanup and improvement of LTO, as well as a quick fix to remove a workaround in the Makefiles that disabled LTO for g1ParScanThreadState.cpp due to the old poisoning mechanism causing trouble. The \-Wno\-attribute\-warning change here can be removed once Kim's new poisoning solution is integrated.
- -fno-omit-frame-pointer is added to gcc to stop the linker from emitting code without the frame pointer
- -flto is set to $(JOBS) instead of auto to better match what the user requested
- -Gy is passed to the Microsoft compiler. This does not fully fix LTO under Microsoft, but prevents warnings about -LTCG:INCREMENTAL at least