> This PR cleans the handling of unset strict fields which is needed for 
> stackmap generation.
> In the current impl, this is done with UnsetFieldsInfo which is prepared by 
> Flow, and then propagated to Gen/Code.
> The problem with this approach is that we introduce unnecessary coupling, as 
> we need to keep track where, at the AST level, an assignment to a strict 
> uninit variable takes place.
> This leads to issues as the AST-oriented view is too high-level for the kind 
> of manipulation that Code needs.
> By modelling unset fields as a bitset in Code.State (same as what we do to 
> keep track of local variable ranges), state merges are dealt with more 
> naturally and succinctly.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

Maurizio Cimadamore has updated the pull request with a new target base due to 
a merge or a rebase. The pull request now contains three commits:

 - Merge branch 'lworld' into unset_field_info_code
 - Merge branch 'lworld' into unset_field_info_code
 - Initial push

-------------

Changes: https://git.openjdk.org/valhalla/pull/2487/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2487&range=01
  Stats: 234 lines in 6 files changed: 28 ins; 184 del; 22 mod
  Patch: https://git.openjdk.org/valhalla/pull/2487.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2487/head:pull/2487

PR: https://git.openjdk.org/valhalla/pull/2487

Reply via email to