سلام.
كما ذكر في فصل "Method Descriptor" من "The Book of the Runtime" ، هناك أماكن متعددة في وقت التشغيل تعتمد على تعيين 1: 1 بين MethodDescs ونقاط الإدخال. وهذا يؤدي إلى اشتراط وجود الفتحة ونقطة الدخول لجميع الأساليب.
هل يمكن لشخص ما أن يشرح أين توجد هذه الأماكن ولماذا بالضبط يلزم رسم خرائط بنسبة 1: 1؟
@ Dmitri-Botcharnikov @ ruben-ayrapetyan
يمكن أن يكون لطريقة واحدة نقاط إدخال متعددة. نحتاج إلى أن نكون قادرين على تعيين كل منهم مرة أخرى إلى طريقة MethodDesc المطابقة.
الطريقة الأساسية لنقطة الإدخال -> تعيين MethodDesc هو MethodTable::GetMethodDescForSlotAddress
.
الطريقة الأساسية لـ MethodDesc -> تعيين نقطة الدخول الحالية هو MethodDesc::GetMethodEntryPoint
.
التعليق الأكثر فائدة
يمكن أن يكون لطريقة واحدة نقاط إدخال متعددة. نحتاج إلى أن نكون قادرين على تعيين كل منهم مرة أخرى إلى طريقة MethodDesc المطابقة.
الطريقة الأساسية لنقطة الإدخال -> تعيين MethodDesc هو
MethodTable::GetMethodDescForSlotAddress
.الطريقة الأساسية لـ MethodDesc -> تعيين نقطة الدخول الحالية هو
MethodDesc::GetMethodEntryPoint
.