Skip to content

fix: base address dependant storage#225

Merged
paxcut merged 4 commits intomasterfrom
fix/base_address_dependant_storage
Apr 11, 2026
Merged

fix: base address dependant storage#225
paxcut merged 4 commits intomasterfrom
fix/base_address_dependant_storage

Conversation

@paxcut
Copy link
Copy Markdown
Collaborator

@paxcut paxcut commented Mar 25, 2026

The pattern language evaluator uses storage whose size is calculated using the value offset. When a base address has been set that is not zero, the storage allocated is set incorrectly. This PR attempts to correct this by detecting when the value is from the main section and in that case removing the base address from the offset so that the storage size becomes independent of the base address.

paxcut and others added 4 commits March 25, 2026 10:52
The pattern language evaluator uses storage whose size is calculated using the value offset. When a base address has been set that is not zero, the offset will then increase and so will the storage allocated. To correct this we detect when patterns are using the main section to calculate the storage size based on offset that has the base address removed.
…iable was using the offset of the instance inside the input file (value->getOffset()) to calculate the heap storage size instead of using the offset of the instance inside the pattern that occupies the heap (pattern->getOffset()).
@paxcut paxcut merged commit f690fea into master Apr 11, 2026
5 checks passed
@paxcut paxcut deleted the fix/base_address_dependant_storage branch April 11, 2026 15:38
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.

1 participant