Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
cheerp_allocate and related functions had a few issues, in particular they were not used consistently and so a lot of edge cases existed.
On top of that, for Wasm we would lose the information about the original allocation/deallocation function called, and we defaulted to malloc/free. This meant that, for example, overriding the global new/delete would not have any effect.
The new rules are: we ALWAYS use cheerp_allocate & co. For Wasm, we also include as first parameter the original function. We also do it for deallocation in genericjs when the argument might have come from linear memory.
Then in GDA in llc we replace with the original function, is present.
All the other changes are just minor consequences of this new system.