HHVM setzt kĂĽnftig auf einen Rust-Parser

Im neuesten Release der virtuellen Maschine ist ein Rust-Parser gelandet, der schon bald den bisherigen in OCaml geschriebenen ersetzen wird.

vorlesen Druckansicht 3 Kommentare lesen
HHVM setzt kĂĽnftig auf einen Rust-Parser
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Das Team hinter der HipHop Virtual Machine (HHVM) hat Version 4.20.0 der quelloffenen virtuellen Maschine veröffentlicht. Große Teile des Codes werden derzeit von OCaml nach der Programmiersprache Rust umgeschrieben. Das sollte jedoch bislang keine Änderungen für Benutzer zur Folge haben. Mit HHVM 4.20 wurde ein neuer Parser in Rust hinzugefügt, der sich in der hhvm.ini-Datei mit hack.lang.hack_compiler_use_rust_parser=1 hinzufügen lässt. Ab HHVM 4.22 soll dann nur noch der Rust-Parser verfügbar sein.

Mit dem neuen Befehl hh_client - rewrite-return-type <filename> kann man sich bei der Migration vom partiellen in den strengen Modus helfen lassen. Er fĂĽgt <<__Soft>>-Typannotationen hinzu, die auf abgeleiteten RĂĽckgabetypen basieren. UngĂĽltige Methodenaufrufe auf reifizierten generischen Typen werfen nun eine BadMethodCallException, statt einen Fehler zu verursachen. Die neue Funktion fb_intercept2() wurde als Ersatz fĂĽr fb_intercept() hinzugefĂĽgt. Hinzugekommen ist auĂźerdem die Funktion fun_get_function().

Mit HHVM 4.20.0 wird Version 4.14 der virtuellen Maschine nicht mehr unterstĂĽtzt, die Folgerelease 4.15 bis 4.19 aber genauso wie die LTS-Versionen 3.30 und 4.8. Das mittlerweile nachgerĂĽckte 4.20.1 behebt ein Build-Problem im Zusammenhang mit dem neuen Rust-Parser auf macOS. Alle Linux-Builds fĂĽr Version 4.20.1 sind wohl identisch mit 4.20.0.

Weitere Details und ein Ausblick auf geplante Änderungen entnimmt man dem HHVM-Blog. Der Sourcecode ist auf GitHub zu finden. (ane)