Increase ops when calling functions in most contexts #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
Should resolve upstream issue wiremod#2958
Changes
ExprCallandExprMethodCallresolvers to add ops when calling functionsExprCalluser functions were adding opsImpact
Prevents calling functions an unlimited number of times (until hitting time quota, if enabled)
Testing
@strictadd ops equal to the cost of the function@strictadd ops equal to the cost of the function or15if not defined,plus10if the function is "legacy"2if not defined2if not defined, plus1for being legacySomeVar:someFunction())Note that as I'm unfamiliar with the compiler, I'm unsure on the following two points:
What classes a function as "legacy"registerFunctionandlegacyset to either undefined ortruein the optionsx or 123checks were done for user functions already, which I've replicated