Olá.
Como dito no capítulo "Descritor de método" de "O livro do tempo de execução", existem vários locais no tempo de execução que dependem do mapeamento 1: 1 entre MethodDescs e pontos de entrada. Isso leva à exigência de que o slot e o ponto de entrada devam existir para todos os métodos.
Alguém poderia explicar onde estão esses lugares e por que exatamente o mapeamento 1: 1 é necessário?
@ Dmitri-Botcharnikov @ ruben-ayrapetyan
Um métododesc pode ter vários pontos de entrada. Precisamos ser capazes de mapear cada um deles de volta para o MethodDesc correspondente.
O método chave para mapeamento de entrypoint -> MethodDesc é MethodTable::GetMethodDescForSlotAddress
.
O método chave para MethodDesc -> mapeamento do ponto de entrada atual é MethodDesc::GetMethodEntryPoint
.
Comentários muito úteis
Um métododesc pode ter vários pontos de entrada. Precisamos ser capazes de mapear cada um deles de volta para o MethodDesc correspondente.
O método chave para mapeamento de entrypoint -> MethodDesc é
MethodTable::GetMethodDescForSlotAddress
.O método chave para MethodDesc -> mapeamento do ponto de entrada atual é
MethodDesc::GetMethodEntryPoint
.