blob: eac12b3114c71837f4f5201396f7bc9893ee4ac7 [file] [log] [blame]
#include <emscripten.h>
#include <stdint.h>
extern "C" {
int EMSCRIPTEN_KEEPALIVE loadi8(size_t addr) { return ((int8_t*)addr)[0]; }
int EMSCRIPTEN_KEEPALIVE loadi16(size_t addr) { return ((int16_t*)addr)[0]; }
int EMSCRIPTEN_KEEPALIVE loadi32(size_t addr) { return ((int32_t*)addr)[0]; }
int EMSCRIPTEN_KEEPALIVE loadu8(size_t addr) { return ((uint8_t*)addr)[0]; }
int EMSCRIPTEN_KEEPALIVE loadu16(size_t addr) { return ((uint16_t*)addr)[0]; }
int EMSCRIPTEN_KEEPALIVE loadu32(size_t addr) { return ((uint32_t*)addr)[0]; }
double EMSCRIPTEN_KEEPALIVE loadf32(size_t addr) { return ((float*)addr)[0]; }
double EMSCRIPTEN_KEEPALIVE loadf64(size_t addr) { return ((double*)addr)[0]; }
void EMSCRIPTEN_KEEPALIVE storei8(size_t addr, int8_t v) {
((int8_t*)addr)[0] = v;
}
void EMSCRIPTEN_KEEPALIVE storei16(size_t addr, int16_t v) {
((int16_t*)addr)[0] = v;
}
void EMSCRIPTEN_KEEPALIVE storei32(size_t addr, int32_t v) {
((int32_t*)addr)[0] = v;
}
void EMSCRIPTEN_KEEPALIVE storeu8(size_t addr, uint8_t v) {
((uint8_t*)addr)[0] = v;
}
void EMSCRIPTEN_KEEPALIVE storeu16(size_t addr, uint16_t v) {
((uint16_t*)addr)[0] = v;
}
void EMSCRIPTEN_KEEPALIVE storeu32(size_t addr, uint32_t v) {
((uint32_t*)addr)[0] = v;
}
void EMSCRIPTEN_KEEPALIVE storef32(size_t addr, float v) {
((float*)addr)[0] = v;
}
void EMSCRIPTEN_KEEPALIVE storef64(size_t addr, double v) {
((double*)addr)[0] = v;
}
int* EMSCRIPTEN_KEEPALIVE get_stack() {
int t;
return &t;
}
}