如何依据ECMA-CIL获取指向求值栈的托管指针?
指向求值栈的托管指针对应的CIL指令
在ECMA-CIL规范中,并没有专门的显式指令可以直接创建指向求值栈上值的托管指针。不过规范明确允许托管指针指向求值栈这类不受GC控制的区域,这种场景通常出现在CLI的内部执行逻辑中:
比如,当执行某些需要传递托管指针参数的指令时,CLI会临时生成指向求值栈上临时值的托管指针,以完成操作,且验证器会确保该指针的生命周期不超过目标临时值的生命周期。
你提到的获取局部变量托管指针的ldloca/ldloca.s指令,确实是指向局部变量而非求值栈,但目前并没有直接对应指向求值栈的显式CIL指令,这类指针更多是CLI内部为满足执行需求而临时生成的。
内容的提问来源于stack exchange,提问作者Manuel Carrasco
相关产品推荐
相关产品推荐

