即时编译器优化技术列表

来自 https://wiki.openjdk.java.net/display/HotSpot/PerformanceTacticIndex

编译器策略 compiler tactics
  • 延迟编译 delayed compilation
  • 分层编译 tiered compilation
  • 栈上替换 on-stack replacement
  • 延迟优化 delayed reoptimization
  • 程序依赖图表示 program dependence graph representation
  • 静态单赋值表示 static single assignment representation
基于性能监控的优化技术 speculative (profile-based) techniques
  • 乐观空值断言 optimistic nullness assertions
  • 乐观类型断言 optimistic type assertions
  • 乐观类型增强 optimistic type strengthening
  • 乐观数组长度增强 optimistic array length strengthening
  • 裁剪未被选择的分支 untaken branch pruning
  • 乐观的多态内联 optimistic N-morphic inlining
  • 分支频率预测 branch frequency prediction
  • 调用频率预测 call frequency prediction
基于证据的优化技术 proof-based techniques
  • 精确类型推断 exact type inference
  • 内存值推断 memory value inference
  • 内存值追踪 memory value tracking
  • 常量折叠 constant folding
  • 重组 reassociation
  • 操作符退化 operator strength reduction
  • 空值检查消除 null check elimination
  • 类型检测退化 type test strength reduction
  • 类型检查消除 type test elimination
  • 代数化简 algebraic simplification
  • 公共子表达式消除 common subexpression elimination
  • 整数范围输入 integer range typing
数据流敏感重写 flow-sensitive rewrites
  • 条件常量传播 conditional constant propagation
  • 主导测试检测 dominating test detection
  • 基于流承载的类型缩减转换 flow-carried type narrowing
  • 无用代码消除 dead code elimination
语言相关的优化技术 language-specific techniques
  • 类型继承关系优化 class hierarchy analysis
  • 去虚拟机化 devirtualization
  • 符号常量传播 symbolic constant propagation
  • 自动装箱消除 autobox elimination
  • 逃逸分析 escape analysis
  • 锁消除 lock elision
  • 锁膨胀 lock fusion
  • 消除反射 de-reflection
内存及代码位置变换 memory and placement transformation
  • 表达式提升 expression hoisting
  • 表达式下沉 expression sinking
  • 冗余存储消除 redundant store elimination
  • 相邻存储合并 adjacent store fusion
  • 卡痕消除 card-mark elimination
  • 交汇点分离 merge-point splitting
循环变换 loop transformations
  • 循环展开 loop unrolling
  • 循环剥离 loop peeling
  • 安全点消除 safepoint elimination
  • 迭代范围分离 iteration range splitting
  • 范围检查消除 range check elimination
  • 循环向量化 loop vectorization
全局代码调整 global code shaping
  • 内联 inlining (graph integration)
  • 全局代码外提 global code motion
  • 基于热度的代码布局 heat-based code layout
  • switch 调整 switch balancing
  • 抛出内联 throw inlining
控制流图变换 control flow graph transformation
  • 本地代码编排 local code scheduling
  • 本地代码封包 local code bundling
  • 延迟槽填充 delay slot filling
  • 着色图寄存器分配 graph-coloring register allocation
  • 线性扫描寄存器分配 linear scan register allocation
  • 实时范围分割 live range splitting
  • 复写聚合 copy coalescing
  • 常量分裂 constant splitting
  • 复写移除 copy removal
  • 地址模式匹配 address mode matching
  • 指令窥孔优化 instruction peepholing
  • 基于确定有限状态机的代码生成 DFA-based code generator
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值