我正在 JIT 编译器中动态生成一些操作码,并且正在寻找操作码对齐的指南。
1)我已经阅读了通过在调用后添加 nop 来简要“推荐”对齐的评论
2)我还阅读了有关使用 nop 优化序列以实现并行性的信息。
3)我读过操作对齐有利于“缓存”性能
通常这些评论不提供任何支持参考。阅读博客或评论说“这样做是个好主意”是一回事,但实际编写实现特定操作序列并在线实现大多数材料(尤其是博客)的编译器是另一回事用于实际应用。所以我相信自己会发现事情(反汇编等,看看现实世界的应用程序做了什么)。这是我需要一些外部信息的一种情况。
我注意到编译器通常会在之前的任何指令序列之后立即启动奇数字节指令。所以编译器在大多数情况下并没有特别注意。我在这里或那里看到“nop”,但通常似乎很少使用 nop,如果有的话。操作码对齐有多重要?您能否为我可以实际用于实施的案例提供参考?谢谢。