你好。
正如“运行时之书”的“方法描述符”一章所述,运行时中有多个地方依赖于 MethodDesc 和入口点之间的 1:1 映射。 这导致要求所有方法都必须存在槽和入口点。
有人可以解释这些地方在哪里,为什么需要 1:1 映射?
@Dmitri-Botcharnikov @ruben-ayrapetyan
一个 methoddesc 可以有多个入口点。 我们需要能够将它们中的每一个映射回匹配的 MethodDesc。
entrypoint -> MethodDesc 映射的关键方法是MethodTable::GetMethodDescForSlotAddress
。
MethodDesc -> current entrypoint 映射的关键方法是MethodDesc::GetMethodEntryPoint
。
最有用的评论
一个 methoddesc 可以有多个入口点。 我们需要能够将它们中的每一个映射回匹配的 MethodDesc。
entrypoint -> MethodDesc 映射的关键方法是
MethodTable::GetMethodDescForSlotAddress
。MethodDesc -> current entrypoint 映射的关键方法是
MethodDesc::GetMethodEntryPoint
。