Hot code
최적화 컴파일러
더 많은 반복이 일어난다면 JITC는 Optimizing-JITC 에게 컴파일을 요청
마찬가지로 컴파일 된 정보는 JITC가 저장
profiling을 수행하는 동안 특정 변수의 타입이 변하지 않았다면 그 이후에도 그 변수는 타입이 변하지 않을 가능성이 매우 높을 것이다 라는 가정을 하고 최적화를 한다
타입이 바뀌었을 경우에는 JIT는 가정이 잘못되었다고 판단하고 최적화된 코드를 버린다
이 과정은 역최적화(deoptimization) 혹은 구제(bailing out) 라고 한다
최적화는 함수 단위로 일어날까, 아니면 반복문 등 그보다 작은 단위에서 일어날까
최적화는 보다 작은 단위에서 일어난다
JITC, Adaptive-JITC
바로 JITC (Just-In-Time Compiler) 라는 단어인데, 같이 나오는 내용인 즉 JITC는 인터프리팅을 하다가, 필요한 부분에 대해서는 컴파일을 하여 최적화를 한다 이다. 이 말은 내용은 맞지만 이름이 틀렸다. 위의 방식은 Adaptive JITC 라고 하여, 최근 대다수의 JavaScript 엔진들이 차용하는 방식이다. 그리고 JITC...
https://medium.com/@snaag.dev/jitc-adaptive-jitc-3fc87b87ef7f


Seonglae Cho