Окей, я обязательно подумаю над полным слиянием с asm.js. Хотя уже сейчас можно использовать асму.
Но я вижу что asm и lljs довольно интересный продукт.
Но кажись lljs уже мертв.
https://github.com/mbebenita/LLJS
Соответственно остается ASM.
Но и его спецификации уже 1 год исполнилось.
Впрочем основная задумка теперь - это псевдо указатели! Но реализовано и другие фичи, таких как выделение памяти. Пожалуй это основная фича после оборачивания массивов в указатели.
1.
В C чтобы выделить память используется malloc и указатель.
int * mem;
mem = (int *)malloc(10);
В JavaScript чтобы выделить память нужно хотя объявить пустой псевдо-указатель.
var mem = PRIM.Int.var();
PRIM.Int.alloc(mem, 10);
2.
В C можно сделать указатель на переменную.
int val = 1;
int * ptr = &val;
В JavaScript точного эквивалента данной операции нету.
//Первый вариант
var ptr = PRIM.Int.var(1);
//Второй вариант
var val = [1|0]; //ASM.js
var ptr = PRIM.Pointer.array(val); //Следует оборачивать через Pointer.array
//Второй точка один вариант
var val = new Int32Array([1]); //Через типизированный массив
var ptr = PRIM.Pointer.array(val);
Вот они "преимущества" JavaScript.