Hallo.
Wie im Kapitel "Method Descriptor" von "The Book of the Runtime" erwähnt, gibt es mehrere Stellen in der Laufzeit, die von einer 1:1-Zuordnung zwischen MethodDescs und Einstiegspunkten abhängen. Dies führt dazu, dass für alle Methoden Slot und Einstiegspunkt vorhanden sein müssen.
Könnte jemand erklären, wo diese Orte sind und warum genau eine 1:1-Zuordnung erforderlich ist?
@Dmitri-Botcharnikov @ruben-ayrapetyan
Ein methoddesc kann mehrere Einstiegspunkte haben. Wir müssen in der Lage sein, jeden von ihnen dem passenden MethodDesc zuzuordnen.
Die Schlüsselmethode für die Zuordnung von Einstiegspunkt -> MethodDesc ist MethodTable::GetMethodDescForSlotAddress
.
Die Schlüsselmethode für MethodDesc -> aktuelle Einstiegspunktzuordnung ist MethodDesc::GetMethodEntryPoint
.
Hilfreichster Kommentar
Ein methoddesc kann mehrere Einstiegspunkte haben. Wir müssen in der Lage sein, jeden von ihnen dem passenden MethodDesc zuzuordnen.
Die Schlüsselmethode für die Zuordnung von Einstiegspunkt -> MethodDesc ist
MethodTable::GetMethodDescForSlotAddress
.Die Schlüsselmethode für MethodDesc -> aktuelle Einstiegspunktzuordnung ist
MethodDesc::GetMethodEntryPoint
.