2017-03-21 1 views

Répondre

2

Si vous implémentez réellement un interpréteur alors vous n'avez pas besoin de générer de code machine lors de l'exécution, donc tout peut rester dans Wasm. Ce que vous semblez réellement avoir en tête est un compilateur juste-à-temps . Pour cela, vous devez en effet rappeler l'intégrateur (c'est-à-dire JavaScript dans le navigateur) et créer et compiler de nouveaux modules Wasm à la volée, et les lier au programme en cours - par exemple, en ajoutant de nouvelles fonctions à un table. L'interface de compilation/instanciation synchrone existe pour ce cas d'utilisation.

Dans les versions futures, il est possible d'appeler l'API de compilation directement depuis Wasm, mais pour l'instant, il est préférable de passer par JavaScript.

+0

Merci! C'est exactement ce que je voulais savoir. mais - quel est le coût d'une telle chose? performance sage –

+1

@ JamesBrown, difficile de dire, personne n'a vraiment essayé et mesuré. Appeler JS de Wasm n'est pas cher. La compilation elle-même devrait être assez rapide, mais je suppose que c'est encore loin d'être optimal à ce stade. –