Tweaks for asmjs.
This commit is contained in:
@ -26,20 +26,31 @@ var i32 = new Int32Array(heap);
|
||||
var u8 = new Uint8Array(heap);
|
||||
var objects = [SetEval];
|
||||
var g_sys = 256; // Placed past a gap.
|
||||
var g_tib = g_sys + 0 * 4;
|
||||
var g_ntib = g_sys + 1 * 4;
|
||||
var g_tin = g_sys + 2 * 4;
|
||||
var g_state = g_sys + 3 * 4;
|
||||
var g_base = g_sys + 4 * 4;
|
||||
var g_heap = g_sys + 5 * 4;
|
||||
var g_current = g_sys + 6 * 4;
|
||||
var g_context = g_sys + 7 * 4;
|
||||
var g_notfound = g_sys + 8 * 4;
|
||||
var g_argc = g_sys + 9 * 4;
|
||||
var g_argv = g_sys + 10 * 4;
|
||||
var g_ip = g_sys + 11 * 4;
|
||||
var g_sp = g_sys + 12 * 4;
|
||||
var g_rp = g_sys + 13 * 4;
|
||||
var g_sys_heap = g_sys + 0 * 4;
|
||||
var g_sys_current = g_sys + 1 * 4;
|
||||
var g_sys_context = g_sys + 2 * 4;
|
||||
var g_sys_latestxt = g_sys + 3 * 4;
|
||||
var g_sys_notfound = g_sys + 4 * 4;
|
||||
var g_sys_heap_start = g_sys + 5 * 4;
|
||||
var g_sys_heap_size = g_sys + 6 * 4;
|
||||
var g_sys_stack_cells = g_sys + 7 * 4;
|
||||
var g_sys_boot = g_sys + 8 * 4;
|
||||
var g_sys_boot_size = g_sys + 9 * 4;
|
||||
var g_sys_tib = g_sys + 10 * 4;
|
||||
var g_sys_ntib = g_sys + 11 * 4;
|
||||
var g_sys_tin = g_sys + 12 * 4;
|
||||
var g_sys_state = g_sys + 13 * 4;
|
||||
var g_sys_base = g_sys + 14 * 4;
|
||||
var g_sys_argc = g_sys + 15 * 4;
|
||||
var g_sys_argv = g_sys + 16 * 4;
|
||||
var g_sys_runner = g_sys + 17 * 4;
|
||||
var g_sys_rp = g_sys + 18 * 4;
|
||||
var g_sys_DOLIT_XT = g_sys + 19 * 4;
|
||||
var g_sys_DOFLIT_XT = g_sys + 20 * 4;
|
||||
var g_sys_DOEXIT_XT = g_sys + 21 * 4;
|
||||
var g_sys_YIELD_XT = g_sys + 22 * 4;
|
||||
var g_sys_DOCREATE_OP = g_sys + 23 * 4;
|
||||
var g_sys_builtins = g_sys + 24 * 4;
|
||||
|
||||
function SetEval(sp) {
|
||||
var index = i32[sp--];
|
||||
@ -190,9 +201,31 @@ function VM(stdlib, foreign, heap) {
|
||||
var f32 = new stdlib.Float32Array(heap);
|
||||
|
||||
const g_sys = 256;
|
||||
const g_ip = 296; // g_sys + 10 * 4
|
||||
const g_sp = 300; // g_sys + 11 * 4
|
||||
const g_rp = 304; // g_sys + 12 * 4
|
||||
var g_sys_heap = g_sys + 0 * 4;
|
||||
var g_sys_current = g_sys + 1 * 4;
|
||||
var g_sys_context = g_sys + 2 * 4;
|
||||
var g_sys_latestxt = g_sys + 3 * 4;
|
||||
var g_sys_notfound = g_sys + 4 * 4;
|
||||
var g_sys_heap_start = g_sys + 5 * 4;
|
||||
var g_sys_heap_size = g_sys + 6 * 4;
|
||||
var g_sys_stack_cells = g_sys + 7 * 4;
|
||||
var g_sys_boot = g_sys + 8 * 4;
|
||||
var g_sys_boot_size = g_sys + 9 * 4;
|
||||
var g_sys_tib = g_sys + 10 * 4;
|
||||
var g_sys_ntib = g_sys + 11 * 4;
|
||||
var g_sys_tin = g_sys + 12 * 4;
|
||||
var g_sys_state = g_sys + 13 * 4;
|
||||
var g_sys_base = g_sys + 14 * 4;
|
||||
var g_sys_argc = g_sys + 15 * 4;
|
||||
var g_sys_argv = g_sys + 16 * 4;
|
||||
var g_sys_runner = g_sys + 17 * 4;
|
||||
var g_sys_rp = g_sys + 18 * 4;
|
||||
var g_sys_DOLIT_XT = g_sys + 19 * 4;
|
||||
var g_sys_DOFLIT_XT = g_sys + 20 * 4;
|
||||
var g_sys_DOEXIT_XT = g_sys + 21 * 4;
|
||||
var g_sys_YIELD_XT = g_sys + 22 * 4;
|
||||
var g_sys_DOCREATE_OP = g_sys + 23 * 4;
|
||||
var g_sys_builtins = g_sys + 24 * 4;
|
||||
|
||||
function run() {
|
||||
var tos = 0;
|
||||
|
||||
Reference in New Issue
Block a user