Skip to content

Conversation

@Saloed
Copy link
Collaborator

@Saloed Saloed commented Jun 29, 2023

Initial support for static fields

  • Represent statics with UFieldLValue using unique concrete address for each JcClass.
  • Analyze static initializers on first access.

@Saloed Saloed force-pushed the saloed/statics branch 2 times, most recently from b4b4e72 to 0d23a17 Compare June 30, 2023 19:12
@CaelmBleidd
Copy link
Member

I didn't get, how it works with initialization time. To resolve static values in results we have to have some kind of initial memory for them, and it is different from the one we use for regular fields. How does resolve for static fields work?

@Saloed
Copy link
Collaborator Author

Saloed commented Jul 11, 2023

I didn't get, how it works with initialization time. To resolve static values in results we have to have some kind of initial memory for them, and it is different from the one we use for regular fields. How does resolve for static fields work?

We currently don't have a mode when statics are treated as input values. For now, we run the static initializer once on a first access as if we were analyzing the entrypoint in a fresh environment.

@dvvrd dvvrd merged commit ccc8d8e into main Jul 17, 2023
@sergeypospelov sergeypospelov mentioned this pull request Jul 17, 2023
57 tasks
@Saloed Saloed deleted the saloed/statics branch July 26, 2023 07:54
petrukhinandrew pushed a commit to petrukhinandrew/usvm that referenced this pull request May 8, 2025
* [feat] Exception tests

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Path variables breaking

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Refactor PVs

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Make @repository classes not break USVM

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [feat] Rework mocks (+ primitive PV) (+ move methods to JSA)

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Used immutable list for mocks

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Refactor (used mocked calls instead of state) (narrowed types for exceptions) (remove unnecessary lists)

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

---------

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>
petrukhinandrew pushed a commit to petrukhinandrew/usvm that referenced this pull request Jun 19, 2025
* [feat] Exception tests

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Path variables breaking

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Refactor PVs

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Make @repository classes not break USVM

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [feat] Rework mocks (+ primitive PV) (+ move methods to JSA)

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Used immutable list for mocks

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Refactor (used mocked calls instead of state) (narrowed types for exceptions) (remove unnecessary lists)

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

---------

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>
petrukhinandrew pushed a commit to petrukhinandrew/usvm that referenced this pull request Aug 15, 2025
* [feat] Exception tests

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Path variables breaking

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Refactor PVs

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Make @repository classes not break USVM

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [feat] Rework mocks (+ primitive PV) (+ move methods to JSA)

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Used immutable list for mocks

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

* [fix] Refactor (used mocked calls instead of state) (narrowed types for exceptions) (remove unnecessary lists)

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>

---------

Signed-off-by: Arthur Alekseev <arthur100500@gmail.com>
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.

5 participants