-
Notifications
You must be signed in to change notification settings - Fork 237
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
--MLish and extraction #3142
--MLish and extraction #3142
Conversation
For both compiler and library
--MLish was preventing normalization of lbdefs. Reenable it.
I think I would like this better. And make |
We do not normalize terms for extraction when MLish is on. I think it was intended as a performance benefit for extracting the compiler sources, but maybe it doesn't matter any more. |
Me too. |
…em for dune This eliminates the build race we observed, and seems like a good thing to be able to look at both extractions of a file (in the overlap set of fstarc and fstarlib). `make package` still works.
Updated with:
Also FWIW I tried a build of the library without any compiler files, the result is very small, down to 1.7MB from 35M.
|
This is meant to fix the snapshots diffs observed locally. The problem is that some files in ulib (those that the compiler depends on) are extracted twice: once by the extraction of the compiler and once for the library snapshot. Both of these write to the same file, so any discrepancy between them causes a racy build.
I may be forgetting the details of our discussion some time ago but this dual extraction is a bit problematic, first it's repeated work, and second can have these subtle problems.
This PR makes everything extract with --MLish, which works fine after a fix or two.
What I also don't understand is if there's a reason why we extract with --MLish.. why does extraction care? FWIW I tried also disabling --MLish on extraction everywhere and this also works.
@nikswamy @tahina-pro any opinions?