运行时优化在很多语言实现中成为一项重要的技术。AOT(ahead-of-time compilation) 到运行时优化使得语言运行时和对应的编译器可以利用直到运行时才能知道的事实。如果这些事实可以特化代码,比如折叠不变量,避免类型转换代码,或者直接调用替代虚函数调用,这样利用运行时信息的回报是很可观的。
本章主要探究运行时优化器的设计与实现。描述了 hot-trace 和 method-level 优化器的工作,都在实际系统中获得了成功应用。
运行时优化在很多语言实现中成为一项重要的技术。AOT(ahead-of-time compilation) 到运行时优化使得语言运行时和对应的编译器可以利用直到运行时才能知道的事实。如果这些事实可以特化代码,比如折叠不变量,避免类型转换代码,或者直接调用替代虚函数调用,这样利用运行时信息的回报是很可观的。
本章主要探究运行时优化器的设计与实现。描述了 hot-trace 和 method-level 优化器的工作,都在实际系统中获得了成功应用。