-
Notifications
You must be signed in to change notification settings - Fork 5
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
Remove StateBase vtables #8
Comments
Smattr
added a commit
that referenced
this issue
Mar 1, 2018
We no longer rely on this class and don't need it going forwards. In theory, this should remove StateBase's vtable but we need some further experimentation to confirm this. Related to Github #8 "Remove StateBase vtables"
Smattr
added a commit
that referenced
this issue
Mar 1, 2018
This finally achieves our goal of reducing StateBase to a vtable-less POD. Closes Github #8 "Remove StateBase vtables"
Closed in eeb0e2b. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Quoting something from the current sources:
Having
StateBase
participate in a class hierarchy is causing problems. Specifically, I didn't anticipate that all virtual calls cannot be collapsed at compile-time (e.g. a parameter to a function that is a reference to an integer that is not known to be in the state vector or in a local variable). Apart from the problem described above, it is highly undesirable forStateBase
to have a vtable for allocation reasons. Checking can allocate millions or billions of these and the vtables add up.We should refactor this area to pare back
StateBase
to something closer to a C struct with a few helpers.The text was updated successfully, but these errors were encountered: