Skip to content
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

Expand target bit set, shrink file size, and add loongarch64-linux-gnusf #12

Merged
merged 7 commits into from
Oct 6, 2024

Conversation

alexrp
Copy link
Member

@alexrp alexrp commented Sep 23, 2024

Expanding the target bit set from u32 to u64 results in an unacceptable size increase. So instead, I changed it to be written as a u64 in ULEB128. Even after adding loongarch64-linux-gnusf, the abilists file shrunk from 269 KB to 265 KB. I also moved the inclusion terminal bit over to the library index byte since that value is expected to be very small ~forever, shrinking the file further to 242 KB (because that bit was kind of undermining ULEB128). Finally, I changed the object size to be u16 written as ULEB128 too, resulting in a final size of 240 KB.

Closes #11.

@andrewrk
Copy link
Member

andrewrk commented Oct 3, 2024

Nice work, clever solution!

@alexrp alexrp merged commit b23be92 into ziglang:main Oct 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

We have hit the limit of the target bit set in the format
2 participants