porffor 0.37.2 → 0.37.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -208,7 +208,7 @@ Mostly for reducing size. I do not really care about compiler perf/time as long
208
208
  - `i64.extend_i32_s`, `i32.wrap_i64` -> ``
209
209
  - `f64.convert_i32_u`, `i32.trunc_sat_f64_s` -> ``
210
210
  - `return`, `end` -> `end`
211
- - Change const, convert to const of converted valtype (eg `f64.const`, `i32.trunc_sat_f64_s -> `i32.const`)
211
+ - Change const, convert to const of converted valtype (eg `f64.const`, `i32.trunc_sat_f64_s` -> `i32.const`)
212
212
  - Remove some redundant sets/gets
213
213
  - Remove unneeded single just used vars
214
214
  - Remove unneeded blocks (no `br`s inside)
@@ -856,7 +856,7 @@ export const BuiltinFuncs = function() {
856
856
  typedParams: true,
857
857
  locals: [ Valtype.i32, Valtype.i32 ],
858
858
  returns: [ valtypeBinary ],
859
- returnType: Prefs.bytestring ? TYPES.bytestring : TYPES.string,
859
+ returnType: TYPES.bytestring,
860
860
  wasm: (scope, { typeSwitch, makeString }) => {
861
861
  const bc = {};
862
862
  for (const x in TYPE_NAMES) {
@@ -647,14 +647,14 @@ params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
647
647
  locals:[],localNames:["arg","arg#type"],
648
648
  };
649
649
  this.__Porffor_miniLog = {
650
- wasm:(_,{builtin,internalThrow})=>[[32,1],[33,13],[2,64],[32,13],[65,1],[70],[4,64,"TYPESWITCH|Number"],[32,0],[16,0],[12,0],[11],[32,13],[65,2],[70],[4,64,"TYPESWITCH|Boolean"],[32,0],[33,3],[32,1],[33,4],[2,127],[32,4],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,3],[252,3],[40,1,0],[12,1],[11],[32,4],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,3],[252,3],[40,1,0],[12,1],[11],[32,3],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,116],[16,1],[68,114],[16,1],[68,117],[16,1],[68,101],[16,1],[5],[68,102],[16,1],[68,97],[16,1],[68,108],[16,1],[68,115],[16,1],[68,101],[16,1],[11],[12,0],[11],[32,13],[65,195,1],[70],[32,13],[65,195,0],[70],[114],[4,64,"TYPESWITCH|ByteString,String"],[68,39],[16,1],[32,0],[32,1],[16,builtin('__Porffor_printString')],[33,5],[26],[68,39],[16,1],[12,0],[11],[32,13],[65,208,0],[70],[4,64,"TYPESWITCH|Array"],[32,0],[252,3],[40,1,0],[184],[68,1],[161],[34,6],[68,-1],[97],[4,64],[68,91],[16,1],[68,93],[16,1],[5],[68,91],[16,1],[68,32],[16,1],[68,0],[33,7],[3,64],[32,7],[32,6],[101],[4,64],[2,64],[32,0],[33,8],[32,7],[33,9],[32,1],[33,4],[2,124],[32,4],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[16,builtin('__Porffor_allocate')],[34,11],[65,1],[54,0,0],[32,11],[32,9],[252,3],[65,2],[108],[32,8],[252,3],[106],[47,0,4],[59,0,4],[32,11],[184],[65,195,0],[33,5],[12,1],[11],[32,4],[65,208,0],[70],[4,64,"TYPESWITCH|Array"],[32,9],[252,3],[65,9],[108],[32,8],[252,3],[106],[34,10],[43,0,4],[32,10],[45,0,12],[33,5],[12,1],[11],[32,4],[65,216,0],[70],[4,64,"TYPESWITCH|Uint8Array"],[32,8],[252,3],[40,0,4],[32,9],[252,3],[106],[45,0,4],[184],[65,1],[33,5],[12,1],[11],[32,4],[65,217,0],[70],[4,64,"TYPESWITCH|Int8Array"],[32,8],[252,3],[40,0,4],[32,9],[252,3],[106],[44,0,4],[183],[65,1],[33,5],[12,1],[11],[32,4],[65,218,0],[70],[4,64,"TYPESWITCH|Uint8ClampedArray"],[32,8],[252,3],[40,0,4],[32,9],[252,3],[106],[45,0,4],[184],[65,1],[33,5],[12,1],[11],[32,4],[65,219,0],[70],[4,64,"TYPESWITCH|Uint16Array"],[32,8],[252,3],[40,0,4],[32,9],[252,3],[65,2],[108],[106],[47,0,4],[184],[65,1],[33,5],[12,1],[11],[32,4],[65,220,0],[70],[4,64,"TYPESWITCH|Int16Array"],[32,8],[252,3],[40,0,4],[32,9],[252,3],[65,2],[108],[106],[46,0,4],[183],[65,1],[33,5],[12,1],[11],[32,4],[65,221,0],[70],[4,64,"TYPESWITCH|Uint32Array"],[32,8],[252,3],[40,0,4],[32,9],[252,3],[65,4],[108],[106],[40,0,4],[184],[65,1],[33,5],[12,1],[11],[32,4],[65,222,0],[70],[4,64,"TYPESWITCH|Int32Array"],[32,8],[252,3],[40,0,4],[32,9],[252,3],[65,4],[108],[106],[40,0,4],[183],[65,1],[33,5],[12,1],[11],[32,4],[65,223,0],[70],[4,64,"TYPESWITCH|Float32Array"],[32,8],[252,3],[40,0,4],[32,9],[252,3],[65,4],[108],[106],[42,0,4],[187],[65,1],[33,5],[12,1],[11],[32,4],[65,224,0],[70],[4,64,"TYPESWITCH|Float64Array"],[32,8],[252,3],[40,0,4],[32,9],[252,3],[65,8],[108],[106],[43,0,4],[65,1],[33,5],[12,1],[11],[32,4],[65,128,1],[70],[4,64,"TYPESWITCH|undefined"],...internalThrow(_,'TypeError',`Cannot read property of undefined`),[68,0],[12,1],[11],[32,4],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[16,builtin('__Porffor_allocate')],[34,11],[65,1],[54,0,0],[32,11],[32,9],[252,3],[32,8],[252,3],[106],[45,0,4],[58,0,4],[32,11],[184],[65,195,1],[33,5],[12,1],[11],[32,8],[252,3],[32,1],[32,9],[65,1],[16,builtin('__ecma262_ToPropertyKey')],[33,12],[252,3],[32,12],[16,builtin('__Porffor_object_get')],[33,5],[11,"TYPESWITCH_end"],[32,5],[16,builtin('__Porffor_miniLog')],[33,5],[26],[32,7],[32,6],[98],[4,64],[68,44],[16,1],[68,32],[16,1],[11],[11],[32,7],[68,1],[160],[33,7],[12,1],[11],[11],[68,32],[16,1],[68,93],[16,1],[11],[12,0],[11],[32,13],[65,0],[70],[32,13],[65,128,1],[70],[114],[4,64,"TYPESWITCH|empty,undefined"],[68,117],[16,1],[68,110],[16,1],[68,100],[16,1],[68,101],[16,1],[68,102],[16,1],[68,105],[16,1],[68,110],[16,1],[68,101],[16,1],[68,100],[16,1],[12,0],[11],[32,13],[65,7],[70],[4,64,"TYPESWITCH|Object"],[32,0],[33,3],[32,1],[33,4],[2,127],[32,4],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,3],[252,3],[40,1,0],[12,1],[11],[32,4],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,3],[252,3],[40,1,0],[12,1],[11],[32,3],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,91],[16,1],[68,79],[16,1],[68,98],[16,1],[68,106],[16,1],[68,101],[16,1],[68,99],[16,1],[68,116],[16,1],[68,93],[16,1],[5],[68,110],[16,1],[68,117],[16,1],[68,108],[16,1],[68,108],[16,1],[11],[12,0],[11],[11,"TYPESWITCH_end"],[68,10],[16,1],[68,0],[65,128,1],[15]],
650
+ wasm:(_,{builtin,internalThrow})=>[[32,1],[33,3],[2,64],[32,3],[65,1],[70],[4,64,"TYPESWITCH|Number"],[32,0],[16,0],[12,0],[11],[32,3],[65,2],[70],[4,64,"TYPESWITCH|Boolean"],[32,0],[33,4],[32,1],[33,5],[2,127],[32,5],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,4],[252,3],[40,1,0],[12,1],[11],[32,5],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,4],[252,3],[40,1,0],[12,1],[11],[32,4],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,116],[16,1],[68,114],[16,1],[68,117],[16,1],[68,101],[16,1],[5],[68,102],[16,1],[68,97],[16,1],[68,108],[16,1],[68,115],[16,1],[68,101],[16,1],[11],[12,0],[11],[32,3],[65,195,1],[70],[32,3],[65,195,0],[70],[114],[4,64,"TYPESWITCH|ByteString,String"],[68,39],[16,1],[32,0],[32,1],[16,builtin('__Porffor_printString')],[33,6],[26],[68,39],[16,1],[12,0],[11],[32,3],[65,208,0],[70],[4,64,"TYPESWITCH|Array"],[32,0],[252,3],[40,1,0],[184],[68,1],[161],[34,7],[68,-1],[97],[4,64],[68,91],[16,1],[68,93],[16,1],[5],[68,91],[16,1],[68,32],[16,1],[68,0],[33,8],[3,64],[32,8],[32,7],[101],[4,64],[2,64],[32,0],[33,9],[32,8],[33,10],[32,1],[33,5],[2,124],[32,5],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[16,builtin('__Porffor_allocate')],[34,12],[65,1],[54,0,0],[32,12],[32,10],[252,3],[65,2],[108],[32,9],[252,3],[106],[47,0,4],[59,0,4],[32,12],[184],[65,195,0],[33,6],[12,1],[11],[32,5],[65,208,0],[70],[4,64,"TYPESWITCH|Array"],[32,10],[252,3],[65,9],[108],[32,9],[252,3],[106],[34,11],[43,0,4],[32,11],[45,0,12],[33,6],[12,1],[11],[32,5],[65,216,0],[70],[4,64,"TYPESWITCH|Uint8Array"],[32,9],[252,3],[40,0,4],[32,10],[252,3],[106],[45,0,4],[184],[65,1],[33,6],[12,1],[11],[32,5],[65,217,0],[70],[4,64,"TYPESWITCH|Int8Array"],[32,9],[252,3],[40,0,4],[32,10],[252,3],[106],[44,0,4],[183],[65,1],[33,6],[12,1],[11],[32,5],[65,218,0],[70],[4,64,"TYPESWITCH|Uint8ClampedArray"],[32,9],[252,3],[40,0,4],[32,10],[252,3],[106],[45,0,4],[184],[65,1],[33,6],[12,1],[11],[32,5],[65,219,0],[70],[4,64,"TYPESWITCH|Uint16Array"],[32,9],[252,3],[40,0,4],[32,10],[252,3],[65,2],[108],[106],[47,0,4],[184],[65,1],[33,6],[12,1],[11],[32,5],[65,220,0],[70],[4,64,"TYPESWITCH|Int16Array"],[32,9],[252,3],[40,0,4],[32,10],[252,3],[65,2],[108],[106],[46,0,4],[183],[65,1],[33,6],[12,1],[11],[32,5],[65,221,0],[70],[4,64,"TYPESWITCH|Uint32Array"],[32,9],[252,3],[40,0,4],[32,10],[252,3],[65,4],[108],[106],[40,0,4],[184],[65,1],[33,6],[12,1],[11],[32,5],[65,222,0],[70],[4,64,"TYPESWITCH|Int32Array"],[32,9],[252,3],[40,0,4],[32,10],[252,3],[65,4],[108],[106],[40,0,4],[183],[65,1],[33,6],[12,1],[11],[32,5],[65,223,0],[70],[4,64,"TYPESWITCH|Float32Array"],[32,9],[252,3],[40,0,4],[32,10],[252,3],[65,4],[108],[106],[42,0,4],[187],[65,1],[33,6],[12,1],[11],[32,5],[65,224,0],[70],[4,64,"TYPESWITCH|Float64Array"],[32,9],[252,3],[40,0,4],[32,10],[252,3],[65,8],[108],[106],[43,0,4],[65,1],[33,6],[12,1],[11],[32,5],[65,128,1],[70],[4,64,"TYPESWITCH|undefined"],...internalThrow(_,'TypeError',`Cannot read property of undefined`),[68,0],[12,1],[11],[32,5],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[16,builtin('__Porffor_allocate')],[34,12],[65,1],[54,0,0],[32,12],[32,10],[252,3],[32,9],[252,3],[106],[45,0,4],[58,0,4],[32,12],[184],[65,195,1],[33,6],[12,1],[11],[32,9],[252,3],[32,1],[32,10],[65,1],[16,builtin('__ecma262_ToPropertyKey')],[33,13],[252,3],[32,13],[16,builtin('__Porffor_object_get')],[33,6],[11,"TYPESWITCH_end"],[32,6],[16,builtin('__Porffor_miniLog')],[33,6],[26],[32,8],[32,7],[98],[4,64],[68,44],[16,1],[68,32],[16,1],[11],[11],[32,8],[68,1],[160],[33,8],[12,1],[11],[11],[68,32],[16,1],[68,93],[16,1],[11],[12,0],[11],[32,3],[65,0],[70],[32,3],[65,128,1],[70],[114],[4,64,"TYPESWITCH|empty,undefined"],[68,117],[16,1],[68,110],[16,1],[68,100],[16,1],[68,101],[16,1],[68,102],[16,1],[68,105],[16,1],[68,110],[16,1],[68,101],[16,1],[68,100],[16,1],[12,0],[11],[32,3],[65,7],[70],[4,64,"TYPESWITCH|Object"],[32,0],[33,4],[32,1],[33,5],[2,127],[32,5],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,4],[252,3],[40,1,0],[12,1],[11],[32,5],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,4],[252,3],[40,1,0],[12,1],[11],[32,4],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,91],[16,1],[68,79],[16,1],[68,98],[16,1],[68,106],[16,1],[68,101],[16,1],[68,99],[16,1],[68,116],[16,1],[68,93],[16,1],[5],[68,110],[16,1],[68,117],[16,1],[68,108],[16,1],[68,108],[16,1],[11],[12,0],[11],[11,"TYPESWITCH_end"],[68,10],[16,1],[68,0],[65,128,1],[15]],
651
651
  params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
652
- locals:[124,124,127,127,124,124,124,124,127,127,127,127],localNames:["arg","arg#type","#switch_disc","#logicinner_tmp","#typeswitch_tmp2","#last_type","arrLen","i","#member_obj","#member_prop","#loadArray_offset","#member_allocd","#swap","#typeswitch_tmp1"],
652
+ locals:[124,127,124,127,127,124,124,124,124,127,127,127],localNames:["arg","arg#type","#switch_disc","#typeswitch_tmp1","#logicinner_tmp","#typeswitch_tmp2","#last_type","arrLen","i","#member_obj","#member_prop","#loadArray_offset","#member_allocd","#swap"],
653
653
  };
654
654
  this.__Porffor_print = {
655
- wasm:(_,{allocPage,builtin,internalThrow})=>[[32,3],[65,128,1],[70],[4,64],[68,1],[33,2],[65,2],[33,3],[11],[32,1],[33,32],[2,64],[32,32],[65,1],[70],[4,64,"TYPESWITCH|Number"],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,51],[16,1],[68,109],[16,1],[11],[32,0],[16,0],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,32],[65,2],[70],[4,64,"TYPESWITCH|Boolean"],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,51],[16,1],[68,109],[16,1],[11],[32,0],[33,5],[32,1],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,116],[16,1],[68,114],[16,1],[68,117],[16,1],[68,101],[16,1],[5],[68,102],[16,1],[68,97],[16,1],[68,108],[16,1],[68,115],[16,1],[68,101],[16,1],[11],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,32],[65,195,1],[70],[32,32],[65,195,0],[70],[114],[4,64,"TYPESWITCH|ByteString,String"],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,50],[16,1],[68,109],[16,1],[11],[68,39],[16,1],[32,0],[32,1],[16,builtin('__Porffor_printString')],[33,7],[26],[68,39],[16,1],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,32],[65,0],[70],[32,32],[65,128,1],[70],[114],[4,64,"TYPESWITCH|empty,undefined"],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,50],[16,1],[68,109],[16,1],[11],[68,117],[16,1],[68,110],[16,1],[68,100],[16,1],[68,101],[16,1],[68,102],[16,1],[68,105],[16,1],[68,110],[16,1],[68,101],[16,1],[68,100],[16,1],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,32],[65,7],[70],[4,64,"TYPESWITCH|Object"],[32,0],[33,5],[32,1],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[32,0],[32,1],[16,builtin('__Object_keys')],[33,7],[34,8],[252,3],[40,1,0],[184],[68,0],[97],[4,64],[68,123],[16,1],[68,125],[16,1],[68,0],[65,128,1],[15],[11],[68,123],[16,1],[68,32],[16,1],[32,8],[252,3],[40,1,0],[184],[68,1],[161],[33,9],[68,0],[33,10],[3,64],[32,10],[32,9],[101],[4,64],[32,8],[33,13],[32,10],[34,14],[252,3],[65,9],[108],[32,13],[252,3],[106],[34,15],[43,0,4],[32,15],[45,0,12],[34,7],[33,12],[33,11],[68,32],[16,1],[68,32],[16,1],[32,11],[32,12],[16,builtin('__Porffor_printString')],[33,7],[26],[68,58],[16,1],[68,32],[16,1],[32,0],[252,2],[32,1],[32,11],[32,12],[16,builtin('__ecma262_ToPropertyKey')],[33,7],[252,2],[32,7],[16,builtin('__Porffor_object_get')],[34,7],[68,0],[65,128,1],[16,builtin('__Porffor_print')],[33,7],[26],[32,10],[32,9],[98],[4,64],[68,44],[16,1],[68,10],[16,1],[11],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[68,32],[16,1],[68,125],[16,1],[5],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,49],[16,1],[68,109],[16,1],[11],[68,110],[16,1],[68,117],[16,1],[68,108],[16,1],[68,108],[16,1],[11],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,32],[65,6],[70],[4,64,"TYPESWITCH|Function"],[68,91],[16,1],[68,70],[16,1],[68,117],[16,1],[68,110],[16,1],[68,99],[16,1],[68,116],[16,1],[68,105],[16,1],[68,111],[16,1],[68,110],[16,1],[68,32],[16,1],[32,0],[252,2],[16,builtin('__Porffor_funcLut_name')],[183],[65,195,1],[16,builtin('__Porffor_printString')],[33,7],[26],[68,93],[16,1],[68,0],[65,128,1],[15],[11],[32,32],[65,18],[70],[4,64,"TYPESWITCH|Date"],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,53],[16,1],[68,109],[16,1],[11],[32,0],[32,1],[16,builtin('__Date_prototype_toISOString')],[34,7],[16,builtin('__Porffor_printString')],[33,7],[26],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,32],[65,5],[70],[4,64,"TYPESWITCH|Symbol"],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,50],[16,1],[68,109],[16,1],[11],[32,0],[32,1],[16,builtin('__Symbol_prototype_toString')],[34,7],[16,builtin('__Porffor_printString')],[33,7],[26],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,32],[65,208,0],[70],[4,64,"TYPESWITCH|Array"],[32,0],[32,1],[32,2],[32,3],[68,0],[65,2],[16,builtin('__Porffor_printArray')],[33,7],[26],[68,0],[65,128,1],[15],[11],[32,32],[65,216,0],[70],[4,64,"TYPESWITCH|Uint8Array"],[68,85],[16,1],[68,105],[16,1],[68,110],[16,1],[68,116],[16,1],[68,56],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,7],[26],[68,0],[65,128,1],[15],[11],[32,32],[65,217,0],[70],[4,64,"TYPESWITCH|Int8Array"],[68,73],[16,1],[68,110],[16,1],[68,116],[16,1],[68,56],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,7],[26],[68,0],[65,128,1],[15],[11],[32,32],[65,218,0],[70],[4,64,"TYPESWITCH|Uint8ClampedArray"],[68,85],[16,1],[68,105],[16,1],[68,110],[16,1],[68,116],[16,1],[68,56],[16,1],[68,67],[16,1],[68,108],[16,1],[68,97],[16,1],[68,109],[16,1],[68,112],[16,1],[68,101],[16,1],[68,100],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,7],[26],[68,0],[65,128,1],[15],[11],[32,32],[65,219,0],[70],[4,64,"TYPESWITCH|Uint16Array"],[68,85],[16,1],[68,105],[16,1],[68,110],[16,1],[68,116],[16,1],[68,49],[16,1],[68,54],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,7],[26],[68,0],[65,128,1],[15],[11],[32,32],[65,220,0],[70],[4,64,"TYPESWITCH|Int16Array"],[68,73],[16,1],[68,110],[16,1],[68,116],[16,1],[68,49],[16,1],[68,54],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,7],[26],[68,0],[65,128,1],[15],[11],[32,32],[65,221,0],[70],[4,64,"TYPESWITCH|Uint32Array"],[68,85],[16,1],[68,105],[16,1],[68,110],[16,1],[68,116],[16,1],[68,51],[16,1],[68,50],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,7],[26],[68,0],[65,128,1],[15],[11],[32,32],[65,222,0],[70],[4,64,"TYPESWITCH|Int32Array"],[68,73],[16,1],[68,110],[16,1],[68,116],[16,1],[68,51],[16,1],[68,50],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,7],[26],[68,0],[65,128,1],[15],[11],[32,32],[65,223,0],[70],[4,64,"TYPESWITCH|Float32Array"],[68,70],[16,1],[68,108],[16,1],[68,111],[16,1],[68,97],[16,1],[68,116],[16,1],[68,51],[16,1],[68,50],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,7],[26],[68,0],[65,128,1],[15],[11],[32,32],[65,224,0],[70],[4,64,"TYPESWITCH|Float64Array"],[68,70],[16,1],[68,108],[16,1],[68,111],[16,1],[68,97],[16,1],[68,116],[16,1],[68,54],[16,1],[68,52],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,7],[26],[68,0],[65,128,1],[15],[11],[32,32],[65,22],[70],[32,32],[65,21],[70],[114],[4,64,"TYPESWITCH|SharedArrayBuffer,ArrayBuffer"],[32,1],[184],[68,22],[97],[4,64],[68,83],[16,1],[68,104],[16,1],[68,97],[16,1],[68,114],[16,1],[68,101],[16,1],[68,100],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[68,66],[16,1],[68,117],[16,1],[68,102],[16,1],[68,102],[16,1],[68,101],[16,1],[68,114],[16,1],[5],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[68,66],[16,1],[68,117],[16,1],[68,102],[16,1],[68,102],[16,1],[68,101],[16,1],[68,114],[16,1],[11],[68,32],[16,1],[68,123],[16,1],[68,10],[16,1],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,52],[16,1],[68,109],[16,1],[11],[68,32],[16,1],[68,32],[16,1],[68,91],[16,1],[68,85],[16,1],[68,105],[16,1],[68,110],[16,1],[68,116],[16,1],[68,56],[16,1],[68,67],[16,1],[68,111],[16,1],[68,110],[16,1],[68,116],[16,1],[68,101],[16,1],[68,110],[16,1],[68,116],[16,1],[68,115],[16,1],[68,93],[16,1],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,41],[16,1],[68,58],[16,1],[68,32],[16,1],[68,60],[16,1],[68,14],[65,6],[16,builtin('__Porffor_allocate')],[184],[65,7],[32,0],[32,1],[68,0],[65,128,1],[68,0],[65,128,1],[16,builtin('Uint8Array')],[34,7],[33,19],[34,18],[252,3],[40,1,0],[184],[68,1],[161],[33,20],[65,1],[33,21],[68,0],[33,10],[3,64],[32,10],[32,20],[101],[4,64],[2,64],[32,18],[33,13],[32,10],[33,14],[32,19],[33,6],[2,124],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[16,builtin('__Porffor_allocate')],[34,16],[65,1],[54,0,0],[32,16],[32,14],[252,3],[65,2],[108],[32,13],[252,3],[106],[47,0,4],[59,0,4],[32,16],[184],[65,195,0],[33,7],[12,1],[11],[32,6],[65,208,0],[70],[4,64,"TYPESWITCH|Array"],[32,14],[252,3],[65,9],[108],[32,13],[252,3],[106],[34,15],[43,0,4],[32,15],[45,0,12],[33,7],[12,1],[11],[32,6],[65,216,0],[70],[4,64,"TYPESWITCH|Uint8Array"],[32,13],[252,3],[40,0,4],[32,14],[252,3],[106],[45,0,4],[184],[65,1],[33,7],[12,1],[11],[32,6],[65,217,0],[70],[4,64,"TYPESWITCH|Int8Array"],[32,13],[252,3],[40,0,4],[32,14],[252,3],[106],[44,0,4],[183],[65,1],[33,7],[12,1],[11],[32,6],[65,218,0],[70],[4,64,"TYPESWITCH|Uint8ClampedArray"],[32,13],[252,3],[40,0,4],[32,14],[252,3],[106],[45,0,4],[184],[65,1],[33,7],[12,1],[11],[32,6],[65,219,0],[70],[4,64,"TYPESWITCH|Uint16Array"],[32,13],[252,3],[40,0,4],[32,14],[252,3],[65,2],[108],[106],[47,0,4],[184],[65,1],[33,7],[12,1],[11],[32,6],[65,220,0],[70],[4,64,"TYPESWITCH|Int16Array"],[32,13],[252,3],[40,0,4],[32,14],[252,3],[65,2],[108],[106],[46,0,4],[183],[65,1],[33,7],[12,1],[11],[32,6],[65,221,0],[70],[4,64,"TYPESWITCH|Uint32Array"],[32,13],[252,3],[40,0,4],[32,14],[252,3],[65,4],[108],[106],[40,0,4],[184],[65,1],[33,7],[12,1],[11],[32,6],[65,222,0],[70],[4,64,"TYPESWITCH|Int32Array"],[32,13],[252,3],[40,0,4],[32,14],[252,3],[65,4],[108],[106],[40,0,4],[183],[65,1],[33,7],[12,1],[11],[32,6],[65,223,0],[70],[4,64,"TYPESWITCH|Float32Array"],[32,13],[252,3],[40,0,4],[32,14],[252,3],[65,4],[108],[106],[42,0,4],[187],[65,1],[33,7],[12,1],[11],[32,6],[65,224,0],[70],[4,64,"TYPESWITCH|Float64Array"],[32,13],[252,3],[40,0,4],[32,14],[252,3],[65,8],[108],[106],[43,0,4],[65,1],[33,7],[12,1],[11],[32,6],[65,128,1],[70],[4,64,"TYPESWITCH|undefined"],...internalThrow(_,'TypeError',`Cannot read property of undefined`),[68,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[16,builtin('__Porffor_allocate')],[34,16],[65,1],[54,0,0],[32,16],[32,14],[252,3],[32,13],[252,3],[106],[45,0,4],[58,0,4],[32,16],[184],[65,195,1],[33,7],[12,1],[11],[32,13],[252,3],[32,19],[32,14],[65,1],[16,builtin('__ecma262_ToPropertyKey')],[33,17],[252,3],[32,17],[16,builtin('__Porffor_object_get')],[33,7],[11,"TYPESWITCH_end"],[33,22],[32,7],[33,23],[32,22],[68,240],[16,builtin('f64_&')],[68,16],[163],[65,1],[16,builtin('__Porffor_printHexDigit')],[33,7],[26],[32,22],[68,15],[16,builtin('f64_&')],[65,1],[16,builtin('__Porffor_printHexDigit')],[33,7],[26],[32,10],[32,20],[98],[4,64],[68,32],[16,1],[11],[11],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[68,62],[16,1],[68,44],[16,1],[68,10],[16,1],[68,32],[16,1],[68,32],[16,1],[68,98],[16,1],[68,121],[16,1],[68,116],[16,1],[68,101],[16,1],[68,76],[16,1],[68,101],[16,1],[68,110],[16,1],[68,103],[16,1],[68,116],[16,1],[68,104],[16,1],[68,58],[16,1],[68,32],[16,1],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,51],[16,1],[68,109],[16,1],[11],[32,0],[33,13],[32,1],[33,24],...number(allocPage(_,'bytestring: __Porffor_print/#member_prop','i8'),124),[34,14],[252,3],[34,25],[65,10],[54,1,0],[32,25],[65,226,0],[58,0,4],[32,25],[65,249,0],[58,0,5],[32,25],[65,244,0],[58,0,6],[32,25],[65,229,0],[58,0,7],[32,25],[65,204,0],[58,0,8],[32,25],[65,229,0],[58,0,9],[32,25],[65,238,0],[58,0,10],[32,25],[65,231,0],[58,0,11],[32,25],[65,244,0],[58,0,12],[32,25],[65,232,0],[58,0,13],[32,25],[184],[33,14],[32,1],[33,6],[2,124],[32,6],[65,21],[70],[4,64,"TYPESWITCH|ArrayBuffer"],[32,13],[32,24],[16,builtin('__ArrayBuffer_prototype_byteLength$get')],[33,7],[12,1],[11],[32,6],[65,22],[70],[4,64,"TYPESWITCH|SharedArrayBuffer"],[32,13],[32,24],[16,builtin('__SharedArrayBuffer_prototype_byteLength$get')],[33,7],[12,1],[11],[32,6],[65,23],[70],[4,64,"TYPESWITCH|DataView"],[32,13],[32,24],[16,builtin('__DataView_prototype_byteLength$get')],[33,7],[12,1],[11],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[16,builtin('__Porffor_allocate')],[34,16],[65,1],[54,0,0],[32,16],[32,14],[252,3],[65,2],[108],[32,13],[252,3],[106],[47,0,4],[59,0,4],[32,16],[184],[65,195,0],[33,7],[12,1],[11],[32,6],[65,208,0],[70],[4,64,"TYPESWITCH|Array"],[32,14],[252,3],[65,9],[108],[32,13],[252,3],[106],[34,15],[43,0,4],[32,15],[45,0,12],[33,7],[12,1],[11],[32,6],[65,216,0],[70],[4,64,"TYPESWITCH|Uint8Array"],[32,13],[32,24],[16,builtin('__Uint8Array_prototype_byteLength$get')],[33,7],[12,1],[11],[32,6],[65,217,0],[70],[4,64,"TYPESWITCH|Int8Array"],[32,13],[32,24],[16,builtin('__Int8Array_prototype_byteLength$get')],[33,7],[12,1],[11],[32,6],[65,218,0],[70],[4,64,"TYPESWITCH|Uint8ClampedArray"],[32,13],[32,24],[16,builtin('__Uint8ClampedArray_prototype_byteLength$get')],[33,7],[12,1],[11],[32,6],[65,219,0],[70],[4,64,"TYPESWITCH|Uint16Array"],[32,13],[32,24],[16,builtin('__Uint16Array_prototype_byteLength$get')],[33,7],[12,1],[11],[32,6],[65,220,0],[70],[4,64,"TYPESWITCH|Int16Array"],[32,13],[32,24],[16,builtin('__Int16Array_prototype_byteLength$get')],[33,7],[12,1],[11],[32,6],[65,221,0],[70],[4,64,"TYPESWITCH|Uint32Array"],[32,13],[32,24],[16,builtin('__Uint32Array_prototype_byteLength$get')],[33,7],[12,1],[11],[32,6],[65,222,0],[70],[4,64,"TYPESWITCH|Int32Array"],[32,13],[32,24],[16,builtin('__Int32Array_prototype_byteLength$get')],[33,7],[12,1],[11],[32,6],[65,223,0],[70],[4,64,"TYPESWITCH|Float32Array"],[32,13],[32,24],[16,builtin('__Float32Array_prototype_byteLength$get')],[33,7],[12,1],[11],[32,6],[65,224,0],[70],[4,64,"TYPESWITCH|Float64Array"],[32,13],[32,24],[16,builtin('__Float64Array_prototype_byteLength$get')],[33,7],[12,1],[11],[32,6],[65,128,1],[70],[4,64,"TYPESWITCH|undefined"],...internalThrow(_,'TypeError',`Cannot read property of undefined`),[68,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[16,builtin('__Porffor_allocate')],[34,16],[65,1],[54,0,0],[32,16],[32,14],[252,3],[32,13],[252,3],[106],[45,0,4],[58,0,4],[32,16],[184],[65,195,1],[33,7],[12,1],[11],[32,13],[252,3],[32,1],[32,14],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[33,7],[11,"TYPESWITCH_end"],[16,0],[32,2],[33,5],[32,3],[33,6],[2,127],[32,6],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,6],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,5],[252,3],[40,1,0],[12,1],[11],[32,5],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,10],[16,1],[68,125],[16,1],[68,0],[65,128,1],[15],[11],[32,32],[65,23],[70],[4,64,"TYPESWITCH|DataView"],[68,68],[16,1],[68,97],[16,1],[68,116],[16,1],[68,97],[16,1],[68,86],[16,1],[68,105],[16,1],[68,101],[16,1],[68,119],[16,1],[68,32],[16,1],[68,123],[16,1],[68,10],[16,1],[68,32],[16,1],[68,32],[16,1],[68,98],[16,1],[68,121],[16,1],[68,116],[16,1],[68,101],[16,1],[68,76],[16,1],[68,101],[16,1],[68,110],[16,1],[68,103],[16,1],[68,116],[16,1],[68,104],[16,1],[68,58],[16,1],[68,32],[16,1],[32,0],[32,1],[16,builtin('__DataView_prototype_byteLength$get')],[34,7],[32,2],[32,3],[16,builtin('__Porffor_print')],[33,7],[26],[68,44],[16,1],[68,10],[16,1],[68,32],[16,1],[68,32],[16,1],[68,98],[16,1],[68,121],[16,1],[68,116],[16,1],[68,101],[16,1],[68,79],[16,1],[68,102],[16,1],[68,102],[16,1],[68,115],[16,1],[68,101],[16,1],[68,116],[16,1],[68,58],[16,1],[68,32],[16,1],[32,0],[32,1],[16,builtin('__DataView_prototype_byteOffset$get')],[34,7],[32,2],[32,3],[16,builtin('__Porffor_print')],[33,7],[26],[68,44],[16,1],[68,10],[16,1],[68,32],[16,1],[68,32],[16,1],[68,98],[16,1],[68,117],[16,1],[68,102],[16,1],[68,102],[16,1],[68,101],[16,1],[68,114],[16,1],[68,58],[16,1],[68,32],[16,1],[32,0],[32,1],[16,builtin('__DataView_prototype_buffer$get')],[34,7],[32,2],[32,3],[16,builtin('__Porffor_print')],[33,7],[26],[68,10],[16,1],[68,125],[16,1],[68,0],[65,128,1],[15],[11],[32,32],[65,35],[70],[32,32],[65,20],[70],[114],[4,64,"TYPESWITCH|WeakMap,Map"],[32,1],[184],[68,35],[97],[4,64],[68,87],[16,1],[68,101],[16,1],[68,97],[16,1],[68,107],[16,1],[68,77],[16,1],[68,97],[16,1],[68,112],[16,1],[5],[68,77],[16,1],[68,97],[16,1],[68,112],[16,1],[11],[68,40],[16,1],[32,0],[32,1],[16,builtin('__Map_prototype_keys')],[33,7],[34,26],[252,3],[40,1,0],[184],[68,1],[161],[34,27],[68,1],[160],[16,0],[68,41],[16,1],[68,32],[16,1],[68,123],[16,1],[68,32],[16,1],[68,0],[33,10],[3,64],[32,10],[32,27],[99],[4,64],[32,26],[33,13],[65,208,0],[33,24],[32,10],[34,14],[252,3],[65,9],[108],[32,13],[252,3],[106],[34,15],[43,0,4],[32,15],[45,0,12],[34,7],[33,29],[34,28],[32,29],[68,0],[65,128,1],[16,builtin('__Porffor_print')],[33,7],[26],[68,32],[16,1],[68,61],[16,1],[68,62],[16,1],[68,32],[16,1],[32,0],[32,1],[32,28],[32,29],[16,builtin('__Map_prototype_get')],[34,7],[32,2],[32,3],[16,builtin('__Porffor_print')],[33,7],[26],[32,10],[32,27],[98],[4,64],[68,44],[16,1],[68,32],[16,1],[11],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[68,32],[16,1],[68,125],[16,1],[68,0],[65,128,1],[15],[11],[32,32],[65,34],[70],[32,32],[65,19],[70],[114],[4,64,"TYPESWITCH|WeakSet,Set"],[32,1],[184],[68,34],[97],[4,64],[68,87],[16,1],[68,101],[16,1],[68,97],[16,1],[68,107],[16,1],[68,83],[16,1],[68,101],[16,1],[68,116],[16,1],[5],[68,83],[16,1],[68,101],[16,1],[68,116],[16,1],[11],[68,40],[16,1],[32,0],[32,1],[16,builtin('__Set_prototype_values')],[33,7],[34,30],[252,3],[40,1,0],[184],[68,1],[161],[34,31],[68,1],[160],[16,0],[68,41],[16,1],[68,32],[16,1],[68,123],[16,1],[68,32],[16,1],[68,0],[33,10],[3,64],[32,10],[32,31],[101],[4,64],[32,30],[33,13],[65,208,0],[33,24],[32,10],[34,14],[252,3],[65,9],[108],[32,13],[252,3],[106],[34,15],[43,0,4],[32,15],[45,0,12],[34,7],[32,2],[32,3],[16,builtin('__Porffor_print')],[33,7],[26],[32,10],[32,31],[98],[4,64],[68,44],[16,1],[68,32],[16,1],[11],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[68,32],[16,1],[68,125],[16,1],[68,0],[65,128,1],[15],[11],[32,32],[65,33],[70],[4,64,"TYPESWITCH|WeakRef"],[68,87],[16,1],[68,101],[16,1],[68,97],[16,1],[68,107],[16,1],[68,82],[16,1],[68,101],[16,1],[68,102],[16,1],[68,32],[16,1],[68,123],[16,1],[68,125],[16,1],[68,0],[65,128,1],[15],[11],[11,"TYPESWITCH_end"],[68,0],[65,128,1],[15]],
655
+ wasm:(_,{allocPage,builtin,internalThrow})=>[[32,3],[65,128,1],[70],[4,64],[68,1],[33,2],[65,2],[33,3],[11],[32,1],[33,5],[2,64],[32,5],[65,1],[70],[4,64,"TYPESWITCH|Number"],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,51],[16,1],[68,109],[16,1],[11],[32,0],[16,0],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,5],[65,2],[70],[4,64,"TYPESWITCH|Boolean"],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,51],[16,1],[68,109],[16,1],[11],[32,0],[33,6],[32,1],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,116],[16,1],[68,114],[16,1],[68,117],[16,1],[68,101],[16,1],[5],[68,102],[16,1],[68,97],[16,1],[68,108],[16,1],[68,115],[16,1],[68,101],[16,1],[11],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,5],[65,195,1],[70],[32,5],[65,195,0],[70],[114],[4,64,"TYPESWITCH|ByteString,String"],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,50],[16,1],[68,109],[16,1],[11],[68,39],[16,1],[32,0],[32,1],[16,builtin('__Porffor_printString')],[33,8],[26],[68,39],[16,1],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,5],[65,0],[70],[32,5],[65,128,1],[70],[114],[4,64,"TYPESWITCH|empty,undefined"],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,50],[16,1],[68,109],[16,1],[11],[68,117],[16,1],[68,110],[16,1],[68,100],[16,1],[68,101],[16,1],[68,102],[16,1],[68,105],[16,1],[68,110],[16,1],[68,101],[16,1],[68,100],[16,1],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,5],[65,7],[70],[4,64,"TYPESWITCH|Object"],[32,0],[33,6],[32,1],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[32,0],[32,1],[16,builtin('__Object_keys')],[33,8],[34,9],[252,3],[40,1,0],[184],[68,0],[97],[4,64],[68,123],[16,1],[68,125],[16,1],[68,0],[65,128,1],[15],[11],[68,123],[16,1],[68,32],[16,1],[32,9],[252,3],[40,1,0],[184],[68,1],[161],[33,10],[68,0],[33,11],[3,64],[32,11],[32,10],[101],[4,64],[32,9],[33,14],[32,11],[34,15],[252,3],[65,9],[108],[32,14],[252,3],[106],[34,16],[43,0,4],[32,16],[45,0,12],[34,8],[33,13],[33,12],[68,32],[16,1],[68,32],[16,1],[32,12],[32,13],[16,builtin('__Porffor_printString')],[33,8],[26],[68,58],[16,1],[68,32],[16,1],[32,0],[252,2],[32,1],[32,12],[32,13],[16,builtin('__ecma262_ToPropertyKey')],[33,8],[252,2],[32,8],[16,builtin('__Porffor_object_get')],[34,8],[68,0],[65,128,1],[16,builtin('__Porffor_print')],[33,8],[26],[32,11],[32,10],[98],[4,64],[68,44],[16,1],[68,10],[16,1],[11],[32,11],[68,1],[160],[33,11],[12,1],[11],[11],[68,32],[16,1],[68,125],[16,1],[5],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,49],[16,1],[68,109],[16,1],[11],[68,110],[16,1],[68,117],[16,1],[68,108],[16,1],[68,108],[16,1],[11],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,5],[65,6],[70],[4,64,"TYPESWITCH|Function"],[68,91],[16,1],[68,70],[16,1],[68,117],[16,1],[68,110],[16,1],[68,99],[16,1],[68,116],[16,1],[68,105],[16,1],[68,111],[16,1],[68,110],[16,1],[68,32],[16,1],[32,0],[252,2],[16,builtin('__Porffor_funcLut_name')],[183],[65,195,1],[16,builtin('__Porffor_printString')],[33,8],[26],[68,93],[16,1],[68,0],[65,128,1],[15],[11],[32,5],[65,18],[70],[4,64,"TYPESWITCH|Date"],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,53],[16,1],[68,109],[16,1],[11],[32,0],[32,1],[16,builtin('__Date_prototype_toISOString')],[34,8],[16,builtin('__Porffor_printString')],[33,8],[26],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,5],[65,5],[70],[4,64,"TYPESWITCH|Symbol"],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,50],[16,1],[68,109],[16,1],[11],[32,0],[32,1],[16,builtin('__Symbol_prototype_toString')],[34,8],[16,builtin('__Porffor_printString')],[33,8],[26],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,0],[65,128,1],[15],[11],[32,5],[65,208,0],[70],[4,64,"TYPESWITCH|Array"],[32,0],[32,1],[32,2],[32,3],[68,0],[65,2],[16,builtin('__Porffor_printArray')],[33,8],[26],[68,0],[65,128,1],[15],[11],[32,5],[65,216,0],[70],[4,64,"TYPESWITCH|Uint8Array"],[68,85],[16,1],[68,105],[16,1],[68,110],[16,1],[68,116],[16,1],[68,56],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,8],[26],[68,0],[65,128,1],[15],[11],[32,5],[65,217,0],[70],[4,64,"TYPESWITCH|Int8Array"],[68,73],[16,1],[68,110],[16,1],[68,116],[16,1],[68,56],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,8],[26],[68,0],[65,128,1],[15],[11],[32,5],[65,218,0],[70],[4,64,"TYPESWITCH|Uint8ClampedArray"],[68,85],[16,1],[68,105],[16,1],[68,110],[16,1],[68,116],[16,1],[68,56],[16,1],[68,67],[16,1],[68,108],[16,1],[68,97],[16,1],[68,109],[16,1],[68,112],[16,1],[68,101],[16,1],[68,100],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,8],[26],[68,0],[65,128,1],[15],[11],[32,5],[65,219,0],[70],[4,64,"TYPESWITCH|Uint16Array"],[68,85],[16,1],[68,105],[16,1],[68,110],[16,1],[68,116],[16,1],[68,49],[16,1],[68,54],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,8],[26],[68,0],[65,128,1],[15],[11],[32,5],[65,220,0],[70],[4,64,"TYPESWITCH|Int16Array"],[68,73],[16,1],[68,110],[16,1],[68,116],[16,1],[68,49],[16,1],[68,54],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,8],[26],[68,0],[65,128,1],[15],[11],[32,5],[65,221,0],[70],[4,64,"TYPESWITCH|Uint32Array"],[68,85],[16,1],[68,105],[16,1],[68,110],[16,1],[68,116],[16,1],[68,51],[16,1],[68,50],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,8],[26],[68,0],[65,128,1],[15],[11],[32,5],[65,222,0],[70],[4,64,"TYPESWITCH|Int32Array"],[68,73],[16,1],[68,110],[16,1],[68,116],[16,1],[68,51],[16,1],[68,50],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,8],[26],[68,0],[65,128,1],[15],[11],[32,5],[65,223,0],[70],[4,64,"TYPESWITCH|Float32Array"],[68,70],[16,1],[68,108],[16,1],[68,111],[16,1],[68,97],[16,1],[68,116],[16,1],[68,51],[16,1],[68,50],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,8],[26],[68,0],[65,128,1],[15],[11],[32,5],[65,224,0],[70],[4,64,"TYPESWITCH|Float64Array"],[68,70],[16,1],[68,108],[16,1],[68,111],[16,1],[68,97],[16,1],[68,116],[16,1],[68,54],[16,1],[68,52],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[32,0],[32,1],[32,2],[32,3],[68,1],[65,2],[16,builtin('__Porffor_printArray')],[33,8],[26],[68,0],[65,128,1],[15],[11],[32,5],[65,22],[70],[32,5],[65,21],[70],[114],[4,64,"TYPESWITCH|SharedArrayBuffer,ArrayBuffer"],[32,1],[184],[68,22],[97],[4,64],[68,83],[16,1],[68,104],[16,1],[68,97],[16,1],[68,114],[16,1],[68,101],[16,1],[68,100],[16,1],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[68,66],[16,1],[68,117],[16,1],[68,102],[16,1],[68,102],[16,1],[68,101],[16,1],[68,114],[16,1],[5],[68,65],[16,1],[68,114],[16,1],[68,114],[16,1],[68,97],[16,1],[68,121],[16,1],[68,66],[16,1],[68,117],[16,1],[68,102],[16,1],[68,102],[16,1],[68,101],[16,1],[68,114],[16,1],[11],[68,32],[16,1],[68,123],[16,1],[68,10],[16,1],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,52],[16,1],[68,109],[16,1],[11],[68,32],[16,1],[68,32],[16,1],[68,91],[16,1],[68,85],[16,1],[68,105],[16,1],[68,110],[16,1],[68,116],[16,1],[68,56],[16,1],[68,67],[16,1],[68,111],[16,1],[68,110],[16,1],[68,116],[16,1],[68,101],[16,1],[68,110],[16,1],[68,116],[16,1],[68,115],[16,1],[68,93],[16,1],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,41],[16,1],[68,58],[16,1],[68,32],[16,1],[68,60],[16,1],[68,14],[65,6],[16,builtin('__Porffor_allocate')],[184],[65,7],[32,0],[32,1],[68,0],[65,128,1],[68,0],[65,128,1],[16,builtin('Uint8Array')],[34,8],[33,20],[34,19],[252,3],[40,1,0],[184],[68,1],[161],[33,21],[65,1],[33,22],[68,0],[33,11],[3,64],[32,11],[32,21],[101],[4,64],[2,64],[32,19],[33,14],[32,11],[33,15],[32,20],[33,7],[2,124],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[16,builtin('__Porffor_allocate')],[34,17],[65,1],[54,0,0],[32,17],[32,15],[252,3],[65,2],[108],[32,14],[252,3],[106],[47,0,4],[59,0,4],[32,17],[184],[65,195,0],[33,8],[12,1],[11],[32,7],[65,208,0],[70],[4,64,"TYPESWITCH|Array"],[32,15],[252,3],[65,9],[108],[32,14],[252,3],[106],[34,16],[43,0,4],[32,16],[45,0,12],[33,8],[12,1],[11],[32,7],[65,216,0],[70],[4,64,"TYPESWITCH|Uint8Array"],[32,14],[252,3],[40,0,4],[32,15],[252,3],[106],[45,0,4],[184],[65,1],[33,8],[12,1],[11],[32,7],[65,217,0],[70],[4,64,"TYPESWITCH|Int8Array"],[32,14],[252,3],[40,0,4],[32,15],[252,3],[106],[44,0,4],[183],[65,1],[33,8],[12,1],[11],[32,7],[65,218,0],[70],[4,64,"TYPESWITCH|Uint8ClampedArray"],[32,14],[252,3],[40,0,4],[32,15],[252,3],[106],[45,0,4],[184],[65,1],[33,8],[12,1],[11],[32,7],[65,219,0],[70],[4,64,"TYPESWITCH|Uint16Array"],[32,14],[252,3],[40,0,4],[32,15],[252,3],[65,2],[108],[106],[47,0,4],[184],[65,1],[33,8],[12,1],[11],[32,7],[65,220,0],[70],[4,64,"TYPESWITCH|Int16Array"],[32,14],[252,3],[40,0,4],[32,15],[252,3],[65,2],[108],[106],[46,0,4],[183],[65,1],[33,8],[12,1],[11],[32,7],[65,221,0],[70],[4,64,"TYPESWITCH|Uint32Array"],[32,14],[252,3],[40,0,4],[32,15],[252,3],[65,4],[108],[106],[40,0,4],[184],[65,1],[33,8],[12,1],[11],[32,7],[65,222,0],[70],[4,64,"TYPESWITCH|Int32Array"],[32,14],[252,3],[40,0,4],[32,15],[252,3],[65,4],[108],[106],[40,0,4],[183],[65,1],[33,8],[12,1],[11],[32,7],[65,223,0],[70],[4,64,"TYPESWITCH|Float32Array"],[32,14],[252,3],[40,0,4],[32,15],[252,3],[65,4],[108],[106],[42,0,4],[187],[65,1],[33,8],[12,1],[11],[32,7],[65,224,0],[70],[4,64,"TYPESWITCH|Float64Array"],[32,14],[252,3],[40,0,4],[32,15],[252,3],[65,8],[108],[106],[43,0,4],[65,1],[33,8],[12,1],[11],[32,7],[65,128,1],[70],[4,64,"TYPESWITCH|undefined"],...internalThrow(_,'TypeError',`Cannot read property of undefined`),[68,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[16,builtin('__Porffor_allocate')],[34,17],[65,1],[54,0,0],[32,17],[32,15],[252,3],[32,14],[252,3],[106],[45,0,4],[58,0,4],[32,17],[184],[65,195,1],[33,8],[12,1],[11],[32,14],[252,3],[32,20],[32,15],[65,1],[16,builtin('__ecma262_ToPropertyKey')],[33,18],[252,3],[32,18],[16,builtin('__Porffor_object_get')],[33,8],[11,"TYPESWITCH_end"],[33,23],[32,8],[33,24],[32,23],[68,240],[16,builtin('f64_&')],[68,16],[163],[65,1],[16,builtin('__Porffor_printHexDigit')],[33,8],[26],[32,23],[68,15],[16,builtin('f64_&')],[65,1],[16,builtin('__Porffor_printHexDigit')],[33,8],[26],[32,11],[32,21],[98],[4,64],[68,32],[16,1],[11],[11],[32,11],[68,1],[160],[33,11],[12,1],[11],[11],[68,62],[16,1],[68,44],[16,1],[68,10],[16,1],[68,32],[16,1],[68,32],[16,1],[68,98],[16,1],[68,121],[16,1],[68,116],[16,1],[68,101],[16,1],[68,76],[16,1],[68,101],[16,1],[68,110],[16,1],[68,103],[16,1],[68,116],[16,1],[68,104],[16,1],[68,58],[16,1],[68,32],[16,1],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,51],[16,1],[68,51],[16,1],[68,109],[16,1],[11],[32,0],[33,14],[32,1],[33,25],...number(allocPage(_,'bytestring: __Porffor_print/#member_prop','i8'),124),[34,15],[252,3],[34,26],[65,10],[54,1,0],[32,26],[65,226,0],[58,0,4],[32,26],[65,249,0],[58,0,5],[32,26],[65,244,0],[58,0,6],[32,26],[65,229,0],[58,0,7],[32,26],[65,204,0],[58,0,8],[32,26],[65,229,0],[58,0,9],[32,26],[65,238,0],[58,0,10],[32,26],[65,231,0],[58,0,11],[32,26],[65,244,0],[58,0,12],[32,26],[65,232,0],[58,0,13],[32,26],[184],[33,15],[32,1],[33,7],[2,124],[32,7],[65,21],[70],[4,64,"TYPESWITCH|ArrayBuffer"],[32,14],[32,25],[16,builtin('__ArrayBuffer_prototype_byteLength$get')],[33,8],[12,1],[11],[32,7],[65,22],[70],[4,64,"TYPESWITCH|SharedArrayBuffer"],[32,14],[32,25],[16,builtin('__SharedArrayBuffer_prototype_byteLength$get')],[33,8],[12,1],[11],[32,7],[65,23],[70],[4,64,"TYPESWITCH|DataView"],[32,14],[32,25],[16,builtin('__DataView_prototype_byteLength$get')],[33,8],[12,1],[11],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[16,builtin('__Porffor_allocate')],[34,17],[65,1],[54,0,0],[32,17],[32,15],[252,3],[65,2],[108],[32,14],[252,3],[106],[47,0,4],[59,0,4],[32,17],[184],[65,195,0],[33,8],[12,1],[11],[32,7],[65,208,0],[70],[4,64,"TYPESWITCH|Array"],[32,15],[252,3],[65,9],[108],[32,14],[252,3],[106],[34,16],[43,0,4],[32,16],[45,0,12],[33,8],[12,1],[11],[32,7],[65,216,0],[70],[4,64,"TYPESWITCH|Uint8Array"],[32,14],[32,25],[16,builtin('__Uint8Array_prototype_byteLength$get')],[33,8],[12,1],[11],[32,7],[65,217,0],[70],[4,64,"TYPESWITCH|Int8Array"],[32,14],[32,25],[16,builtin('__Int8Array_prototype_byteLength$get')],[33,8],[12,1],[11],[32,7],[65,218,0],[70],[4,64,"TYPESWITCH|Uint8ClampedArray"],[32,14],[32,25],[16,builtin('__Uint8ClampedArray_prototype_byteLength$get')],[33,8],[12,1],[11],[32,7],[65,219,0],[70],[4,64,"TYPESWITCH|Uint16Array"],[32,14],[32,25],[16,builtin('__Uint16Array_prototype_byteLength$get')],[33,8],[12,1],[11],[32,7],[65,220,0],[70],[4,64,"TYPESWITCH|Int16Array"],[32,14],[32,25],[16,builtin('__Int16Array_prototype_byteLength$get')],[33,8],[12,1],[11],[32,7],[65,221,0],[70],[4,64,"TYPESWITCH|Uint32Array"],[32,14],[32,25],[16,builtin('__Uint32Array_prototype_byteLength$get')],[33,8],[12,1],[11],[32,7],[65,222,0],[70],[4,64,"TYPESWITCH|Int32Array"],[32,14],[32,25],[16,builtin('__Int32Array_prototype_byteLength$get')],[33,8],[12,1],[11],[32,7],[65,223,0],[70],[4,64,"TYPESWITCH|Float32Array"],[32,14],[32,25],[16,builtin('__Float32Array_prototype_byteLength$get')],[33,8],[12,1],[11],[32,7],[65,224,0],[70],[4,64,"TYPESWITCH|Float64Array"],[32,14],[32,25],[16,builtin('__Float64Array_prototype_byteLength$get')],[33,8],[12,1],[11],[32,7],[65,128,1],[70],[4,64,"TYPESWITCH|undefined"],...internalThrow(_,'TypeError',`Cannot read property of undefined`),[68,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[16,builtin('__Porffor_allocate')],[34,17],[65,1],[54,0,0],[32,17],[32,15],[252,3],[32,14],[252,3],[106],[45,0,4],[58,0,4],[32,17],[184],[65,195,1],[33,8],[12,1],[11],[32,14],[252,3],[32,1],[32,15],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[33,8],[11,"TYPESWITCH_end"],[16,0],[32,2],[33,6],[32,3],[33,7],[2,127],[32,7],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,6],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,27],[16,1],[68,91],[16,1],[68,48],[16,1],[68,109],[16,1],[11],[68,10],[16,1],[68,125],[16,1],[68,0],[65,128,1],[15],[11],[32,5],[65,23],[70],[4,64,"TYPESWITCH|DataView"],[68,68],[16,1],[68,97],[16,1],[68,116],[16,1],[68,97],[16,1],[68,86],[16,1],[68,105],[16,1],[68,101],[16,1],[68,119],[16,1],[68,32],[16,1],[68,123],[16,1],[68,10],[16,1],[68,32],[16,1],[68,32],[16,1],[68,98],[16,1],[68,121],[16,1],[68,116],[16,1],[68,101],[16,1],[68,76],[16,1],[68,101],[16,1],[68,110],[16,1],[68,103],[16,1],[68,116],[16,1],[68,104],[16,1],[68,58],[16,1],[68,32],[16,1],[32,0],[32,1],[16,builtin('__DataView_prototype_byteLength$get')],[34,8],[32,2],[32,3],[16,builtin('__Porffor_print')],[33,8],[26],[68,44],[16,1],[68,10],[16,1],[68,32],[16,1],[68,32],[16,1],[68,98],[16,1],[68,121],[16,1],[68,116],[16,1],[68,101],[16,1],[68,79],[16,1],[68,102],[16,1],[68,102],[16,1],[68,115],[16,1],[68,101],[16,1],[68,116],[16,1],[68,58],[16,1],[68,32],[16,1],[32,0],[32,1],[16,builtin('__DataView_prototype_byteOffset$get')],[34,8],[32,2],[32,3],[16,builtin('__Porffor_print')],[33,8],[26],[68,44],[16,1],[68,10],[16,1],[68,32],[16,1],[68,32],[16,1],[68,98],[16,1],[68,117],[16,1],[68,102],[16,1],[68,102],[16,1],[68,101],[16,1],[68,114],[16,1],[68,58],[16,1],[68,32],[16,1],[32,0],[32,1],[16,builtin('__DataView_prototype_buffer$get')],[34,8],[32,2],[32,3],[16,builtin('__Porffor_print')],[33,8],[26],[68,10],[16,1],[68,125],[16,1],[68,0],[65,128,1],[15],[11],[32,5],[65,35],[70],[32,5],[65,20],[70],[114],[4,64,"TYPESWITCH|WeakMap,Map"],[32,1],[184],[68,35],[97],[4,64],[68,87],[16,1],[68,101],[16,1],[68,97],[16,1],[68,107],[16,1],[68,77],[16,1],[68,97],[16,1],[68,112],[16,1],[5],[68,77],[16,1],[68,97],[16,1],[68,112],[16,1],[11],[68,40],[16,1],[32,0],[32,1],[16,builtin('__Map_prototype_keys')],[33,8],[34,27],[252,3],[40,1,0],[184],[68,1],[161],[34,28],[68,1],[160],[16,0],[68,41],[16,1],[68,32],[16,1],[68,123],[16,1],[68,32],[16,1],[68,0],[33,11],[3,64],[32,11],[32,28],[99],[4,64],[32,27],[33,14],[65,208,0],[33,25],[32,11],[34,15],[252,3],[65,9],[108],[32,14],[252,3],[106],[34,16],[43,0,4],[32,16],[45,0,12],[34,8],[33,30],[34,29],[32,30],[68,0],[65,128,1],[16,builtin('__Porffor_print')],[33,8],[26],[68,32],[16,1],[68,61],[16,1],[68,62],[16,1],[68,32],[16,1],[32,0],[32,1],[32,29],[32,30],[16,builtin('__Map_prototype_get')],[34,8],[32,2],[32,3],[16,builtin('__Porffor_print')],[33,8],[26],[32,11],[32,28],[98],[4,64],[68,44],[16,1],[68,32],[16,1],[11],[32,11],[68,1],[160],[33,11],[12,1],[11],[11],[68,32],[16,1],[68,125],[16,1],[68,0],[65,128,1],[15],[11],[32,5],[65,34],[70],[32,5],[65,19],[70],[114],[4,64,"TYPESWITCH|WeakSet,Set"],[32,1],[184],[68,34],[97],[4,64],[68,87],[16,1],[68,101],[16,1],[68,97],[16,1],[68,107],[16,1],[68,83],[16,1],[68,101],[16,1],[68,116],[16,1],[5],[68,83],[16,1],[68,101],[16,1],[68,116],[16,1],[11],[68,40],[16,1],[32,0],[32,1],[16,builtin('__Set_prototype_values')],[33,8],[34,31],[252,3],[40,1,0],[184],[68,1],[161],[34,32],[68,1],[160],[16,0],[68,41],[16,1],[68,32],[16,1],[68,123],[16,1],[68,32],[16,1],[68,0],[33,11],[3,64],[32,11],[32,32],[101],[4,64],[32,31],[33,14],[65,208,0],[33,25],[32,11],[34,15],[252,3],[65,9],[108],[32,14],[252,3],[106],[34,16],[43,0,4],[32,16],[45,0,12],[34,8],[32,2],[32,3],[16,builtin('__Porffor_print')],[33,8],[26],[32,11],[32,32],[98],[4,64],[68,44],[16,1],[68,32],[16,1],[11],[32,11],[68,1],[160],[33,11],[12,1],[11],[11],[68,32],[16,1],[68,125],[16,1],[68,0],[65,128,1],[15],[11],[32,5],[65,33],[70],[4,64,"TYPESWITCH|WeakRef"],[68,87],[16,1],[68,101],[16,1],[68,97],[16,1],[68,107],[16,1],[68,82],[16,1],[68,101],[16,1],[68,102],[16,1],[68,32],[16,1],[68,123],[16,1],[68,125],[16,1],[68,0],[65,128,1],[15],[11],[11,"TYPESWITCH_end"],[68,0],[65,128,1],[15]],
656
656
  params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
657
- locals:[124,124,127,127,124,124,124,124,127,124,124,127,127,127,124,127,124,127,124,127,127,127,124,124,124,127,124,124,127],localNames:["arg","arg#type","colors","colors#type","#switch_disc","#logicinner_tmp","#typeswitch_tmp2","#last_type","keys","len","i","x","x#type","#member_obj","#member_prop","#loadArray_offset","#member_allocd","#swap","buffer","buffer#type","bufferLen","bufferLen#type","ele","ele#type","#member_obj#type","#makearray_pointer_tmp","map","mapLen","key","key#type","set","setLen","#typeswitch_tmp1"],
657
+ locals:[124,127,124,127,127,124,124,124,124,127,124,124,127,127,127,124,127,124,127,124,127,127,127,124,124,124,127,124,124],localNames:["arg","arg#type","colors","colors#type","#switch_disc","#typeswitch_tmp1","#logicinner_tmp","#typeswitch_tmp2","#last_type","keys","len","i","x","x#type","#member_obj","#member_prop","#loadArray_offset","#member_allocd","#swap","buffer","buffer#type","bufferLen","bufferLen#type","ele","ele#type","#member_obj#type","#makearray_pointer_tmp","map","mapLen","key","key#type","set","setLen"],
658
658
  };
659
659
  this.__Porffor_printArray = {
660
660
  wasm:(_,{builtin,internalThrow})=>[[32,5],[65,128,1],[70],[4,64],[68,0],[33,4],[65,2],[33,5],[11],[32,0],[252,3],[40,1,0],[184],[68,1],[161],[33,6],[32,4],[33,7],[32,5],[33,8],[2,127],[32,8],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[32,7],[252,3],[40,1,0],[12,1],[11],[32,8],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[32,7],[252,3],[40,1,0],[12,1],[11],[32,7],[252,3],[11,"TYPESWITCH_end"],[4,64],[68,40],[16,1],[32,6],[68,1],[160],[16,0],[68,41],[16,1],[68,32],[16,1],[11],[32,6],[68,-1],[97],[4,64],[68,91],[16,1],[68,93],[16,1],[5],[68,91],[16,1],[68,32],[16,1],[68,0],[33,9],[3,64],[32,9],[32,6],[101],[4,64],[2,64],[32,0],[33,10],[32,9],[33,11],[32,1],[33,8],[2,124],[32,8],[65,195,0],[70],[4,64,"TYPESWITCH|String"],[16,builtin('__Porffor_allocate')],[34,14],[65,1],[54,0,0],[32,14],[32,11],[252,3],[65,2],[108],[32,10],[252,3],[106],[47,0,4],[59,0,4],[32,14],[184],[65,195,0],[33,13],[12,1],[11],[32,8],[65,208,0],[70],[4,64,"TYPESWITCH|Array"],[32,11],[252,3],[65,9],[108],[32,10],[252,3],[106],[34,12],[43,0,4],[32,12],[45,0,12],[33,13],[12,1],[11],[32,8],[65,216,0],[70],[4,64,"TYPESWITCH|Uint8Array"],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[45,0,4],[184],[65,1],[33,13],[12,1],[11],[32,8],[65,217,0],[70],[4,64,"TYPESWITCH|Int8Array"],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[44,0,4],[183],[65,1],[33,13],[12,1],[11],[32,8],[65,218,0],[70],[4,64,"TYPESWITCH|Uint8ClampedArray"],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[45,0,4],[184],[65,1],[33,13],[12,1],[11],[32,8],[65,219,0],[70],[4,64,"TYPESWITCH|Uint16Array"],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,2],[108],[106],[47,0,4],[184],[65,1],[33,13],[12,1],[11],[32,8],[65,220,0],[70],[4,64,"TYPESWITCH|Int16Array"],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,2],[108],[106],[46,0,4],[183],[65,1],[33,13],[12,1],[11],[32,8],[65,221,0],[70],[4,64,"TYPESWITCH|Uint32Array"],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[40,0,4],[184],[65,1],[33,13],[12,1],[11],[32,8],[65,222,0],[70],[4,64,"TYPESWITCH|Int32Array"],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[40,0,4],[183],[65,1],[33,13],[12,1],[11],[32,8],[65,223,0],[70],[4,64,"TYPESWITCH|Float32Array"],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[42,0,4],[187],[65,1],[33,13],[12,1],[11],[32,8],[65,224,0],[70],[4,64,"TYPESWITCH|Float64Array"],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,8],[108],[106],[43,0,4],[65,1],[33,13],[12,1],[11],[32,8],[65,128,1],[70],[4,64,"TYPESWITCH|undefined"],...internalThrow(_,'TypeError',`Cannot read property of undefined`),[68,0],[12,1],[11],[32,8],[65,195,1],[70],[4,64,"TYPESWITCH|ByteString"],[16,builtin('__Porffor_allocate')],[34,14],[65,1],[54,0,0],[32,14],[32,11],[252,3],[32,10],[252,3],[106],[45,0,4],[58,0,4],[32,14],[184],[65,195,1],[33,13],[12,1],[11],[32,10],[252,3],[32,1],[32,11],[65,1],[16,builtin('__ecma262_ToPropertyKey')],[33,15],[252,3],[32,15],[16,builtin('__Porffor_object_get')],[33,13],[11,"TYPESWITCH_end"],[32,13],[32,2],[65,2],[16,builtin('__Porffor_print')],[33,13],[26],[32,9],[32,6],[98],[4,64],[68,44],[16,1],[68,32],[16,1],[11],[11],[32,9],[68,1],[160],[33,9],[12,1],[11],[11],[68,32],[16,1],[68,93],[16,1],[11],[68,0],[65,128,1],[15]],
@@ -1382,7 +1382,7 @@ const getNodeType = (scope, node) => {
1382
1382
  if (node.operator === '!') return TYPES.boolean;
1383
1383
  if (node.operator === 'void') return TYPES.undefined;
1384
1384
  if (node.operator === 'delete') return TYPES.boolean;
1385
- if (node.operator === 'typeof') return Prefs.bytestring ? TYPES.bytestring : TYPES.string;
1385
+ if (node.operator === 'typeof') return TYPES.bytestring;
1386
1386
 
1387
1387
  return TYPES.number;
1388
1388
  }
@@ -2717,34 +2717,19 @@ const brTable = (input, bc, returns) => {
2717
2717
 
2718
2718
  let typeswitchDepth = 0;
2719
2719
 
2720
- const typeSwitch = (scope, type, bc, returns = valtypeBinary, allowFallThrough = false) => {
2721
- if (!Prefs.bytestring) delete bc[TYPES.bytestring];
2722
-
2720
+ const typeSwitch = (scope, type, bc, returns = valtypeBinary, fallthrough = false) => {
2723
2721
  const known = knownType(scope, type);
2724
2722
  if (known != null) {
2725
2723
  return bc[known] ?? bc.default;
2726
2724
  }
2727
2725
 
2728
2726
  if (Prefs.typeswitchBrtable) {
2729
- if (allowFallThrough) throw new Error(`Fallthrough is not currently supported with --typeswitch-brtable`);
2727
+ if (fallthrough) throw new Error(`Fallthrough is not currently supported with --typeswitch-brtable`);
2730
2728
  return brTable(type, bc, returns);
2731
2729
  }
2732
2730
 
2733
2731
  typeswitchDepth++;
2734
2732
 
2735
- let bcArr = bc;
2736
- // hack?: we do this so that typeswitchDepth can be properly handled
2737
- if (typeof bcArr === 'function') {
2738
- bcArr = bcArr();
2739
- }
2740
- // hack: we need to preserve insertion order for fall through so all objects are converted to entries
2741
- if (!Array.isArray(bcArr)) {
2742
- bcArr = Object.entries(bc);
2743
- } else {
2744
- bc = Object.fromEntries(bcArr);
2745
- }
2746
-
2747
-
2748
2733
  const tmp = localTmp(scope, `#typeswitch_tmp${typeswitchDepth}${Prefs.typeswitchUniqueTmp ? uniqId() : ''}`, Valtype.i32);
2749
2734
  const out = [
2750
2735
  ...type,
@@ -2752,56 +2737,34 @@ const typeSwitch = (scope, type, bc, returns = valtypeBinary, allowFallThrough =
2752
2737
  [ Opcodes.block, returns ]
2753
2738
  ];
2754
2739
 
2755
- for (let i = 0; i < bcArr.length; i++) {
2756
- const x = bcArr[i][0];
2757
- if (x === 'default') continue;
2758
-
2759
- if (allowFallThrough) {
2760
- let types = [];
2761
- let wasm;
2762
- while (i < bcArr.length) {
2763
- if (bcArr[i][0] === 'default') continue;
2764
- types.push(bcArr[i][0]);
2765
- // look for an empty array, essentially acting as an additional type for our typecheck
2766
- const bodyWasm = bcArr[i][1];
2767
- if (bodyWasm.length != 0) {
2768
- wasm = bodyWasm;
2769
- break;
2770
- }
2771
- i++;
2772
- }
2773
- // if we found any types,
2774
- if (types.length > 0) {
2775
- for (let j = 0; j < types.length; j++) {
2776
- // create the type tests
2777
- out.push(
2778
- [ Opcodes.local_get, tmp ],
2779
- ...number(types[j], Valtype.i32),
2780
- [ Opcodes.i32_eq ]
2781
- );
2782
- // for every test but the first, or them together
2783
- if (j != 0) out.push([ Opcodes.i32_or ]);
2784
- }
2785
- out.push(
2786
- // create the consequent
2787
- [ Opcodes.if, Blocktype.void, `TYPESWITCH|${types.map(t => TYPE_NAMES[t]).join(',')}` ],
2788
- ...wasm,
2789
- // we don't need an `br 1` here because depth[-1] should be 'switch', and that's the only place this is used right now
2790
- [ Opcodes.end ]
2791
- );
2792
- }
2793
- } else {
2794
- // if type == x
2740
+ if (typeof bc === 'function') bc = bc();
2741
+
2742
+ let arr = bc;
2743
+ if (!Array.isArray(arr)) {
2744
+ arr = Object.entries(arr);
2745
+ }
2746
+
2747
+ for (let i = 0; i < arr.length; i++) {
2748
+ let [ types, wasm ] = arr[i];
2749
+ if (!Array.isArray(types)) types = [ types ];
2750
+ if (types[0] === 'default') continue;
2751
+
2752
+ for (let j = 0; j < types.length; j++) {
2795
2753
  out.push(
2796
2754
  [ Opcodes.local_get, tmp ],
2797
- ...number(bcArr[i][0], Valtype.i32),
2798
- [ Opcodes.i32_eq ],
2799
- [ Opcodes.if, Blocktype.void, `TYPESWITCH|${TYPE_NAMES[x]}` ],
2800
- ...bcArr[i][1],
2801
- [ Opcodes.br, 1 ],
2802
- [ Opcodes.end ]
2755
+ ...number(types[j], Valtype.i32),
2756
+ [ Opcodes.i32_eq ]
2803
2757
  );
2758
+
2759
+ if (j > 0) out.push([ Opcodes.i32_or ]);
2804
2760
  }
2761
+
2762
+ out.push(
2763
+ [ Opcodes.if, Blocktype.void, `TYPESWITCH|${types.map(t => TYPE_NAMES[t]).join(',')}` ],
2764
+ ...wasm,
2765
+ ...(fallthrough ? [] : [ [ Opcodes.br, 1 ] ]),
2766
+ [ Opcodes.end ]
2767
+ );
2805
2768
  }
2806
2769
 
2807
2770
  // default
@@ -2888,8 +2851,6 @@ const extractTypeAnnotation = decl => {
2888
2851
  const typeName = type;
2889
2852
  type = typeAnnoToPorfType(type);
2890
2853
 
2891
- if (type === TYPES.bytestring && !Prefs.bytestring) type = TYPES.string;
2892
-
2893
2854
  // if (decl.name) console.log(decl.name, { type, elementType });
2894
2855
 
2895
2856
  return { type, typeName, elementType };
@@ -4423,9 +4384,7 @@ const generateSwitch = (scope, decl) => {
4423
4384
 
4424
4385
  depth.push('switch');
4425
4386
 
4426
- if (
4427
- decl.discriminant.type === 'CallExpression' && decl.discriminant.callee.type === 'Identifier' && decl.discriminant.callee.name === '__Porffor_rawType'
4428
- ) {
4387
+ if (decl.discriminant.type === 'CallExpression' && decl.discriminant.callee.type === 'Identifier' && decl.discriminant.callee.name === '__Porffor_rawType') {
4429
4388
  const cases = []
4430
4389
  let canTypeCheck = true;
4431
4390
  for (const x of decl.cases) {
@@ -4437,8 +4396,9 @@ const generateSwitch = (scope, decl) => {
4437
4396
  } else if (x.test.type === 'Identifier' && x.test.name.startsWith('__Porffor_TYPES_')) {
4438
4397
  type = TYPES[x.test.name.slice('__Porffor_TYPES_'.length)];
4439
4398
  }
4399
+
4440
4400
  if (type !== undefined) {
4441
- cases.push([type, x.consequent]);
4401
+ cases.push([ type, x.consequent ]);
4442
4402
  } else {
4443
4403
  canTypeCheck = false;
4444
4404
  break;
@@ -4446,16 +4406,26 @@ const generateSwitch = (scope, decl) => {
4446
4406
  }
4447
4407
 
4448
4408
  if (canTypeCheck) {
4449
- const ret = typeSwitch(scope, getNodeType(scope, decl.discriminant.arguments[0]), () => {
4450
- const ret = [];
4451
- for (const [type, consequent] of cases) {
4452
- const o = generate(scope, { type: 'BlockStatement', body: consequent });
4453
- ret.push([type, o]);
4454
- }
4455
- return ret;
4456
- }, Blocktype.void, true);
4409
+ const out = typeSwitch(scope,
4410
+ getNodeType(scope, decl.discriminant.arguments[0]),
4411
+ () => {
4412
+ const bc = [];
4413
+ let types = [];
4414
+ for (const [ type, consequent ] of cases) {
4415
+ types.push(type);
4416
+
4417
+ if (consequent.length !== 0) {
4418
+ const o = generate(scope, { type: 'BlockStatement', body: consequent });
4419
+ bc.push([ types, o ]);
4420
+ types = [];
4421
+ }
4422
+ }
4423
+
4424
+ return bc;
4425
+ }, Blocktype.void, true);
4426
+
4457
4427
  depth.pop();
4458
- return ret;
4428
+ return out;
4459
4429
  }
4460
4430
  }
4461
4431
 
@@ -5030,8 +5000,6 @@ const loadArray = (scope, array, index) => {
5030
5000
  };
5031
5001
 
5032
5002
  const byteStringable = str => {
5033
- if (!Prefs.bytestring) return false;
5034
-
5035
5003
  for (let i = 0; i < str.length; i++) {
5036
5004
  if (str.charCodeAt(i) > 0xFF) return false;
5037
5005
  }
@@ -5041,7 +5009,7 @@ const byteStringable = str => {
5041
5009
 
5042
5010
  const makeString = (scope, str, global = false, name = '$undeclared', forceBytestring = undefined) => {
5043
5011
  const rawElements = new Array(str.length);
5044
- let byteStringable = Prefs.bytestring;
5012
+ let byteStringable = true;
5045
5013
  for (let i = 0; i < str.length; i++) {
5046
5014
  const c = str.charCodeAt(i);
5047
5015
  rawElements[i] = c;
package/compiler/index.js CHANGED
@@ -196,7 +196,7 @@ export default (code, flags) => {
196
196
  }
197
197
 
198
198
  if (target === 'native') {
199
- outFile ??= Prefs.native ? './porffor_tmp' : file.split('/').at(-1).split('.').at(0, -1).join('.');
199
+ outFile ??= Prefs.native ? './porffor_tmp' : file.split('/').at(-1).split('.')[0];
200
200
 
201
201
  let compiler = Prefs.compiler ?? 'clang';
202
202
  const cO = Prefs._cO ?? 'Ofast';
@@ -25,7 +25,7 @@ const compile = async (file, _funcs) => {
25
25
  first = source.slice(0, source.indexOf('\n'));
26
26
  }
27
27
 
28
- let args = ['--bytestring', '--todo-time=compile', '--truthy=no_nan_negative', '--no-rm-unused-types', '--scoped-page-names', '--funsafe-no-unlikely-proto-checks', '--fast-length', '--parse-types', '--opt-types', '--no-passive-data', '--active-data'];
28
+ let args = ['--todo-time=compile', '--truthy=no_nan_negative', '--no-rm-unused-types', '--scoped-page-names', '--funsafe-no-unlikely-proto-checks', '--fast-length', '--parse-types', '--opt-types', '--no-passive-data', '--active-data'];
29
29
  if (first.startsWith('// @porf')) {
30
30
  args = first.slice('// @porf '.length).split(' ').concat(args);
31
31
  }
package/compiler/prefs.js CHANGED
@@ -1,4 +1,4 @@
1
- const onByDefault = [ 'bytestring', 'treeshakeWasmImports', 'alwaysMemory', 'indirectCalls', 'optUnused', 'data', 'passiveData', 'rmUnusedTypes' ];
1
+ const onByDefault = [ 'treeshakeWasmImports', 'alwaysMemory', 'indirectCalls', 'optUnused', 'data', 'passiveData', 'rmUnusedTypes' ];
2
2
 
3
3
  const nameToKey = x => x.replace(/[a-z]\-[a-z]/g, y => `${y[0]}${y[2].toUpperCase()}`);
4
4
 
@@ -306,129 +306,127 @@ export const PrototypeFuncs = function() {
306
306
  this[TYPES.string].charCodeAt.local = Valtype.i32;
307
307
  this[TYPES.string].charCodeAt.noPointerCache = zeroChecks.charcodeat;
308
308
 
309
- if (Prefs.bytestring) {
310
- this[TYPES.bytestring] = {
311
- at: (pointer, length, wIndex, wType, iTmp, _, arrayShell) => {
312
- const [ newOut, newPointer ] = arrayShell(1, 'i8');
313
-
314
- return [
315
- // setup new/out array and use pointer for store later
316
- ...newOut,
309
+ this[TYPES.bytestring] = {
310
+ at: (pointer, length, wIndex, wType, iTmp, _, arrayShell) => {
311
+ const [ newOut, newPointer ] = arrayShell(1, 'i8');
317
312
 
318
- ...wIndex,
319
- Opcodes.i32_to_u,
320
- [ Opcodes.local_tee, iTmp ],
313
+ return [
314
+ // setup new/out array and use pointer for store later
315
+ ...newOut,
321
316
 
322
- // if index < 0: access index + array length
323
- ...number(0, Valtype.i32),
324
- [ Opcodes.i32_lt_s ],
325
- [ Opcodes.if, Blocktype.void ],
326
- [ Opcodes.local_get, iTmp ],
327
- ...length.getCachedI32(),
328
- [ Opcodes.i32_add ],
329
- [ Opcodes.local_set, iTmp ],
330
- [ Opcodes.end ],
317
+ ...wIndex,
318
+ Opcodes.i32_to_u,
319
+ [ Opcodes.local_tee, iTmp ],
331
320
 
332
- // if still < 0 or >= length: return undefined
333
- [ Opcodes.local_get, iTmp ],
334
- ...number(0, Valtype.i32),
335
- [ Opcodes.i32_lt_s ],
321
+ // if index < 0: access index + array length
322
+ ...number(0, Valtype.i32),
323
+ [ Opcodes.i32_lt_s ],
324
+ [ Opcodes.if, Blocktype.void ],
325
+ [ Opcodes.local_get, iTmp ],
326
+ ...length.getCachedI32(),
327
+ [ Opcodes.i32_add ],
328
+ [ Opcodes.local_set, iTmp ],
329
+ [ Opcodes.end ],
336
330
 
337
- [ Opcodes.local_get, iTmp ],
338
- ...length.getCachedI32(),
339
- [ Opcodes.i32_ge_s ],
340
- [ Opcodes.i32_or ],
331
+ // if still < 0 or >= length: return undefined
332
+ [ Opcodes.local_get, iTmp ],
333
+ ...number(0, Valtype.i32),
334
+ [ Opcodes.i32_lt_s ],
341
335
 
342
- [ Opcodes.if, Blocktype.void ],
343
- ...number(UNDEFINED),
344
- [ Opcodes.br, 1 ],
345
- [ Opcodes.end ],
336
+ [ Opcodes.local_get, iTmp ],
337
+ ...length.getCachedI32(),
338
+ [ Opcodes.i32_ge_s ],
339
+ [ Opcodes.i32_or ],
346
340
 
347
- [ Opcodes.local_get, iTmp ],
341
+ [ Opcodes.if, Blocktype.void ],
342
+ ...number(UNDEFINED),
343
+ [ Opcodes.br, 1 ],
344
+ [ Opcodes.end ],
348
345
 
349
- ...pointer,
350
- [ Opcodes.i32_add ],
346
+ [ Opcodes.local_get, iTmp ],
351
347
 
352
- // load current string ind {arg}
353
- [ Opcodes.i32_load8_u, 0, ValtypeSize.i32 ],
348
+ ...pointer,
349
+ [ Opcodes.i32_add ],
354
350
 
355
- // store to new string ind 0
356
- [ Opcodes.i32_store8, 0, ValtypeSize.i32 ],
351
+ // load current string ind {arg}
352
+ [ Opcodes.i32_load8_u, 0, ValtypeSize.i32 ],
357
353
 
358
- // return new string (pointer)
359
- ...newPointer,
360
- Opcodes.i32_from_u
361
- ];
362
- },
354
+ // store to new string ind 0
355
+ [ Opcodes.i32_store8, 0, ValtypeSize.i32 ],
363
356
 
364
- // todo: out of bounds properly
365
- charAt: (pointer, length, wIndex, wType, _1, _2, arrayShell) => {
366
- const [ newOut, newPointer ] = arrayShell(1, 'i8');
357
+ // return new string (pointer)
358
+ ...newPointer,
359
+ Opcodes.i32_from_u
360
+ ];
361
+ },
367
362
 
368
- return [
369
- // setup new/out array and use pointer for later
370
- ...newOut,
363
+ // todo: out of bounds properly
364
+ charAt: (pointer, length, wIndex, wType, _1, _2, arrayShell) => {
365
+ const [ newOut, newPointer ] = arrayShell(1, 'i8');
371
366
 
372
- ...wIndex,
373
- Opcodes.i32_to,
367
+ return [
368
+ // setup new/out array and use pointer for later
369
+ ...newOut,
374
370
 
375
- ...pointer,
376
- [ Opcodes.i32_add ],
371
+ ...wIndex,
372
+ Opcodes.i32_to,
377
373
 
378
- // load current string ind {arg}
379
- [ Opcodes.i32_load8_u, 0, ValtypeSize.i32 ],
374
+ ...pointer,
375
+ [ Opcodes.i32_add ],
380
376
 
381
- // store to new string ind 0
382
- [ Opcodes.i32_store8, 0, ValtypeSize.i32 ],
377
+ // load current string ind {arg}
378
+ [ Opcodes.i32_load8_u, 0, ValtypeSize.i32 ],
383
379
 
384
- // return new string (page)
385
- ...newPointer,
386
- Opcodes.i32_from_u
387
- ];
388
- },
380
+ // store to new string ind 0
381
+ [ Opcodes.i32_store8, 0, ValtypeSize.i32 ],
389
382
 
390
- charCodeAt: (pointer, length, wIndex, wType, iTmp) => [
391
- ...wIndex,
392
- Opcodes.i32_to,
383
+ // return new string (page)
384
+ ...newPointer,
385
+ Opcodes.i32_from_u
386
+ ];
387
+ },
393
388
 
394
- ...(zeroChecks.charcodeat ? [] : [
395
- [ Opcodes.local_set, iTmp ],
389
+ charCodeAt: (pointer, length, wIndex, wType, iTmp) => [
390
+ ...wIndex,
391
+ Opcodes.i32_to,
396
392
 
397
- // index < 0
398
- ...(noUnlikelyChecks ? [] : [
399
- [ Opcodes.local_get, iTmp ],
400
- ...number(0, Valtype.i32),
401
- [ Opcodes.i32_lt_s ],
402
- ]),
393
+ ...(zeroChecks.charcodeat ? [] : [
394
+ [ Opcodes.local_set, iTmp ],
403
395
 
404
- // index >= length
396
+ // index < 0
397
+ ...(noUnlikelyChecks ? [] : [
405
398
  [ Opcodes.local_get, iTmp ],
406
- ...length.getCachedI32(),
407
- [ Opcodes.i32_ge_s ],
399
+ ...number(0, Valtype.i32),
400
+ [ Opcodes.i32_lt_s ],
401
+ ]),
408
402
 
409
- ...(noUnlikelyChecks ? [] : [ [ Opcodes.i32_or ] ]),
410
- [ Opcodes.if, Blocktype.void ],
411
- ...number(valtype === 'i32' ? -1 : NaN),
412
- [ Opcodes.br, 1 ],
413
- [ Opcodes.end ],
403
+ // index >= length
404
+ [ Opcodes.local_get, iTmp ],
405
+ ...length.getCachedI32(),
406
+ [ Opcodes.i32_ge_s ],
414
407
 
415
- [ Opcodes.local_get, iTmp ],
416
- ]),
408
+ ...(noUnlikelyChecks ? [] : [ [ Opcodes.i32_or ] ]),
409
+ [ Opcodes.if, Blocktype.void ],
410
+ ...number(valtype === 'i32' ? -1 : NaN),
411
+ [ Opcodes.br, 1 ],
412
+ [ Opcodes.end ],
417
413
 
418
- ...pointer,
419
- [ Opcodes.i32_add ],
414
+ [ Opcodes.local_get, iTmp ],
415
+ ]),
420
416
 
421
- // load current string ind {arg}
422
- [ Opcodes.i32_load8_u, 0, ValtypeSize.i32 ],
423
- Opcodes.i32_from_u
424
- ]
425
- };
426
-
427
- this[TYPES.bytestring].at.local = Valtype.i32;
428
- this[TYPES.bytestring].at.returnType = TYPES.bytestring;
429
- this[TYPES.bytestring].charAt.returnType = TYPES.bytestring;
430
- this[TYPES.bytestring].charCodeAt.returnType = TYPES.number;
431
- this[TYPES.bytestring].charCodeAt.local = Valtype.i32;
432
- this[TYPES.bytestring].charCodeAt.noPointerCache = zeroChecks.charcodeat;
433
- }
417
+ ...pointer,
418
+ [ Opcodes.i32_add ],
419
+
420
+ // load current string ind {arg}
421
+ [ Opcodes.i32_load8_u, 0, ValtypeSize.i32 ],
422
+ Opcodes.i32_from_u
423
+ ]
424
+ };
425
+
426
+ this[TYPES.bytestring].at.local = Valtype.i32;
427
+ this[TYPES.bytestring].at.returnType = TYPES.bytestring;
428
+ this[TYPES.bytestring].charAt.returnType = TYPES.bytestring;
429
+ this[TYPES.bytestring].charCodeAt.returnType = TYPES.number;
430
+ this[TYPES.bytestring].charCodeAt.local = Valtype.i32;
431
+ this[TYPES.bytestring].charCodeAt.noPointerCache = zeroChecks.charcodeat;
434
432
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "porffor",
3
3
  "description": "a basic experimental wip aot optimizing js -> wasm engine/compiler/runtime in js",
4
- "version": "0.37.2+c66ebc0c6",
4
+ "version": "0.37.4+33daa787e",
5
5
  "author": "CanadaHonk",
6
6
  "license": "MIT",
7
7
  "scripts": {},
package/runner/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import fs from 'node:fs';
3
- globalThis.version = '0.37.2+c66ebc0c6';
3
+ globalThis.version = '0.37.4+33daa787e';
4
4
 
5
5
  // deno compat
6
6
  if (typeof process === 'undefined' && typeof Deno !== 'undefined') {