-
-
Notifications
You must be signed in to change notification settings - Fork 262
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Don't emit init symbol for zero-initialized structs #3131
Conversation
Last time I looked at this, I think we came to the conclusion that the symbol always needs to be emitted because of people referencing it, but becaue |
Ah yeah, that rings a bell now, I completely forgot about it.
Me neither, it's not referenced by the TypeInfo either, so I can only think of referencing it manually by name (pragma mangle tricks etc.). |
And optimize previous usages of it to direct memset-zero.
Do we want to risk this (replacing the assert by a fatal codegen error obviously) or should I take a step back, re-emitting the symbols and only avoiding their usage? |
I wish I could test this on Weka's codebase, but there is too much breakage with recent compilers to test this quickly. |
Okay, would be nice; I'll defer the beta then (but please let me know if you don't find any time). |
Done, testing showed no issues. Good to go from my side. |
Thx mate. |
Thanks, @kinke ! I just backported this fix to our compiler, to see its effect on executable size. Anyway, I'm trying my luck at changing classes to skip the init symbols too, and hoping I'm doing it correctly :) |
It'd be a violation or at least a big dangerous breaking change of the |
Oh bummer :-( Thanks for the input! |
No description provided.