En gros, c'est operations numeriques sur un bloc de memoire statique (et c'est tout). Va donc voir la sortie d'un bloc ASMJS par Emscripten et reviens nous expliquer la difference fondamentale avec du bytecode.
N'oublie pas qu'il y a ici un biais : le code généré en asmjs est généré à partir du bytecode LLVM qui est assez bas niveau.
Si tu regardes la spec de asmjs tu peux constater que c'est essentiellement un javascript classique qui doit être statiquement typé, le reste est moins fondamental (Bon, si, faut éviter les lambda et l'ordre supérieur en général ).
Statiquement typé signifie simplement qu'on explique bien clairement au compilateur que c'est du int/float/whatever et on ne change surtout pas le type de la variable en cours de route.
L'impression de bytecode est un peu biaisé si tu lis la spec. Le bytecode c'est plus une sorte d'assembleur, asm.js c'est plutôt du javascript écris comme du C-- sans pointeur.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Pas convaincu
Posté par Ontologia (site web personnel) . En réponse au journal La stratégie de Mozilla pour les jeux vidéo sur le Web ouvert. Évalué à 2.
N'oublie pas qu'il y a ici un biais : le code généré en asmjs est généré à partir du bytecode LLVM qui est assez bas niveau.
Si tu regardes la spec de asmjs tu peux constater que c'est essentiellement un javascript classique qui doit être statiquement typé, le reste est moins fondamental (Bon, si, faut éviter les lambda et l'ordre supérieur en général ).
Statiquement typé signifie simplement qu'on explique bien clairement au compilateur que c'est du int/float/whatever et on ne change surtout pas le type de la variable en cours de route.
L'impression de bytecode est un peu biaisé si tu lis la spec. Le bytecode c'est plus une sorte d'assembleur, asm.js c'est plutôt du javascript écris comme du C-- sans pointeur.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker