Jitter se oficiálně stal součástí projektu GNU

Před pár dny bylo oznámeno, že projekt Jitter se oficiálně stal projektem pod záštitou projektu GNU a nyní je vyvíjen pod názvem GNU Jitter s využitím infrastruktury GNU a v souladu s požadavky projektu.

Pro ty, kteří nejsou s Jitterem obeznámeni, jde o implementaci, která umožňuje generovat přenosné a velmi rychlé virtuální stroje pro libovolné návrhy programovacích jazyků, jejichž výkon při provádění kódu je výrazně napřed oproti interpretům a blíží se nativnímu kompilovanému kódu.

Jitter je vysoce přenosný a správný VM bude vykazovat přesně stejné chování na jakékoli platformě, která má pouze kompilátor a standardní knihovnu C; výkon však bude lepší při použití jedné z podporovaných architektur (aktuálně: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; 64. úroveň: Aarch390, Alpha, ARM, SXNUMXx) na systémech ELF s GCC. Jitter je samozřejmě součástí projektu GNU a je určen především pro použití na systému GNU.

Jitter bere jako vstup specifikaci instrukcí na vysoké úrovni podporovaných virtuálním strojem a na výstupu vytváří implementaci virtuálního stroje připravenou k použití pro provádění daných instrukcí.

Logika každé instrukce ve specifikaci je specifikována pomocí kódu C. Mezi další funkce patří podpora pro podmíněné větvení, které je obtížné implementovat v jazyce C a jsou inherentní v dynamických programovacích jazycích, jako je kontrola hodnot návěští a kontrola přetečení.

Běhové prostředí Jitter také nabízí účinnou podporu pro obtížně implementovatelné operace podmíněného větvení pouze pomocí C, jako je kontrola hodnotových značek podle požadavků dynamicky typovaných jazyků a aritmetika s kontrolou přetečení. Kód virtuálního počítače přistupuje k operacím volání a návratu procedur, ve většině případů se spoléhá na efektivní hardwarové mechanismy.

Výsledný virtuální stroj je naformátován v jazyce C s malým počtem insertů z assembleru. Jsou k dispozici konfigurace, které umožňují různé optimalizace a výběr mechanismů pro přenos, což usnadňuje migraci virtuálního stroje na různé platformy.

Podporuje použití architektur pro provádění registrů, zásobníků a spojení, stejně jako schopnost zrcadlit datové struktury virtuálních strojů v hardwarových registrech CPU a připojit sběrače odpadků.

Vygenerovaný kód obsahuje jednoduché C API, které dynamicky nahrazuje a spouští kód ve virtuálním stroji, a také program řadiče pro samostatné spouštění kódu z textových souborů ve virtuálním stroji.

Generovaný C kód je silně upraven a lze jej nakonfigurovat tak, aby běžel pomocí různých distribučních technik s různou sofistikovaností; nejúčinnější techniky odesílání se spoléhají na určitou architekturu specifickou, ale ne specifickou, podporu sestavení poskytovanou Jitterem; všechny expediční modely, ale jeden je také založen na rozšířeních GNU C.

A konečně, pro ty, kteří se chtějí dozvědět více, původní kód Jitteru je napsán v jazyce C a je k dispozici pod licencí GPLv3. Více se dozvíte na následujícím odkazu.

Jak získat Jittera?

Pro ty, kteří mají zájem otestovat Jitter, mohou získat zdrojový kód otevřením terminálu a zadáním následujícího příkazu:

git clone http://git.ageinghacker.net/jitter

Jakmile je toto hotovo, nyní přistoupíme k zadání složky, která má kód, spustíme spouštěcí skript, který se používá ke generování potřebných souborů pro konfiguraci a sestavení Jitter, včetně konfiguračního skriptu. Děláme to s:

cd jitter && ./bootstrap

Stojí za zmínku, že Jitter dodržuje konvence GNU pro konfiguraci a konstrukci a podporuje konstrukci ze zdrojového adresáře; ve skutečnosti podporuje křížovou kompilaci a dokonce i spuštění testovací sady v křížové kompilaci prostřednictvím emulátoru.

./configure && make

Nakonec pro provedení stačí napsat:

make check


Přidat jako preferovaný zdroj v Googlu