- 3
- 0
- 约2.8万字
- 约 90页
- 2021-03-03 发布于北京
- 举报
JVM JIT-compiler overview
Vladimir Ivanov
HotSpot JVM Compile r
Oracle Corp.
Agenda
! about compilers in general
– … and JIT-compilers in particular
! about JIT-compilers in HotSpot JVM
! monitoring JIT-compilers in HotSpot JVM
2
Static vs Dynamic
AOT vs JIT
3
Dynamic and Static Compilation
Comparison
! Static compilation
– “Ahead-Of-Time”(AOT) compilation
– Source code → Native executable
– Most of compilation work happens before executing
4
Dynamic and Static Compilation
Comparison
! Static compilation
– “Ahead-Of-Time”(AOT) compilation
– Source code → Native executable
– Most of compilation work happens before executing
! Modern Java VMs use dynamic compilers (JIT)
– “Just-In-Time” (JIT) compilation
– Source code → Bytecode → Interpreter + JITted executable
– Most of compilation work happens during application execution
5
Dynamic and Static Compilation
Comparison
! Static compilation (AOT)
– can utilize complex and heavy analyses and optimizations
6
Dynamic and Static Compilation
Comparison
! Static compilation (AOT)
– can utilize complex and heavy analyses and optimizations
! … but static information sometimes isn’t enough
! … and it’s hard to guess actual application behavior
7
Dynamic and Static Compilation
Comparison
! Static compilation (AOT)
– can utilize complex and heavy analyses and optimizations
! … but static information sometimes isn’t enough
! … and it’s hard to guess actual application behavior
– moreover, how to utilize specific platform features?
! like SSE4.2 / AVX / AVX2, TSX, AES-NI, RdRand
8
Dynamic and Static Compilation
Comparison
原创力文档

文档评论(0)