extend interpreter base class with platform methods

This commit is contained in:
Jonathan Kelley committed 2024-02-27 12:31:11 -08:00
1 parent 7f60010c1e
commit b5447c162f
27 files changed
+1394 -1371

No files matched your search

+1
View File
@@ -0,0 +1 @@
pub const SLEDGEHAMMER_JS: &str = "let m,p,ls,d,t,op,i,e,z,metaflags;\n const namespace = [];\n let namespace_cache_hit, namespace_cache_idx;\n function get_namespace() {\n namespace_cache_idx = u8buf[u8bufp++];\n if(namespace_cache_idx & 128){\n namespace_cache_hit=s.substring(sp,sp+=u8buf[u8bufp++]);\n namespace[namespace_cache_idx&4294967167]=namespace_cache_hit;\n return namespace_cache_hit;\n }\n else{\n return namespace[namespace_cache_idx&4294967167];\n }\n }let u8buf,u8bufp;const attr = [];\n let attr_cache_hit, attr_cache_idx;\n function get_attr() {\n attr_cache_idx = u8buf[u8bufp++];\n if(attr_cache_idx & 128){\n attr_cache_hit=s.substring(sp,sp+=u8buf[u8bufp++]);\n attr[attr_cache_idx&4294967167]=attr_cache_hit;\n return attr_cache_hit;\n }\n else{\n return attr[attr_cache_idx&4294967167];\n }\n }const evt = [];\n let evt_cache_hit, evt_cache_idx;\n function get_evt() {\n evt_cache_idx = u8buf[u8bufp++];\n if(evt_cache_idx & 128){\n evt_cache_hit=s.substring(sp,sp+=u8buf[u8bufp++]);\n evt[evt_cache_idx&4294967167]=evt_cache_hit;\n return evt_cache_hit;\n }\n else{\n return evt[evt_cache_idx&4294967167];\n }\n }const el = [];\n let el_cache_hit, el_cache_idx;\n function get_el() {\n el_cache_idx = u8buf[u8bufp++];\n if(el_cache_idx & 128){\n el_cache_hit=s.substring(sp,sp+=u8buf[u8bufp++]);\n el[el_cache_idx&4294967167]=el_cache_hit;\n return el_cache_hit;\n }\n else{\n return el[el_cache_idx&4294967167];\n }\n }let u32buf,u32bufp;let s = \"\";let lsp,sp,sl; let c = new TextDecoder();let u16buf,u16bufp;const ns_cache = [];\n let ns_cache_cache_hit, ns_cache_cache_idx;\n function get_ns_cache() {\n ns_cache_cache_idx = u8buf[u8bufp++];\n if(ns_cache_cache_idx & 128){\n ns_cache_cache_hit=s.substring(sp,sp+=u8buf[u8bufp++]);\n ns_cache[ns_cache_cache_idx&4294967167]=ns_cache_cache_hit;\n return ns_cache_cache_hit;\n }\n else{\n return ns_cache[ns_cache_cache_idx&4294967167];\n }\n }\n let field,ptr,array,ns,id,value,len,event,many,bubbles,event_name;\n export function create(r){\n d=r;\n }\n export function update_memory(b){\n m=new DataView(b.buffer)\n }\n export function run(){\n metaflags=m.getUint32(d,true);\n if((metaflags>>>6)&1){\n ls=m.getUint32(d+6*4,true);\n }\n p=ls;\n if ((metaflags>>>5)&1){\n t = m.getUint32(d+5*4,true);\n u8buf=new Uint8Array(m.buffer,t,((m.buffer.byteLength-t)-(m.buffer.byteLength-t)%1)/1);\n }\n u8bufp=0;if ((metaflags>>>3)&1){\n t = m.getUint32(d+3*4,true);\n u32buf=new Uint32Array(m.buffer,t,((m.buffer.byteLength-t)-(m.buffer.byteLength-t)%4)/4);\n }\n u32bufp=0;if (metaflags&1){\n lsp = m.getUint32(d+1*4,true);\n }\n if ((metaflags>>>2)&1) {\n sl = m.getUint32(d+2*4,true);\n if ((metaflags>>>1)&1) {\n sp = lsp;\n s = \"\";\n e = sp + ((sl / 4) | 0) * 4;\n while (sp < e) {\n t = m.getUint32(sp, true);\n s += String.fromCharCode(\n t & 255,\n (t & 65280) >> 8,\n (t & 16711680) >> 16,\n t >> 24\n );\n sp += 4;\n }\n Line truncated