Skip to content

Commit

Permalink
[loading]: Rework preferences loading
Browse files Browse the repository at this point in the history
Implements the `Preferences` loading framework as outlined in [0]. The
most drastic change is that the list of compile-time preferences is no
longer sequestered within its own dictionary, but is instead
autodetected at compile-time and communicated back to the compiler.
This list of compile-time preferences is now embedded as an array of
strings that the loader must load, then index into the preferences
dictionary with that list to check the preferences hash.

In a somewhat bizarre turn of events, because we want the `.ji` filename
to incorporate the preferences hash, and because we can't know how to
generate the hash until after we've precompiled, I had to move the `.ji`
filename generation step to _after_ we precompile the `.ji` file.

[0]: #37791 (comment)
  • Loading branch information
staticfloat committed Oct 19, 2020
1 parent 777f23d commit c9aba74
Show file tree
Hide file tree
Showing 3 changed files with 233 additions and 79 deletions.
Loading

0 comments on commit c9aba74

Please sign in to comment.