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

Optimize write barrier when the child is a perminately allocated object #37043

Merged
merged 1 commit into from
Aug 19, 2020

Conversation

yuyichao
Copy link
Contributor

@yuyichao yuyichao commented Aug 14, 2020

Currently support Int8, UInt8 and Symbol.
Most useful for Symbol since box with known Int8 or UInt8 types are almost always allocated locally which now automatically handled by our llvm pass after #36991.

I believe this is the correct way / place to do this. Passing this information to LLVM passes without overhead and without causing any visible change to llvmcall (since this should be an optimization) seems quite hard... As long as type inference is doing a good job there should be little optimization opportunity missing here.

Another 0.4% reduction in sysimg code size...

Currently support `Int8`, `UInt8` and `Symbol`.
Most useful for `Symbol` since box with known `Int8` or `UInt8` types are almost always allocated locally.
@yuyichao yuyichao merged commit c15560e into master Aug 19, 2020
@yuyichao yuyichao deleted the yyc/codegen/perm-wb branch August 19, 2020 04:37
simeonschaub pushed a commit to simeonschaub/julia that referenced this pull request Aug 29, 2020
…ct (JuliaLang#37043)

Currently support `Int8`, `UInt8` and `Symbol`.
Most useful for `Symbol` since box with known `Int8` or `UInt8` types are almost always allocated locally.
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