Skip to content
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

Make VMFrame an AbstractVMObject and allow for more inlining #54

Merged
merged 5 commits into from
Aug 12, 2024

Conversation

smarr
Copy link
Member

@smarr smarr commented Aug 11, 2024

AbstractVMObject is simpler than VMObject, avoids some fields and other bits.

The rest is moving some bits to headers to allow the compilers to inline.

smarr added 5 commits August 11, 2024 23:10
By moving them to the headers.

Signed-off-by: Stefan Marr <[email protected]>
It doesn’t need to be a VMObject, and ideally it wouldn’t be a AbstractVMObject either, but one step after another.

Signed-off-by: Stefan Marr <[email protected]>
Move the error handling behind a method boundary and make the rest inlinable.

Signed-off-by: Stefan Marr <[email protected]>
@smarr smarr merged commit 8a8617c into SOM-st:master Aug 12, 2024
19 checks passed
@smarr smarr deleted the frame-and-inlining branch August 12, 2024 08:40
@smarr
Copy link
Member Author

smarr commented Aug 12, 2024

The main performance impact comes from making sure array accessors can be inlined:
median -3% (min. -34%, max. 12%)
https://rebench.dev/SOMpp/compare/52e8c0e22132407d148b767db5425d4a0a6a0233..3ef5fb9669e0a4d7afb9425fe703bdb7667f2f06

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.

1 participant