From ece63cbe2caf8d5ec7f9ec918efe826a9e60c6ac Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Wed, 4 Nov 2026 13:38:02 +0100 Subject: [PATCH] Build with /EHa /Oy-: target uses asynchronous EH and keeps frame pointers Shapes 0-5 and 8 (all C++ shapes): /EHsc -> /EHa, add /Oy-. C shapes 6, 7, 9 unchanged. Evidence: framed ~basic_string fn_00586 and /EHa ctor EH-state ordering (EHa A/B: mean 67.90 -> 72.45%); /Oy- raises RagEffect SprayPond 0.681 -> 0.836 and GrimTooth 0.886 -> 0.904. --- data/compile.json | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/data/compile.json b/data/compile.json index f11321a96..6ac1b3dff 100644 --- a/data/compile.json +++ b/data/compile.json @@ -13,9 +13,10 @@ "-I${SRC}/Source", "/DWIN32", "/D_WINDOWS", - "/EHsc", + "/EHa", "/O2", "/Ob2", + "/Oy-", "/DNDEBUG", "-std:c++20", "-MD", @@ -35,9 +36,10 @@ "-I${SRC}/ThirdParty/zlib", "/DWIN32", "/D_WINDOWS", - "/EHsc", + "/EHa", "/O2", "/Ob2", + "/Oy-", "/DNDEBUG", "-std:c++20", "-MD", @@ -61,9 +63,10 @@ "-I${SRC}/ThirdParty/jsoncpp/include", "/DWIN32", "/D_WINDOWS", - "/EHsc", + "/EHa", "/O2", "/Ob2", + "/Oy-", "/DNDEBUG", "-std:c++20", "-MD", @@ -84,9 +87,10 @@ "-I${SRC}/ThirdParty/zlib", "/DWIN32", "/D_WINDOWS", - "/EHsc", + "/EHa", "/O2", "/Ob2", + "/Oy-", "/DNDEBUG", "-std:c++20", "-MD", @@ -110,9 +114,10 @@ "-I${SRC}/ThirdParty/libpng", "/DWIN32", "/D_WINDOWS", - "/EHsc", + "/EHa", "/O2", "/Ob2", + "/Oy-", "/DNDEBUG", "-std:c++20", "-MD", @@ -131,9 +136,10 @@ "-I${SRC}/ThirdParty/lua/src", "/DWIN32", "/D_WINDOWS", - "/EHsc", + "/EHa", "/O2", "/Ob2", + "/Oy-", "/DNDEBUG", "-std:c++20", "-MD", @@ -184,9 +190,10 @@ "-I${SRC}/ThirdParty/jsoncpp/include", "/DWIN32", "/D_WINDOWS", - "/EHsc", + "/EHa", "/O2", "/Ob2", + "/Oy-", "/DNDEBUG", "-std:c++20", "-MD",