【问题标题】:MSIL opcode: br vs br.s? [duplicate]MSIL 操作码:br 与 br.s? [复制]
【发布时间】:2018-02-08 07:52:54
【问题描述】:

MSIL 操作码之间有什么区别:brbr.s

0x38 br 分支到目标。

0x2B br.s 分支到目标,短格式。

【问题讨论】:

  • 从汇编程序中听起来像是短跳、近跳和远跳——但为什么在 IL 中需要这个? JIT 编译器应该自己找出来。

标签: c# .net assembly cil


【解决方案1】:

来自documentation

目标指令表示为从当前指令之后的指令开头开始的 1 字节带符号偏移量。

区别在于目标的大小,大多数跳转发生在一个位置附近,因此优化这条指令的大小是有意义的,减少 IL 的总大小,这可能有几个好处(更快的加载时间,更小的@ 987654322@ 尺寸等)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多