Skip to content

Instantly share code, notes, and snippets.

@wycats
Last active February 25, 2016 17:11
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wycats/4845049dcf0f6571387a to your computer and use it in GitHub Desktop.
Save wycats/4845049dcf0f6571387a to your computer and use it in GitHub Desktop.
Module["asm"] = (function(global, env, buffer) {
"use asm";
var HEAP8 = new global.Int8Array(buffer);
var STACKTOP = env.STACKTOP | 0;
var _some_external_JS = env._some_external_JS;
function _main() {
var i1 = 0, i2 = 0;
i1 = STACKTOP;
STACKTOP = STACKTOP + 16 | 0;
i2 = i1;
HEAP8[i2 >> 0] = 1;
_some_external_JS(i2 | 0);
STACKTOP = i1;
return 0;
}
return {
_main: _main
};
});
#include <stdint.h>
typedef struct {
uint8_t op;
uint32_t operand1;
uint32_t operand2;
} opcode_t;
extern void some_external_JS(opcode_t* opcode);
int main() {
opcode_t op;
op.op = 1;
some_external_JS(&op);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment