We recently discovered an interesting result of LTO, whereby Isolate::Initialize() was failing where it checks that the platform's foreground task runner has non-nestable tasks enabled:
https://source.chromium.org/chromium/chromium/src/+/main:v8/src/api/api.cc;l=8690-8696?q=Isolate::Initi&ss=chromium
As our implementation or v8::TaskRunner lives outside of this dll, it wasn't generated with this extra slot for the value next to its vtable, so at runtime Isolate::Initialize() was loading garbage and thus the check was failing.
Is there any reason these weren't marked already? If not, I'm happy to submit a patch.
Thanks,
Daryl.