Facebook開源Hermes:輕量JavaScript最佳化引擎

banq發表於2019-07-13

一個用於移動的JavaScript VM,它將JavaScript編譯成位元組碼,可以立即進行程式設計和執行。Hermes是一款JavaScript引擎,經過最佳化、可以快速啟動Android 上的React Native應用程式。它具有提前的靜態最佳化和緊湊的位元組碼。特點:
  1. Herms是基於LLVM庫包(用於StringRef,ArrayRef,dyn_cast等)。它還使用了FileCheck和一些其他實用程式。
  2. Hermes具有基於SSA的支援Javascript的高階IR(每個函式都是一個閉包等)。
  3. Hermes在編譯時對位元組碼執行暫存器分配,RA(具有分段間隔的線性掃描)中的一個複雜因素是JS堆疊的支援和奇怪的呼叫語義(args必須是連續的)
  4. Herms執行型別推斷最佳化。每個SSA值由可能值的格子(字串,int物件等)表示。
  5. Hermes Mem2Reg傳遞與Swift M2R傳遞幾乎相同

HermesGithub
 

相關文章