こんにちは。
「TheBookof theRuntime」の「MethodDescriptor」の章で述べたように、MethodDescとエントリポイント間の1:1マッピングに依存するランタイムには複数の場所があります。 これにより、すべてのメソッドにスロットとエントリポイントが存在する必要があります。
誰かがこれらの場所がどこにあるのか、そしてなぜ正確に1:1マッピングが必要なのか説明できますか?
@ Dmitri-Botcharnikov @ ruben-ayrapetyan
1つのmethoddescに複数のエントリポイントを含めることができます。 それらのそれぞれを一致するMethodDescにマップして戻すことができる必要があります。
エントリポイント-> MethodDescマッピングの主要なメソッドはMethodTable::GetMethodDescForSlotAddress
です。
MethodDesc->現在のエントリポイントマッピングの主要なメソッドはMethodDesc::GetMethodEntryPoint
です。
最も参考になるコメント
1つのmethoddescに複数のエントリポイントを含めることができます。 それらのそれぞれを一致するMethodDescにマップして戻すことができる必要があります。
エントリポイント-> MethodDescマッピングの主要なメソッドは
MethodTable::GetMethodDescForSlotAddress
です。MethodDesc->現在のエントリポイントマッピングの主要なメソッドは
MethodDesc::GetMethodEntryPoint
です。