2017-03-21 3 views

Antwort

2

Wenn Sie tatsächlich einen Interpreter implementieren, dann brauchen Sie zur Laufzeit keinen Maschinencode zu generieren, damit alles innerhalb von Wasm bleiben kann.

Was Sie tatsächlich im Sinn haben, ist ein Just-in-Time-Compiler. Dazu müssen Sie tatsächlich wieder in den Embedder (dh JavaScript im Browser) zurückrufen und dort neue Wasm-Module im laufenden Betrieb erstellen und kompilieren und in das laufende Programm einbinden - zB indem Sie einem bestehenden neue Funktionen hinzufügen Tabelle. Die Schnittstelle für die synchrone Kompilierung/Instanziierung existiert für diesen Anwendungsfall.

In zukünftigen Versionen kann es möglich sein, die Kompilierungs-API direkt von Wasm aus aufzurufen, aber vorerst ist JavaScript der beabsichtigte Ansatz.

+0

Danke! Das ist genau das, was ich wissen wollte. aber - was ist der Aufwand für so etwas? Leistung weise –

+1

@JamesBrown, schwer zu sagen, niemand hat tatsächlich versucht und gemessen. JS von Wasm anzurufen ist billig. Die Compilation selbst sollte ebenfalls ziemlich schnell sein, aber ich nehme an, dass sie an diesem Punkt noch lange nicht optimal ist. –

Verwandte Themen