Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[cdac] GetMethodDescData for jitted methods (dotnet#109187)
This is enough for `!PrintException` without R2R methods on the stack There's also a `ReJIT` contract here which just checks whether rejit is enabled. Most of the complexity is in validating MethodDescs Contributes to dotnet#99302 Contributes to dotnet#108553 --- * ReJIT contract * document the ExecutionManager methods * cache EECodeInfo based on given code pointer, not start of the method The EECodeInfo includes the relative offset (given ip - start of method) so it's not ok to share for different code pointers into the same method * add legacy DAC comparison for GetMethodDescData * add documentation to managed contract impl * add TODOs for RuntimeTypeSystem additions * update contract markdown * get collectible flag for module from Assembly instead of LoaderAllocator * Use CodePointerFlags in RuntimeTypeSystem * implement MethodDesc GetLoaderModule via the loader module attached to a chunk * implement MethodTable GetLoaderModule * add MethodTable.AuxiliaryData field to test typeinfo * implement vtable indirections * fixup: GetVtableIndirections - add MethodTable size to data descriptor * rename some vestigial CDacMetadata references * WIP: MethodDesc tests * checkpoint GetMethodToken test passes * move MethodValidation to a separate class also move method flags out of the RuntimeTypeSystem_1 contract for the cases where the method validation needs to call back to type validation, go via the contract * move COR_PRF_MONITOR into ReJIT_1 it's an implementation detail * Update src/native/managed/cdacreader/src/Legacy/SOSDacImpl.cs Co-authored-by: Aaron Robinson <[email protected]> * assert the expected slot number * Exercise a few more easy properties of MethodDesc * remove TypeHandleFromAddress from contract we just use GetTypeHandle now * clean up MethodClassification -> size lookups * document RuntimeTypeSystem contract additions * update the CodeVersions contract to match implementation * remove some TODO comments * add sizes for method desc subclasses the "additional pointers" logic in RuntimeTypeSystem_1 depends on the sizes --------- Co-authored-by: Elinor Fung <[email protected]> Co-authored-by: Aaron Robinson <[email protected]>
- Loading branch information