-
-
Notifications
You must be signed in to change notification settings - Fork 671
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
DCE cleanup 2024 #11485
DCE cleanup 2024 #11485
Conversation
also copy class @:ifFeature to field @:ifFeature
Can't get rid of Meta.Used entirely yet because enums and abstracts don't have flags
instead play them in DCE because otherwise we won't deal with __init__ correctly
The JVM tests on windows 64 fail consistently, so there's a chance that it's related to the changes here somehow. I can't make sense of the CI log though:
|
it won't help
Uhm okay, random commit fixed this... no idea what that was. |
api doc gen was broken since this. https://github.com/HaxeFoundation/api.haxe.org/actions/runs/7499155735/job/20415432376
|
Thanks for catching that! I just tried to clone api.haxe.org but I'm having some trouble:
I've attempted a blind fix here: f6805db |
Right, it wants |
That was #11477 ( I updated the submodule, let's see what CI thinks ~ (still broken, though that does seem to be similar to what I have locally which does not break 🤔) |
@andyli Both Rudy and I cannot reproduce this locally, and we can't tell what state the server has exactly when encountering this problem. Could you give us a hint how to replicate the behavior? |
I merely discovered it since I got GitHub Actions emails about the broken build over api.haxe.org. I don't have much idea on how to reproduce it. I tried it locally and here are what I discovered: |
@andyli Should be fixed now; api.haxe.org CI is green again :) |
* remove m_if_feature, make DCE check the meta directly instead also copy class @:ifFeature to field @:ifFeature * add CfUsed, CfMaybeUsed, CUsed Can't get rid of Meta.Used entirely yet because enums and abstracts don't have flags * don't play silly meta merge games in the typeloader instead play them in DCE because otherwise we won't deal with __init__ correctly * update haxelib it won't help
* remove m_if_feature, make DCE check the meta directly instead also copy class @:ifFeature to field @:ifFeature * add CfUsed, CfMaybeUsed, CUsed Can't get rid of Meta.Used entirely yet because enums and abstracts don't have flags * don't play silly meta merge games in the typeloader instead play them in DCE because otherwise we won't deal with __init__ correctly * update haxelib it won't help
@:used
and@:maybeUsed
for fields.@:used
for classes. The meta still exists for enums and abstracts because those don't have flags.m_if_feature
, instead have DCE check@:ifFeature
metadata itself.CfMaybeUsed
at the end of DCE. This is set by the typer, so removing it in post-processing is wrong.The unit.js diff against development shows the removal of
unit_issues__$Issue2785_Child
, which makes sense to me because it's unused and the only@:keep
exists on its parent class. The dump diff of the JVM tests shows 3000 removed@:used
metadata and 45 removed lines. 13 of those are from the Issue2785 thing, and the other 32 are... I don't know where.Edit: I think my diff tool was lying to me, if I avoid printing
@:used
there are 0 differences.