더 빠른 릴리스
새로운 기능과 버그 수정을 사용자가 더 빠르게 이용할 수 있도록 하기 위해, Chrome은 릴리스 주기를 가속화하고 있습니다.
Chrome의 새로운 릴리스 주기에 맞추기 위해, V8도 주요 릴리스 브랜치를 이전의 6주 대신 4주 간격으로 태그하기 시작할 것입니다. 주요 릴리스 브랜치 중 두 번째 브랜치는 8주 동안 유지 관리되어, 업데이트를 덜 빈번하게 하기를 선호하는 임베더를 지원합니다.
초고속 `super` 프로퍼티 접근
super
키워드는 객체의 부모에 있는 프로퍼티와 함수에 접근하기 위해 사용될 수 있습니다.
이전에 super
프로퍼티 접근(super.x
등)은 런타임 호출을 통해 구현되었지만, V8 v9.0부터는 인라인 캐시 시스템(IC)을 비최적화 코드에서 재사용하고 런타임으로 점프하지 않고 super
프로퍼티 접근을 위한 적절한 최적화 코드를 생성합니다.
더 빠른 JavaScript 호출
JavaScript는 함수 호출 시 기대되는 매개변수의 수와 다른 수의 인수를 전달할 수 있도록 허용합니다. 즉, 선언된 형식 매개변수보다 적거나 많은 인수를 전달할 수 있습니다. 앞의 경우를 언더 어플리케이션(under-application), 뒤의 경우를 오버 어플리케이션(over-application)이라고 합니다.
V8 릴리스 v8.9
추가적인 비백트래킹 정규 표현식 엔진
v8.8부터 V8은 새로운 실험적 비백트래킹 정규 표현식 엔진(기존의 Irregexp 엔진 외에)을 갖추고 있으며, 이는 주제 문자열 크기에 따른 실행을 선형 시간으로 보장합니다. 실험적 엔진은 아래에 언급된 기능 플래그를 통해 사용할 수 있습니다.
V8 릴리스 v8.7
Indicium: V8 런타임 추적 도구
지난 3개월 동안 저는 V8 팀(Google London)에 인턴으로 합류하면서 많은 것을 배울 수 있는 멋진 경험을 가졌습니다. 그리고 새로운 도구인 Indicium를 개발하고 있었습니다.
이 시스템 분석기는 인라인 캐시(IC)와 Map이 실제 애플리케이션에서 어떻게 생성되고 수정되는지에 대한 패턴을 추적, 디버그 및 분석할 수 있는 통합 웹 인터페이스입니다.
V8은 이미 ICs와 Maps를 위한 추적 인프라를 가지고 있으며, IC Explorer 및 Map Processor를 사용하여 IC 이벤트 및 Map 이벤트를 처리하고 분석할 수 있습니다. 그러나 이전 도구들은 Map과 IC를 전체적으로 분석할 수 있는 기능이 부족했으며, 이제 시스템 분석기를 통해 이를 해결할 수 있습니다.
V8에서의 슬랙 추적
슬랙 추적은 새로운 객체에 실제로 사용하는 것보다 더 큰 초기 크기를 부여하여 새로운 속성을 빠르게 추가할 수 있도록 합니다. 그런 다음 일정 시간이 지나면 사용하지 않은 공간을 시스템으로 마법같이 반환하는 방식입니다. 멋지지 않나요?