Skip to content

Conversation

@Damtev
Copy link
Member

@Damtev Damtev commented Sep 11, 2023

  • Introduced static refs - a special type of UConcreteHeapRef with negative addresses that could be equal to USymbolicHeapRef but not UConcreteHeapRef. Static refs are allocated for class refs, string constants, and enum values in the corresponding static initializer. It is possible to configure JcContext in a special way that all refs allocated in static initializers will receive negative addresses, but for now, as it was mentioned, it is used only for enums.
  • All mutable primitive static fields after analyzing the corresponding static initializers are transformed to the symbolic refs - to be considered as mutable input.
  • Introduced special resolving for enum values - to ensure their correctness.

@Damtev Damtev requested a review from Saloed September 11, 2023 08:49
@Damtev Damtev changed the title Introduced static refs, supported enums WIP: Introduced static refs, supported enums Sep 11, 2023
@Damtev Damtev force-pushed the damtev/enums_new_version branch from 3f9508a to 64c7bfb Compare September 13, 2023 08:05
@Damtev Damtev changed the title WIP: Introduced static refs, supported enums Introduced static refs, supported enums Sep 13, 2023
@Damtev Damtev force-pushed the damtev/enums_new_version branch from e72176c to d4e90f0 Compare September 15, 2023 10:45
@Damtev Damtev force-pushed the damtev/enums_new_version branch from 569e728 to 38aa3ba Compare September 18, 2023 08:25
@Damtev Damtev merged commit 76ddc87 into main Sep 19, 2023
@Saloed Saloed deleted the damtev/enums_new_version branch December 11, 2023 13:23
Saloed pushed a commit that referenced this pull request Jun 2, 2025
petrukhinandrew pushed a commit to petrukhinandrew/usvm that referenced this pull request Aug 27, 2025
Signed-off-by: Старцев Матвей <tozarin@yandex.ru>
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.

4 participants