-
Notifications
You must be signed in to change notification settings - Fork 26
Add live variables analysis before type inference #267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
detekt found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
d5d9536 to
878dd37
Compare
981b4ed to
71892b4
Compare
Lipen
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
usvm-ts-dataflow/src/test/kotlin/org/usvm/dataflow/ts/test/EtsTypeResolverPerformanceTest.kt
Outdated
Show resolved
Hide resolved
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/util/EtsTraits.kt
Outdated
Show resolved
Hide resolved
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/TypeInferenceManager.kt
Outdated
Show resolved
Hide resolved
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/ForwardAnalyzer.kt
Outdated
Show resolved
Hide resolved
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/ForwardAnalyzer.kt
Outdated
Show resolved
Hide resolved
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/Alias.kt
Outdated
Show resolved
Hide resolved
d205ad5 to
a04e483
Compare
|
@MForest7 thanks for your great work! 🇨🇳 🍜 🐼 |
Co-authored-by: Konstantin Chukharev <lipen00@gmail.com>
ForwardAnalyzerstores facts about the variable immediately after the last instruction where the variable was used andForwardFlowFunctiondrops facts about dead variables. This pre-analysis slightly increases the total performance without loss of precision.ForwardAnalyzerandForwardFlowFunctionsto enable/disable pre-analysis (alias and/or liveness)