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

Commits on Aug 1, 2022

  1. Remove MethodTableWriteableData and move its contents directly into t…

    …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.
    davidwrighton committed Aug 1, 2022
    Configuration menu
    Copy the full SHA
    f144e67 View commit details
    Browse the repository at this point in the history
  2. Initial work to put typeid into MethodTable

    - Most likely abandoned...
    davidwrighton committed Aug 1, 2022
    Configuration menu
    Copy the full SHA
    cf955a3 View commit details
    Browse the repository at this point in the history
  3. Adjust static variable allocation

    - 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
    davidwrighton committed Aug 1, 2022
    Configuration menu
    Copy the full SHA
    6f3316a View commit details
    Browse the repository at this point in the history
  4. It builds again

    davidwrighton committed Aug 1, 2022
    Configuration menu
    Copy the full SHA
    0f58825 View commit details
    Browse the repository at this point in the history