gcc - 用户空间中的跳转标签修补
问题描述
跳转标签补丁是 Linux 内核中一种允许分支优化的简洁机制。通常,一些分支检查不太可能改变的“静态”条件。这种机制的一个使用示例是在内核跟踪中,“if”语句将检查变量以确定是否应在跟踪点发出跟踪数据。而不是进行比较和分支,启用跟踪将简单地将“if”语句修补为无条件跳转,而禁用跟踪会将其修补为 aa nop。
更多信息:https ://lwn.net/Articles/412072/
我想知道这种机制是否也适用于用户空间。显然,所需要的只是编译器和硬件支持,因此没有明显的理由说明这也不适用于用户空间。
解决方案
推荐阅读
- html - 从 iframe 中的角度应用程序内部访问隐藏 div 的值
- here-api - 通过 REST API 查询链接
- swift - 全局命名空间的一致性如何满足协议要求?
- regex - 在其他空括号(包括)之间选择空格和换行符
- c++ - Nurbs 曲线 (2D) 长度和线性采样
- c++ - 使用 CRTP 实现单例
- java - 滑动刷新 webview 片段不加载 url
- javascript - 如何导出中心变量的引用
- scala - sbt:如何将本地文件系统 jar 添加到我的项目中……还有很多 .so 库?
- ios - IOS/Objective-C:从 Storyboard 应用程序的子类中的代码启动 UIAlertController