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

Change temporary entrypoints to be lazily allocated #101580

Merged
merged 59 commits into from
Jul 14, 2024

Commits on Apr 25, 2024

  1. WorkingOnIt

    davidwrighton committed Apr 25, 2024
    Configuration menu
    Copy the full SHA
    ab85b04 View commit details
    Browse the repository at this point in the history
  2. It basically works for a single example.

    Baseline
    Loader Heap:
    ----------------------------------------
    System Domain:        7ffab916ec00
    LoaderAllocator:      7ffab916ec00
    LowFrequencyHeap:     Size: 0xf0000 (983040) bytes total.
    HighFrequencyHeap:    Size: 0x16a000 (1482752) bytes total, 0x3000 (12288) bytes wasted.
    StubHeap:             Size: 0x1000 (4096) bytes total.
    FixupPrecodeHeap:     Size: 0x168000 (1474560) bytes total.
    NewStubPrecodeHeap:   Size: 0x18000 (98304) bytes total.
    IndirectionCellHeap:  Size: 0x1000 (4096) bytes total.
    CacheEntryHeap:       Size: 0x1000 (4096) bytes total.
    Total size:           Size: 0x3dd000 (4050944) bytes total, 0x3000 (12288) bytes wasted.
    
    Compare
    Loader Heap:
    ----------------------------------------
    System Domain:        7ff9eb49dc00
    LoaderAllocator:      7ff9eb49dc00
    LowFrequencyHeap:     Size: 0xef000 (978944) bytes total.
    HighFrequencyHeap:    Size: 0x1b2000 (1777664) bytes total, 0x3000 (12288) bytes wasted.
    StubHeap:             Size: 0x1000 (4096) bytes total.
    FixupPrecodeHeap:     Size: 0x70000 (458752) bytes total.
    NewStubPrecodeHeap:   Size: 0x10000 (65536) bytes total.
    IndirectionCellHeap:  Size: 0x1000 (4096) bytes total.
    CacheEntryHeap:       Size: 0x1000 (4096) bytes total.
    Total size:           Size: 0x324000 (3293184) bytes total, 0x3000 (12288) bytes wasted.
    
    LowFrequencyHeap is 4KB bigger
    HighFrequencyHeap is 288KB bigger
    FixupPrecodeHeap is 992KB smaller
    NewstubPrecodeHeap is 32KB smaller
    davidwrighton committed Apr 25, 2024
    Configuration menu
    Copy the full SHA
    889f8a8 View commit details
    Browse the repository at this point in the history
  3. If there isn't a parent methodtable and the slot matches... then it b…

    …y definition the method is defining the slot
    davidwrighton committed Apr 25, 2024
    Configuration menu
    Copy the full SHA
    693d837 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    da774fb View commit details
    Browse the repository at this point in the history
  5. Get X86 building again

    davidwrighton committed Apr 25, 2024
    Configuration menu
    Copy the full SHA
    bb59e29 View commit details
    Browse the repository at this point in the history

Commits on May 1, 2024

  1. Configuration menu
    Copy the full SHA
    bfde6de View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    54b8ab6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7a4bd28 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2024

  1. Fix typo

    davidwrighton committed May 3, 2024
    Configuration menu
    Copy the full SHA
    66f2b39 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2024

  1. Configuration menu
    Copy the full SHA
    951a655 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    45a0b3b View commit details
    Browse the repository at this point in the history

Commits on May 7, 2024

  1. Configuration menu
    Copy the full SHA
    4e7f41d View commit details
    Browse the repository at this point in the history

Commits on May 8, 2024

  1. fix typo

    davidwrighton committed May 8, 2024
    Configuration menu
    Copy the full SHA
    f6e2fed View commit details
    Browse the repository at this point in the history

