Skip to content
This repository has been archived by the owner on Oct 4, 2022. It is now read-only.

Bugfix and API adjustment for reference types support. #79

Merged
merged 2 commits into from
Jul 2, 2020

Conversation

cfallin
Copy link
Member

@cfallin cfallin commented Jun 27, 2020

This PR fixes a small bug in the reference-type support from #80, and makes a minor API adjustment.

In particular, this bugfix ensures that the "reffyness" computation is as precise as we need it to be (by propagating reffyness only to specific ranges associated with registers, rather than all of them, since e.g. a given rreg might be reffy at one program-point but not another).

Tested by integrating into Cranelift (PR over there will be created once this lands) and then into SpiderMonkey from there (patch also pending).

I'll plan to add checker support to verify stackmaps so that we can fuzz this and have a bit more confidence in it.

@cfallin cfallin changed the title Support for reference types in backtracking allocator. Bugfix and API adjustment for reference types support. Jul 2, 2020
lib/src/analysis_data_flow.rs Outdated Show resolved Hide resolved
This comment changes the reftypes analysis that computes "reffyness" of
each virtual/live range: it only propagates reffyness precisely, to
specific ranges, not to all ranges associated with a register.
@cfallin cfallin merged commit 6b2764a into bytecodealliance:main Jul 2, 2020
@cfallin cfallin deleted the reftypes branch July 2, 2020 21:47
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants