IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Mono里运行C#脚本25—mono_codegen

    caimouse发表于 2025-01-05 21:58:46
    love 0
    也就是说它是假的代码,不是现实世界存在的机器的代码,因此不能直接执行,必须经过后端编译器的再次编译才能真正运行它。这行代码对基本块里所有的代码进行拆解,因为虚拟机的指令代码还是比较高级,在机器指令里可能表示不了,需要把一条指令分解成两条或两条以上的指令表示。前面会把CIL代码都进行拆分,拆分的原则就是把顺序执行的指令全部放到一个基本块里,把分支跳转指令放到一个基本块,保证每个基本块只有最后一条指令是离开基本块的。这段代码里,每一个调用的函数都是比较复杂的处理,特别是寄存器分配算法,就会比较复杂。


沪ICP备19023445号-2号
友情链接