Skip to content

Conversation

@ehaas
Copy link
Collaborator

@ehaas ehaas commented Nov 1, 2023

The C backend currently can't handle them. This is the only thing preventing the CBE from being able to produce valid C code from aro (I have not verified that the produced code actually works, however).

If the produced code works as expected, this will unblock ziglang/zig#17771

Does Relocation even need to be packed? It looks like we aren't bitcasting it, and it's 32 bytes regardless of whether it's packed or not (the bitsize is 184 when packed vs 256 when not packed, but if we're only using it in ArrayListUnmanaged then that shouldn't matter, right?)

Options goes from 64 bytes -> 104 bytes when not packed, but we only have 1 of those per Compilation.

@Vexu
Copy link
Owner

Vexu commented Nov 2, 2023

I removed the TODO comment since the options struct was originally created using the original packed struct semantics which didn't involve bit manipulation of 512 bit integers so the tiny memory increase should be negated by smaller code size.

@Vexu Vexu merged commit 87b6124 into Vexu:master Nov 2, 2023
@ehaas ehaas deleted the cbe-workaround branch November 2, 2023 15:43
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.

2 participants