Commits on May 9, 2024

  1. Configuration menu
    Copy the full SHA
    f9de777 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2024

  1. Configuration menu
    Copy the full SHA
    730fd7c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fb335e7 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2024

  1. Fix more NULL issues

    davidwrighton committed May 13, 2024
    Configuration menu
    Copy the full SHA
    d31ebbb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4948d77 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2024

  1. Configuration menu
    Copy the full SHA
    3d29d31 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2024

  1. Configuration menu
    Copy the full SHA
    a4acdb1 View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2024

  1. Fixup obvious issues

    davidwrighton committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    466cabc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    084bcd7 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

  1. Configuration menu
    Copy the full SHA
    44ccb9d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3762500 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2024

  1. Fix tiered compilation

    davidwrighton committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    a7b68c3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6a772d9 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2024

  1. Configuration menu
    Copy the full SHA
    b2360ad View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    837dc0b View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2024

  1. Remove way in which GetTemporaryEntryPoint behaves differently for DA…

    …C builds, and then remove GetTemporaryEntrypoint usage from DAC entirely in favor of GetTemporaryEntryPointIfExists
    davidwrighton committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    cb70e1d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7f0f614 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f6a8260 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cedb18e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    97e8f7e View commit details
    Browse the repository at this point in the history
  6. Improve assertion checks to validate that we don't allocate temporary…

    … entrypoints that will be orphaned if the type doesn't actually end up published.
    davidwrighton committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    abae474 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8273274 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    6999c2b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    24fa6c2 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2024

  1. Configuration menu
    Copy the full SHA
    d696419 View commit details
    Browse the repository at this point in the history
  2. Fix assertion issues noted

    Fix ISOSDacInterface15 to actually work
    davidwrighton committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    2715494 View commit details
    Browse the repository at this point in the history
  3. Remove GetRestoredSlotIfExists

    - Its the same as GetSlot ....  just replace it with that function.
    davidwrighton committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    47f8043 View commit details
    Browse the repository at this point in the history
  4. Update src/coreclr/debug/daccess/daccess.cpp

    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    davidwrighton and jkotas authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    93184bc View commit details
    Browse the repository at this point in the history
  5. Update docs/design/coreclr/botr/method-descriptor.md

    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    davidwrighton and jkotas authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    70836cb View commit details
    Browse the repository at this point in the history
  6. Update src/coreclr/vm/methodtable.inl

    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    davidwrighton and jkotas authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    5bf0fb3 View commit details
    Browse the repository at this point in the history
  7. Update src/coreclr/vm/methodtable.h

    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    davidwrighton and jkotas authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    7010052 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d55c93f View commit details
    Browse the repository at this point in the history
  9. Fix GetMethodDescForSlot_NoThrow

    Try removing EnsureSlotFilled
    Implement IsEligibleForTieredCompilation in terms of IsEligibleForTieredCompilation_NoCheckMethodDescChunk
    davidwrighton committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    fb2f987 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2024

  1. Configuration menu
    Copy the full SHA
    c5af140 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2024

  1. Configuration menu
    Copy the full SHA
    0281127 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    56137a2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    98aa3c9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7cf8acd View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2024

  1. Configuration menu
    Copy the full SHA
    efe8f1a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d7d3948 View commit details
    Browse the repository at this point in the history
  3. Fix classcompat build

    davidwrighton committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    29571eb View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2024

  1. Update src/coreclr/vm/method.cpp

    Co-authored-by: Aaron Robinson <arobins@microsoft.com>
    davidwrighton and AaronRobinsonMSFT authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    3ce4e4a View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2024

  1. Remove assert that is invalid because TryGetMulticCallableAddrOfCode …

    …can return NULL ... and then another thread could produce a stable entrypoint and the assert could lose the race
    davidwrighton committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    a4c8803 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    99ddbcb View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2024

  1. Configuration menu
    Copy the full SHA
    34e9a75 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2024

  1. Its possible for GetOrCreatePrecode to be called for cases where it i…

    …sn't REQUIRED. we need to handle that case.
    davidwrighton committed Jul 14, 2024
    Configuration menu
    Copy the full SHA
    2ed2b9c View commit details
    Browse the repository at this point in the history