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

[WIP] Adjust dynamic static variables to need less code #73185

Closed
wants to merge 4 commits into from

Conversation

davidwrighton
Copy link
Member

This is a work in progress, converted into a PR to avoid losing the work.

…he MethodTable

- This saves 1 pointer overall in MethodTable size
- Also we now have enough bits to store both DynamicTypeId and TypeId directly in the MethodTable. That will be the next bit of work.
- Drive by fixes include:
  - removing the concept of "UnrestoreTypeKey" which should have a small performance boost for boxing on Amd64/X86 platforms
 - Unrestored needs to stay as it may impact the behavior of type loading itself.
 - We had some logic to allow array type descs to set the type object on the template methodtable. That is also removed as array type descs no longer exist.
- PinnedHeapHandle table now attached to LoaderAllocator not AppDomain
- Utilize pinned heap instead of allocating then pinning
- Change implementation of normal statics access to no longer need usage of LOADERHANDLE, thus simplifying some high performance code
@ghost
Copy link

ghost commented Aug 31, 2022

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghost ghost locked as resolved and limited conversation to collaborators Oct 1, 2022
@davidwrighton davidwrighton deleted the TypeIDPerfFix branch April 13, 2023 18:53
This pull request was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant