mscorlib_79980000+0x1e6180 (79b66180) 79b7e258 4d dec ebp ... mscorlib_79980000+0x1e6180: 79b66180 e9eb805e86 jmp 0014e270 79b66185 0000 add [eax],al ... 0:003> u 0014e270 0014e270 52 push edx ... 0014e290 56 push esi 0014e291 e8b4870879 call mscorwks!PreStubWorker (791d6a4a) 0014e296 897b08 mov [ebx+0x8],edi ... 这个 PreStubWorker 函数(vm/prestub.cpp:574)可以说是所有 IL 函数进行 JIT 的入口,负责编译 IL 代码以生成 Native 代码,并将 JIT 生成的代码入口安装到相应 MD (MethodDesc) 上: 以下内容为程序代码: extern "C" const BYTE * __stdcall PreStubWorker(PrestubMethodFrame *pPFrame) { MethodDesc *pMD = pPFrame->GetFunction(); MethodTable *pDispatchingMT = NULL; if (pMD->IsV页码:[1] [2] [3] [4] [5] [6] [7] [8] [9] 第4页、共9页 |