porffor 0.55.10 → 0.55.12
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/compiler/2c.js +2 -2
- package/compiler/builtins/__internal_object.ts +1 -1
- package/compiler/builtins/array.ts +2 -0
- package/compiler/builtins/error.js +1 -1
- package/compiler/builtins/number.ts +3 -3
- package/compiler/builtins/string.ts +4 -0
- package/compiler/builtins_precompiled.js +20 -20
- package/compiler/codegen.js +54 -61
- package/compiler/disassemble.js +1 -1
- package/compiler/index.js +5 -5
- package/compiler/precompile.js +2 -2
- package/compiler/wrap.js +3 -3
- package/package.json +1 -1
- package/runner/index.js +11 -11
- package/runner/repl.js +2 -2
- package/r.js +0 -32
package/compiler/2c.js
CHANGED
@@ -722,7 +722,7 @@ _time_out = _time.tv_nsec / 1000000. + _time.tv_sec * 1000.;`);
|
|
722
722
|
|
723
723
|
case Opcodes.call_indirect:
|
724
724
|
// todo: stub
|
725
|
-
if (Prefs.d) log.warning('2c', `unimplemented op: ${invOpcodes[i[0]]} \x1b[
|
725
|
+
if (Prefs.d) log.warning('2c', `unimplemented op: ${invOpcodes[i[0]]} \x1b[2m(${f.name})`);
|
726
726
|
vals.pop();
|
727
727
|
vals.push('0', '0');
|
728
728
|
break;
|
@@ -874,7 +874,7 @@ _time_out = _time.tv_nsec / 1000000. + _time.tv_sec * 1000.;`);
|
|
874
874
|
break;
|
875
875
|
}
|
876
876
|
|
877
|
-
if (Prefs.d) log.warning('2c', `unimplemented op: ${invOpcodes[i[0]] ?? invOpcodes[i[0] + ',' + i[1]]} \x1b[
|
877
|
+
if (Prefs.d) log.warning('2c', `unimplemented op: ${invOpcodes[i[0]] ?? invOpcodes[i[0] + ',' + i[1]]} \x1b[2m(${f.name})`);
|
878
878
|
}
|
879
879
|
|
880
880
|
lastCond = false;
|
@@ -20,7 +20,7 @@ export const __Porffor_object_underlying = (obj: any): any => {
|
|
20
20
|
if (t == Porffor.TYPES.function) {
|
21
21
|
if (ecma262.IsConstructor(obj)) { // constructor
|
22
22
|
// set prototype and prototype.constructor if function and constructor
|
23
|
-
const proto = {};
|
23
|
+
const proto: object = {};
|
24
24
|
const key1: bytestring = 'prototype';
|
25
25
|
__Porffor_object_expr_initWithFlags(underlying, key1, proto, 0b1000);
|
26
26
|
|
@@ -70,6 +70,8 @@ export const __Array_from = (arg: any, mapFn: any): any[] => {
|
|
70
70
|
|
71
71
|
const lengthKey: bytestring = 'length';
|
72
72
|
len = ecma262.ToIntegerOrInfinity(obj[lengthKey]);
|
73
|
+
if (len > 4294967295) throw new RangeError('Invalid array length');
|
74
|
+
if (len < 0) len = 0;
|
73
75
|
|
74
76
|
for (let i: i32 = 0; i < len; i++) {
|
75
77
|
out[i] = obj[i];
|
@@ -51,7 +51,7 @@ export const __Number_prototype_toString = (_this: number, radix: number|any) =>
|
|
51
51
|
return '0';
|
52
52
|
}
|
53
53
|
|
54
|
-
let out: bytestring = Porffor.
|
54
|
+
let out: bytestring = Porffor.allocateBytes(512);
|
55
55
|
let outPtr: i32 = Porffor.wasm`local.get ${out}`;
|
56
56
|
|
57
57
|
// if negative value
|
@@ -275,7 +275,7 @@ export const __Number_prototype_toFixed = (_this: number, fractionDigits: number
|
|
275
275
|
return '-Infinity';
|
276
276
|
}
|
277
277
|
|
278
|
-
let out: bytestring = Porffor.
|
278
|
+
let out: bytestring = Porffor.allocateBytes(512);
|
279
279
|
let outPtr: i32 = Porffor.wasm`local.get ${out}`;
|
280
280
|
|
281
281
|
// if negative value
|
@@ -369,7 +369,7 @@ export const __Number_prototype_toExponential = (_this: number, fractionDigits:
|
|
369
369
|
}
|
370
370
|
}
|
371
371
|
|
372
|
-
let out: bytestring = Porffor.
|
372
|
+
let out: bytestring = Porffor.allocateBytes(512);
|
373
373
|
let outPtr: i32 = Porffor.wasm`local.get ${out}`;
|
374
374
|
|
375
375
|
// if negative value
|
@@ -1162,6 +1162,8 @@ export const __String_prototype_repeat = (_this: string, cnt: any) => {
|
|
1162
1162
|
|
1163
1163
|
let out: string = Porffor.allocate();
|
1164
1164
|
const thisLen: i32 = _this.length * 2;
|
1165
|
+
if (thisLen == 0) return '';
|
1166
|
+
|
1165
1167
|
for (let i: i32 = 0; i < count; i++) {
|
1166
1168
|
Porffor.wasm`
|
1167
1169
|
;; dst = out + 4 + i * thisLen
|
@@ -1194,6 +1196,8 @@ export const __ByteString_prototype_repeat = (_this: string, cnt: any) => {
|
|
1194
1196
|
|
1195
1197
|
let out: bytestring = Porffor.allocate();
|
1196
1198
|
const thisLen: i32 = _this.length;
|
1199
|
+
if (thisLen == 0) return '';
|
1200
|
+
|
1197
1201
|
for (let i: i32 = 0; i < count; i++) {
|
1198
1202
|
Porffor.wasm`
|
1199
1203
|
;; dst = out + 4 + i * thisLen
|
@@ -3,9 +3,9 @@ import { number } from './embedding.js';
|
|
3
3
|
|
4
4
|
export const BuiltinFuncs = function() {
|
5
5
|
this.__Porffor_object_underlying = {
|
6
|
-
wasm:(_,{t,makeString,glbl,builtin})=>[[32,1],[184],[34,2],[68,7],[97],[4,64],[32,0],[32,1],[15],[26],[11],[32,2],[68,40],[102],[32,2],[68,49],[101],[113],[4,64],[32,0],[34,3],[65,7],[15],[26],[11],[32,2],[68,5],[100],[32,2],[68,128],[98],[113],[4,64],...glbl(35,'underlyingKeys',124),[65,208,0],[32,0],[32,1],[16,builtin('__Porffor_array_fastIndexOf')],[33,5],[34,4],[68,-1],[97],[4,64],[16,builtin('__Porffor_allocate')],[184],[33,6],[32,2],[68,6],[97],[4,64],[32,0],[32,1],[16,builtin('__ecma262_IsConstructor')],[33,5],[33,7],[32,5],[33,8],[2,127],...t([67,195],()=>[[32,8],[65,195,0],[70],[32,8],[65,195,1],[70],[114],[4,64],[32,7],[252,3],[40,1,0],[12,1],[11]]),[32,7],[252,3],[11],[4,64],[16,builtin('__Porffor_allocate')],[184],[33,9]
|
6
|
+
wasm:(_,{t,makeString,glbl,builtin})=>[[32,1],[184],[34,2],[68,7],[97],[4,64],[32,0],[32,1],[15],[26],[11],[32,2],[68,40],[102],[32,2],[68,49],[101],[113],[4,64],[32,0],[34,3],[65,7],[15],[26],[11],[32,2],[68,5],[100],[32,2],[68,128],[98],[113],[4,64],...glbl(35,'underlyingKeys',124),[65,208,0],[32,0],[32,1],[16,builtin('__Porffor_array_fastIndexOf')],[33,5],[34,4],[68,-1],[97],[4,64],[16,builtin('__Porffor_allocate')],[184],[33,6],[32,2],[68,6],[97],[4,64],[32,0],[32,1],[16,builtin('__ecma262_IsConstructor')],[33,5],[33,7],[32,5],[33,8],[2,127],...t([67,195],()=>[[32,8],[65,195,0],[70],[32,8],[65,195,1],[70],[114],[4,64],[32,7],[252,3],[40,1,0],[12,1],[11]]),[32,7],[252,3],[11],[4,64],[16,builtin('__Porffor_allocate')],[184],[33,9],...makeString(_,"prototype",1),[33,10],[32,6],[252,2],[65,7],[32,10],[252,2],[65,195,1],[32,9],[65,7],[65,8],[65,1],[16,builtin('__Porffor_object_expr_initWithFlags')],[33,5],[183],[26],...makeString(_,"constructor",1),[33,11],[32,9],[252,2],[65,7],[32,11],[252,2],[65,195,1],[32,0],[32,1],[65,10],[65,1],[16,builtin('__Porffor_object_expr_initWithFlags')],[33,5],[183],[26],[11],...makeString(_,"name",1),[33,12],[32,6],[252,2],[65,7],[32,12],[252,2],[65,195,1],[32,0],[252,2],[16,builtin('__Porffor_funcLut_name')],[183],[65,195,1],[65,2],[65,1],[16,builtin('__Porffor_object_expr_initWithFlags')],[33,5],[183],[26],...makeString(_,"length",1),[33,13],[32,6],[252,2],[65,7],[32,13],[252,2],[65,195,1],[32,0],[252,2],[16,builtin('__Porffor_funcLut_length')],[183],[65,1],[65,2],[65,1],[16,builtin('__Porffor_object_expr_initWithFlags')],[33,5],[183],[26],[11],[32,2],[68,80],[97],[4,64],[32,0],[34,14],[252,3],[40,1,0],[184],[33,15],...makeString(_,"length",1),[33,16],[32,6],[252,2],[65,7],[32,16],[252,2],[65,195,1],[32,15],[65,1],[65,8],[65,1],[16,builtin('__Porffor_object_expr_initWithFlags')],[33,5],[183],[26],[68,0],[33,17],[3,64],[32,17],[32,15],[99],[4,64],[32,6],[252,2],[65,7],[32,17],[65,1],[68,0],[65,128,1],[16,builtin('__Number_prototype_toString')],[33,5],[252,2],[32,5],[32,17],[33,19],[32,14],[33,18],[32,19],[252,3],[65,9],[108],[32,18],[252,3],[106],[34,20],[43,0,4],[32,20],[45,0,12],[34,5],[65,14],[65,1],[16,builtin('__Porffor_object_expr_initWithFlags')],[33,5],[183],[26],[32,17],[68,1],[160],[33,17],[12,1],[11],[11],[11],[32,2],[68,67],[97],[32,2],[68,39],[97],[114],[4,64],[32,0],[34,21],[252,3],[40,1,0],[184],[33,15],...makeString(_,"length",1),[33,22],[32,6],[252,2],[65,7],[32,22],[252,2],[65,195,1],[32,15],[65,1],[65,0],[65,1],[16,builtin('__Porffor_object_expr_initWithFlags')],[33,5],[183],[26],[68,0],[33,17],[3,64],[32,17],[32,15],[99],[4,64],[32,6],[252,2],[65,7],[32,17],[65,1],[68,0],[65,128,1],[16,builtin('__Number_prototype_toString')],[33,5],[252,2],[32,5],[32,17],[33,24],[32,21],[33,23],[65,8],[16,builtin('__Porffor_allocateBytes')],[34,25],[65,1],[54,0,0],[32,25],[32,24],[252,3],[65,2],[108],[32,23],[252,3],[106],[47,0,4],[59,0,4],[32,25],[184],[65,195,0],[33,5],[65,195,0],[65,4],[65,1],[16,builtin('__Porffor_object_expr_initWithFlags')],[33,5],[183],[26],[32,17],[68,1],[160],[33,17],[12,1],[11],[11],[32,2],[68,67],[97],[4,64],[32,6],[252,2],[65,7],[16,builtin('__Porffor_object_preventExtensions')],[33,5],[183],[26],[11],[11],[32,2],[68,195],[97],[4,64],[32,0],[34,21],[252,3],[40,1,0],[184],[33,15],...makeString(_,"length",1),[33,26],[32,6],[252,2],[65,7],[32,26],[252,2],[65,195,1],[32,15],[65,1],[65,0],[65,1],[16,builtin('__Porffor_object_expr_initWithFlags')],[33,5],[183],[26],[68,0],[33,17],[3,64],[32,17],[32,15],[99],[4,64],[32,6],[252,2],[65,7],[32,17],[65,1],[68,0],[65,128,1],[16,builtin('__Number_prototype_toString')],[33,5],[252,2],[32,5],[32,17],[33,28],[32,21],[33,27],[65,8],[16,builtin('__Porffor_allocateBytes')],[34,25],[65,1],[54,0,0],[32,25],[32,28],[252,3],[32,27],[252,3],[106],[45,0,4],[58,0,4],[32,25],[184],[65,195,1],[33,5],[65,195,1],[65,4],[65,1],[16,builtin('__Porffor_object_expr_initWithFlags')],[33,5],[183],[26],[32,17],[68,1],[160],[33,17],[12,1],[11],[11],[32,6],[252,2],[65,7],[16,builtin('__Porffor_object_preventExtensions')],[33,5],[183],[26],[11],...glbl(35,'underlyingVals',124),[65,208,0],[32,6],[65,7],[16,builtin('__Porffor_array_fastPush')],[33,5],[26],...glbl(35,'underlyingKeys',124),[65,208,0],[32,0],[32,1],[16,builtin('__Porffor_array_fastPush')],[33,5],[68,1],[161],[33,4],[11],[32,4],[33,30],...glbl(35,'underlyingVals',124),[33,29],[32,30],[252,3],[65,9],[108],[32,29],[252,3],[106],[34,20],[43,0,4],[32,20],[45,0,12],[34,5],[15],[26],[11],[32,0],[32,1],[15]],
|
7
7
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
8
|
-
locals:[124,124,124,127,124,124,127,124,
|
8
|
+
locals:[124,124,124,127,124,124,127,124,124,124,124,124,124,124,124,124,124,124,127,124,124,124,124,127,124,124,124,124,124],localNames:["obj","obj#type","t","remap","idx","#last_type","underlying","#logicinner_tmp","#typeswitch_tmp1","proto","key1","key2","key3","key4","arr","len","key5","i","#member_obj_0","#member_prop_0","#loadArray_offset","str","key6","#member_obj_1","#member_prop_1","#member_allocd","key7","#member_obj_2","#member_prop_2","#member_obj_3","#member_prop_3"],
|
9
9
|
usedTypes:[7,80,195,67],
|
10
10
|
globalInits:{underlyingKeys:(_,{allocPage,glbl})=>[number(allocPage(_,'__internal_object.ts/underlyingKeys'),124),...glbl(36,'underlyingKeys',124),[65,16],[26]],underlyingVals:(_,{allocPage,glbl})=>[number(allocPage(_,'__internal_object.ts/underlyingVals'),124),...glbl(36,'underlyingVals',124),[65,128,128,4],[26]]},
|
11
11
|
}
|
@@ -338,7 +338,7 @@ params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
|
338
338
|
locals:[],localNames:["x","x#type"],
|
339
339
|
}
|
340
340
|
this.__Array_from = {
|
341
|
-
wasm:(_,{t,makeString,builtin,internalThrow})=>[[32,0],[33,4],[32,1],[33,5],[2,127],...t([0,128],()=>[[32,5],[65,0],[70],[32,5],[65,128,1],[70],[114],[4,64],[65,1],[12,1],[11]]),...t([7],()=>[[32,5],[65,7],[70],[4,64],[32,4],[68,0],[97],[12,1],[11]]),[65,0],[11],[4,64],...internalThrow(_,'TypeError',`Argument cannot be nullish`),[26],[11],[16,builtin('__Porffor_allocate')],[183],[33,6],[68,0],[33,7],[32,1],[184],[33,8],[65,1],[33,9],[32,8],[68,80],[97],[32,8],[68,67],[97],[114],[32,8],[68,195],[97],[114],[32,8],[68,19],[97],[114],[32,8],[68,88],[102],[32,8],[68,96],[101],[113],[114],[4,64],[68,0],[33,10],[32,3],[184],[68,128],[98],[4,64],[32,3],[184],[68,6],[98],[4,64],...internalThrow(_,'TypeError',`Called Array.from with a non-function mapFn`),[26],[11],[32,0],[252,3],[33,11],[32,1],[33,14],[65,0],[33,13],[32,14],[65,208,0],[70],[32,14],[65,19],[70],[114],[32,14],[65,20],[70],[114],[32,14],[65,195,0],[70],[114],[32,14],[65,195,1],[70],[114],[32,14],[65,50],[70],[114],[32,14],[65,216,0],[78],[32,14],[65,224,0],[76],[113],[114],[69],[4,64],...internalThrow(_,'TypeError',`Tried for..of on non-iterable type`),[11],[32,11],[40,1,0],[33,12],[3,64],[2,64],[32,14],[33,5],[2,124],...t([80,19],()=>[[32,5],[65,208,0],[70],[32,5],[65,19],[70],[114],[4,64],[32,12],[69],[13,2],[32,11],[43,0,4],[32,11],[45,0,12],[32,11],[65,9],[106],[33,11],[32,12],[65,1],[107],[33,12],[33,17],[12,1],[11]]),...t([67],()=>[[32,5],[65,195,0],[70],[4,64],[32,12],[69],[13,2],[65,8],[16,builtin('__Porffor_allocateBytes')],[34,18],[65,1],[54,0,0],[32,18],[32,11],[47,1,4],[59,1,4],[32,11],[65,2],[106],[33,11],[32,12],[65,1],[107],[33,12],[32,18],[184],[65,195,0],[33,17],[12,1],[11]]),...t([195],()=>[[32,5],[65,195,1],[70],[4,64],[32,12],[69],[13,2],[65,8],[16,builtin('__Porffor_allocateBytes')],[34,18],[65,1],[54,0,0],[32,18],[32,11],[45,0,4],[58,0,4],[32,11],[65,1],[106],[33,11],[32,12],[65,1],[107],[33,12],[32,18],[184],[65,195,1],[33,17],[12,1],[11]]),...t([88,90],()=>[[32,5],[65,216,0],[70],[32,5],[65,218,0],[70],[114],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[106],[45,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([89],()=>[[32,5],[65,217,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[106],[44,0,4],[183],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([91],()=>[[32,5],[65,219,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,2],[108],[106],[47,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([92],()=>[[32,5],[65,220,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,2],[108],[106],[47,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([93],()=>[[32,5],[65,221,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,4],[108],[106],[40,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([94],()=>[[32,5],[65,222,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,4],[108],[106],[40,0,4],[183],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([95],()=>[[32,5],[65,223,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,4],[108],[106],[42,0,4],[187],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([96],()=>[[32,5],[65,224,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,8],[108],[106],[43,0,4],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([50],()=>[[32,5],[65,50],[70],[4,64],[12,2],[12,1],[11]]),...t([20],()=>[[32,5],[65,20],[70],[4,64],[32,13],[32,12],[40,1,0],[70],[13,2],[65,128,1],[16,builtin('__Porffor_allocateBytes')],[34,18],[65,2],[54,0,0],[32,18],[32,18],[32,18],[32,18],[32,12],[32,13],[65,9],[108],[106],[34,19],[43,0,4],[57,0,4],[32,19],[45,0,12],[58,0,12],[32,11],[40,1,4],[32,13],[65,9],[108],[106],[34,19],[43,0,4],[57,0,13],[32,19],[45,0,12],[58,0,21],[32,13],[65,1],[106],[33,13],[32,18],[184],[65,208,0],[33,17],[12,1],[11]]),[0],[11],[33,15],[32,17],[33,16],[32,6],[33,21],[32,10],[33,22],[32,21],[252,3],[32,22],[252,3],[65,9],[108],[106],[34,20],[32,2],[33,23],[32,3],[33,5],[2,124],...t([6],()=>[[32,5],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,15],[32,16],[32,10],[65,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,23],[252,3],[17,12,0],[33,17],[12,1],[11]]),...internalThrow(_,'TypeError',`mapFn is not a function`),[68,0],[11],[57,0,4],[32,20],[32,17],[58,0,12],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[5],[32,0],[252,3],[33,11],[32,1],[33,14],[65,0],[33,13],[32,14],[65,208,0],[70],[32,14],[65,19],[70],[114],[32,14],[65,20],[70],[114],[32,14],[65,195,0],[70],[114],[32,14],[65,195,1],[70],[114],[32,14],[65,50],[70],[114],[32,14],[65,216,0],[78],[32,14],[65,224,0],[76],[113],[114],[69],[4,64],...internalThrow(_,'TypeError',`Tried for..of on non-iterable type`),[11],[32,11],[40,1,0],[33,12],[3,64],[2,64],[32,14],[33,5],[2,124],...t([80,19],()=>[[32,5],[65,208,0],[70],[32,5],[65,19],[70],[114],[4,64],[32,12],[69],[13,2],[32,11],[43,0,4],[32,11],[45,0,12],[32,11],[65,9],[106],[33,11],[32,12],[65,1],[107],[33,12],[33,17],[12,1],[11]]),...t([67],()=>[[32,5],[65,195,0],[70],[4,64],[32,12],[69],[13,2],[65,8],[16,builtin('__Porffor_allocateBytes')],[34,18],[65,1],[54,0,0],[32,18],[32,11],[47,1,4],[59,1,4],[32,11],[65,2],[106],[33,11],[32,12],[65,1],[107],[33,12],[32,18],[184],[65,195,0],[33,17],[12,1],[11]]),...t([195],()=>[[32,5],[65,195,1],[70],[4,64],[32,12],[69],[13,2],[65,8],[16,builtin('__Porffor_allocateBytes')],[34,18],[65,1],[54,0,0],[32,18],[32,11],[45,0,4],[58,0,4],[32,11],[65,1],[106],[33,11],[32,12],[65,1],[107],[33,12],[32,18],[184],[65,195,1],[33,17],[12,1],[11]]),...t([88,90],()=>[[32,5],[65,216,0],[70],[32,5],[65,218,0],[70],[114],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[106],[45,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([89],()=>[[32,5],[65,217,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[106],[44,0,4],[183],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([91],()=>[[32,5],[65,219,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,2],[108],[106],[47,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([92],()=>[[32,5],[65,220,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,2],[108],[106],[47,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([93],()=>[[32,5],[65,221,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,4],[108],[106],[40,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([94],()=>[[32,5],[65,222,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,4],[108],[106],[40,0,4],[183],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([95],()=>[[32,5],[65,223,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,4],[108],[106],[42,0,4],[187],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([96],()=>[[32,5],[65,224,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,8],[108],[106],[43,0,4],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([50],()=>[[32,5],[65,50],[70],[4,64],[12,2],[12,1],[11]]),...t([20],()=>[[32,5],[65,20],[70],[4,64],[32,13],[32,12],[40,1,0],[70],[13,2],[65,128,1],[16,builtin('__Porffor_allocateBytes')],[34,18],[65,2],[54,0,0],[32,18],[32,18],[32,18],[32,18],[32,12],[32,13],[65,9],[108],[106],[34,19],[43,0,4],[57,0,4],[32,19],[45,0,12],[58,0,12],[32,11],[40,1,4],[32,13],[65,9],[108],[106],[34,19],[43,0,4],[57,0,13],[32,19],[45,0,12],[58,0,21],[32,13],[65,1],[106],[33,13],[32,18],[184],[65,208,0],[33,17],[12,1],[11]]),[0],[11],[33,15],[32,17],[33,16],[32,6],[33,24],[32,10],[32,10],[68,1],[160],[33,10],[33,25],[32,24],[252,3],[32,25],[252,3],[65,9],[108],[106],[34,20],[32,15],[57,0,4],[32,20],[32,16],[58,0,12],[12,1],[11],[11],[11],[32,10],[33,7],[11],[32,8],[68,7],[97],[4,64],[32,0],[33,26],...makeString(_,"length",1),[34,27],[33,29],[32,26],[34,28],[252,2],[65,7],[32,29],[65,195,1],[16,builtin('__ecma262_ToPropertyKey')],[33,30],[252,2],[32,30],[16,builtin('__Porffor_object_get')],[34,17],[16,builtin('__ecma262_ToIntegerOrInfinity')],[33,17],[33,7],[68,0],[33,10],[3,64],[32,10],[32,7],[99],[4,64],[32,6],[33,31],[32,10],[33,32],[32,31],[252,3],[32,32],[252,3],[65,9],[108],[106],[34,20],[32,10],[33,34],[32,26],[34,33],[252,2],[65,7],[32,34],[65,1],[16,builtin('__ecma262_ToPropertyKey')],[33,30],[252,2],[32,30],[16,builtin('__Porffor_object_get')],[33,17],[57,0,4],[32,20],[32,17],[58,0,12],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[11],[32,6],[252,3],[32,7],[252,3],[54,1,0],[32,6],[65,208,0],[15]],
|
341
|
+
wasm:(_,{t,makeString,builtin,internalThrow})=>[[32,0],[33,4],[32,1],[33,5],[2,127],...t([0,128],()=>[[32,5],[65,0],[70],[32,5],[65,128,1],[70],[114],[4,64],[65,1],[12,1],[11]]),...t([7],()=>[[32,5],[65,7],[70],[4,64],[32,4],[68,0],[97],[12,1],[11]]),[65,0],[11],[4,64],...internalThrow(_,'TypeError',`Argument cannot be nullish`),[26],[11],[16,builtin('__Porffor_allocate')],[183],[33,6],[68,0],[33,7],[32,1],[184],[33,8],[65,1],[33,9],[32,8],[68,80],[97],[32,8],[68,67],[97],[114],[32,8],[68,195],[97],[114],[32,8],[68,19],[97],[114],[32,8],[68,88],[102],[32,8],[68,96],[101],[113],[114],[4,64],[68,0],[33,10],[32,3],[184],[68,128],[98],[4,64],[32,3],[184],[68,6],[98],[4,64],...internalThrow(_,'TypeError',`Called Array.from with a non-function mapFn`),[26],[11],[32,0],[252,3],[33,11],[32,1],[33,14],[65,0],[33,13],[32,14],[65,208,0],[70],[32,14],[65,19],[70],[114],[32,14],[65,20],[70],[114],[32,14],[65,195,0],[70],[114],[32,14],[65,195,1],[70],[114],[32,14],[65,50],[70],[114],[32,14],[65,216,0],[78],[32,14],[65,224,0],[76],[113],[114],[69],[4,64],...internalThrow(_,'TypeError',`Tried for..of on non-iterable type`),[11],[32,11],[40,1,0],[33,12],[3,64],[2,64],[32,14],[33,5],[2,124],...t([80,19],()=>[[32,5],[65,208,0],[70],[32,5],[65,19],[70],[114],[4,64],[32,12],[69],[13,2],[32,11],[43,0,4],[32,11],[45,0,12],[32,11],[65,9],[106],[33,11],[32,12],[65,1],[107],[33,12],[33,17],[12,1],[11]]),...t([67],()=>[[32,5],[65,195,0],[70],[4,64],[32,12],[69],[13,2],[65,8],[16,builtin('__Porffor_allocateBytes')],[34,18],[65,1],[54,0,0],[32,18],[32,11],[47,1,4],[59,1,4],[32,11],[65,2],[106],[33,11],[32,12],[65,1],[107],[33,12],[32,18],[184],[65,195,0],[33,17],[12,1],[11]]),...t([195],()=>[[32,5],[65,195,1],[70],[4,64],[32,12],[69],[13,2],[65,8],[16,builtin('__Porffor_allocateBytes')],[34,18],[65,1],[54,0,0],[32,18],[32,11],[45,0,4],[58,0,4],[32,11],[65,1],[106],[33,11],[32,12],[65,1],[107],[33,12],[32,18],[184],[65,195,1],[33,17],[12,1],[11]]),...t([88,90],()=>[[32,5],[65,216,0],[70],[32,5],[65,218,0],[70],[114],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[106],[45,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([89],()=>[[32,5],[65,217,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[106],[44,0,4],[183],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([91],()=>[[32,5],[65,219,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,2],[108],[106],[47,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([92],()=>[[32,5],[65,220,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,2],[108],[106],[47,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([93],()=>[[32,5],[65,221,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,4],[108],[106],[40,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([94],()=>[[32,5],[65,222,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,4],[108],[106],[40,0,4],[183],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([95],()=>[[32,5],[65,223,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,4],[108],[106],[42,0,4],[187],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([96],()=>[[32,5],[65,224,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,8],[108],[106],[43,0,4],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([50],()=>[[32,5],[65,50],[70],[4,64],[12,2],[12,1],[11]]),...t([20],()=>[[32,5],[65,20],[70],[4,64],[32,13],[32,12],[40,1,0],[70],[13,2],[65,128,1],[16,builtin('__Porffor_allocateBytes')],[34,18],[65,2],[54,0,0],[32,18],[32,18],[32,18],[32,18],[32,12],[32,13],[65,9],[108],[106],[34,19],[43,0,4],[57,0,4],[32,19],[45,0,12],[58,0,12],[32,11],[40,1,4],[32,13],[65,9],[108],[106],[34,19],[43,0,4],[57,0,13],[32,19],[45,0,12],[58,0,21],[32,13],[65,1],[106],[33,13],[32,18],[184],[65,208,0],[33,17],[12,1],[11]]),[0],[11],[33,15],[32,17],[33,16],[32,6],[33,21],[32,10],[33,22],[32,21],[252,3],[32,22],[252,3],[65,9],[108],[106],[34,20],[32,2],[33,23],[32,3],[33,5],[2,124],...t([6],()=>[[32,5],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,15],[32,16],[32,10],[65,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,23],[252,3],[17,12,0],[33,17],[12,1],[11]]),...internalThrow(_,'TypeError',`mapFn is not a function`),[68,0],[11],[57,0,4],[32,20],[32,17],[58,0,12],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[5],[32,0],[252,3],[33,11],[32,1],[33,14],[65,0],[33,13],[32,14],[65,208,0],[70],[32,14],[65,19],[70],[114],[32,14],[65,20],[70],[114],[32,14],[65,195,0],[70],[114],[32,14],[65,195,1],[70],[114],[32,14],[65,50],[70],[114],[32,14],[65,216,0],[78],[32,14],[65,224,0],[76],[113],[114],[69],[4,64],...internalThrow(_,'TypeError',`Tried for..of on non-iterable type`),[11],[32,11],[40,1,0],[33,12],[3,64],[2,64],[32,14],[33,5],[2,124],...t([80,19],()=>[[32,5],[65,208,0],[70],[32,5],[65,19],[70],[114],[4,64],[32,12],[69],[13,2],[32,11],[43,0,4],[32,11],[45,0,12],[32,11],[65,9],[106],[33,11],[32,12],[65,1],[107],[33,12],[33,17],[12,1],[11]]),...t([67],()=>[[32,5],[65,195,0],[70],[4,64],[32,12],[69],[13,2],[65,8],[16,builtin('__Porffor_allocateBytes')],[34,18],[65,1],[54,0,0],[32,18],[32,11],[47,1,4],[59,1,4],[32,11],[65,2],[106],[33,11],[32,12],[65,1],[107],[33,12],[32,18],[184],[65,195,0],[33,17],[12,1],[11]]),...t([195],()=>[[32,5],[65,195,1],[70],[4,64],[32,12],[69],[13,2],[65,8],[16,builtin('__Porffor_allocateBytes')],[34,18],[65,1],[54,0,0],[32,18],[32,11],[45,0,4],[58,0,4],[32,11],[65,1],[106],[33,11],[32,12],[65,1],[107],[33,12],[32,18],[184],[65,195,1],[33,17],[12,1],[11]]),...t([88,90],()=>[[32,5],[65,216,0],[70],[32,5],[65,218,0],[70],[114],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[106],[45,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([89],()=>[[32,5],[65,217,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[106],[44,0,4],[183],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([91],()=>[[32,5],[65,219,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,2],[108],[106],[47,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([92],()=>[[32,5],[65,220,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,2],[108],[106],[47,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([93],()=>[[32,5],[65,221,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,4],[108],[106],[40,0,4],[184],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([94],()=>[[32,5],[65,222,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,4],[108],[106],[40,0,4],[183],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([95],()=>[[32,5],[65,223,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,4],[108],[106],[42,0,4],[187],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([96],()=>[[32,5],[65,224,0],[70],[4,64],[32,13],[32,12],[70],[13,2],[32,11],[40,0,4],[32,13],[65,8],[108],[106],[43,0,4],[32,13],[65,1],[106],[33,13],[65,1],[33,17],[12,1],[11]]),...t([50],()=>[[32,5],[65,50],[70],[4,64],[12,2],[12,1],[11]]),...t([20],()=>[[32,5],[65,20],[70],[4,64],[32,13],[32,12],[40,1,0],[70],[13,2],[65,128,1],[16,builtin('__Porffor_allocateBytes')],[34,18],[65,2],[54,0,0],[32,18],[32,18],[32,18],[32,18],[32,12],[32,13],[65,9],[108],[106],[34,19],[43,0,4],[57,0,4],[32,19],[45,0,12],[58,0,12],[32,11],[40,1,4],[32,13],[65,9],[108],[106],[34,19],[43,0,4],[57,0,13],[32,19],[45,0,12],[58,0,21],[32,13],[65,1],[106],[33,13],[32,18],[184],[65,208,0],[33,17],[12,1],[11]]),[0],[11],[33,15],[32,17],[33,16],[32,6],[33,24],[32,10],[32,10],[68,1],[160],[33,10],[33,25],[32,24],[252,3],[32,25],[252,3],[65,9],[108],[106],[34,20],[32,15],[57,0,4],[32,20],[32,16],[58,0,12],[12,1],[11],[11],[11],[32,10],[33,7],[11],[32,8],[68,7],[97],[4,64],[32,0],[33,26],...makeString(_,"length",1),[34,27],[33,29],[32,26],[34,28],[252,2],[65,7],[32,29],[65,195,1],[16,builtin('__ecma262_ToPropertyKey')],[33,30],[252,2],[32,30],[16,builtin('__Porffor_object_get')],[34,17],[16,builtin('__ecma262_ToIntegerOrInfinity')],[33,17],[34,7],[68,4294967295],[100],[4,64],...internalThrow(_,'RangeError',`Invalid array length`),[26],[11],[32,7],[68,0],[99],[4,64],[68,0],[33,7],[11],[68,0],[33,10],[3,64],[32,10],[32,7],[99],[4,64],[32,6],[33,31],[32,10],[33,32],[32,31],[252,3],[32,32],[252,3],[65,9],[108],[106],[34,20],[32,10],[33,34],[32,26],[34,33],[252,2],[65,7],[32,34],[65,1],[16,builtin('__ecma262_ToPropertyKey')],[33,30],[252,2],[32,30],[16,builtin('__Porffor_object_get')],[33,17],[57,0,4],[32,20],[32,17],[58,0,12],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[11],[32,6],[252,3],[32,7],[252,3],[54,1,0],[32,6],[65,208,0],[15]],
|
342
342
|
params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
343
343
|
locals:[124,127,124,124,124,127,124,127,127,127,127,124,127,127,127,127,127,124,124,124,124,124,124,124,124,124,127,124,124,124,124],localNames:["arg","arg#type","mapFn","mapFn#type","#logicinner_tmp","#typeswitch_tmp1","out","len","type","type#type","i","#forof_base_pointer0","#forof_length0","#forof_counter0","#forof_itertype0","x","x#type","#last_type","#forof_allocd","#forof_mapptr","#member_setter_ptr_tmp","#member_obj_9","#member_prop_9","#indirect_10_callee","#member_obj_11","#member_prop_11","obj","lengthKey","#member_obj_12","#member_prop_12","#swap","#member_obj_13","#member_prop_13","#member_obj_14","#member_prop_14"],
|
344
344
|
usedTypes:[67,195,80,7],
|
@@ -728,7 +728,7 @@ locals:[124,124],localNames:["arg","arg#type","ptr","end"],
|
|
728
728
|
usesImports:1,
|
729
729
|
}
|
730
730
|
this.__Porffor_printHexDigit = {
|
731
|
-
wasm:()=>[[32,0],[33,2],[65,1],[33,3],[2,64],[2,64],[2,64],[2,64],[2,64],[2,64],[2,64],[2,64],[32,2],[68,15],[97],[
|
731
|
+
wasm:()=>[[32,0],[33,2],[65,1],[33,3],[2,64],[2,64],[2,64],[2,64],[2,64],[2,64],[2,64],[2,64],[32,2],[68,15],[97],[13,0],[32,2],[68,14],[97],[13,1],[32,2],[68,13],[97],[13,2],[32,2],[68,12],[97],[13,3],[32,2],[68,11],[97],[13,4],[32,2],[68,10],[97],[13,5],[12,6],[11],[68,102],[16,1],[68,0],[65,128,1],[15],[26],[11],[68,101],[16,1],[68,0],[65,128,1],[15],[26],[11],[68,100],[16,1],[68,0],[65,128,1],[15],[26],[11],[68,99],[16,1],[68,0],[65,128,1],[15],[26],[11],[68,98],[16,1],[68,0],[65,128,1],[15],[26],[11],[68,97],[16,1],[68,0],[65,128,1],[15],[26],[11],[32,0],[16,0],[11],[68,0],[65,128,1],[15]],
|
732
732
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
733
733
|
locals:[124,127],localNames:["arg","arg#type","#switch_82","#switch_82#type"],
|
734
734
|
usesImports:1,
|
@@ -1563,7 +1563,7 @@ usedTypes:[195,7,40],
|
|
1563
1563
|
constr:1,
|
1564
1564
|
}
|
1565
1565
|
this.__Error_prototype_toString = {
|
1566
|
-
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[
|
1566
|
+
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[4,64],...makeString(_,"name",1),[33,9],[32,2],[34,8],[252,2],[65,7],[32,9],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[15],[26],[11],...makeString(_,"name",1),[33,11],[32,2],[34,10],[252,2],[65,7],[32,11],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],...makeString(_,": ",1),[65,195,1],[16,builtin('__Porffor_concatStrings')],[34,7],[32,3],[32,4],[16,builtin('__Porffor_concatStrings')],[34,7],[15]],
|
1567
1567
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1568
1568
|
locals:[124,124,127,124,124,127,124,124,124,124],localNames:["_this","_this#type","obj","message","message#type","#member_obj_105","#member_prop_105","#last_type","#member_obj_106","#member_prop_106","#member_obj_107","#member_prop_107"],
|
1569
1569
|
usedTypes:[40,7,195],
|
@@ -1576,7 +1576,7 @@ usedTypes:[195,7,41],
|
|
1576
1576
|
constr:1,
|
1577
1577
|
}
|
1578
1578
|
this.__AggregateError_prototype_toString = {
|
1579
|
-
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[
|
1579
|
+
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[4,64],...makeString(_,"name",1),[33,9],[32,2],[34,8],[252,2],[65,7],[32,9],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[15],[26],[11],...makeString(_,"name",1),[33,11],[32,2],[34,10],[252,2],[65,7],[32,11],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],...makeString(_,": ",1),[65,195,1],[16,builtin('__Porffor_concatStrings')],[34,7],[32,3],[32,4],[16,builtin('__Porffor_concatStrings')],[34,7],[15]],
|
1580
1580
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1581
1581
|
locals:[124,124,127,124,124,127,124,124,124,124],localNames:["_this","_this#type","obj","message","message#type","#member_obj_111","#member_prop_111","#last_type","#member_obj_112","#member_prop_112","#member_obj_113","#member_prop_113"],
|
1582
1582
|
usedTypes:[41,7,195],
|
@@ -1589,7 +1589,7 @@ usedTypes:[195,7,42],
|
|
1589
1589
|
constr:1,
|
1590
1590
|
}
|
1591
1591
|
this.__TypeError_prototype_toString = {
|
1592
|
-
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[
|
1592
|
+
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[4,64],...makeString(_,"name",1),[33,9],[32,2],[34,8],[252,2],[65,7],[32,9],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[15],[26],[11],...makeString(_,"name",1),[33,11],[32,2],[34,10],[252,2],[65,7],[32,11],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],...makeString(_,": ",1),[65,195,1],[16,builtin('__Porffor_concatStrings')],[34,7],[32,3],[32,4],[16,builtin('__Porffor_concatStrings')],[34,7],[15]],
|
1593
1593
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1594
1594
|
locals:[124,124,127,124,124,127,124,124,124,124],localNames:["_this","_this#type","obj","message","message#type","#member_obj_117","#member_prop_117","#last_type","#member_obj_118","#member_prop_118","#member_obj_119","#member_prop_119"],
|
1595
1595
|
usedTypes:[42,7,195],
|
@@ -1602,7 +1602,7 @@ usedTypes:[195,7,43],
|
|
1602
1602
|
constr:1,
|
1603
1603
|
}
|
1604
1604
|
this.__ReferenceError_prototype_toString = {
|
1605
|
-
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[
|
1605
|
+
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[4,64],...makeString(_,"name",1),[33,9],[32,2],[34,8],[252,2],[65,7],[32,9],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[15],[26],[11],...makeString(_,"name",1),[33,11],[32,2],[34,10],[252,2],[65,7],[32,11],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],...makeString(_,": ",1),[65,195,1],[16,builtin('__Porffor_concatStrings')],[34,7],[32,3],[32,4],[16,builtin('__Porffor_concatStrings')],[34,7],[15]],
|
1606
1606
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1607
1607
|
locals:[124,124,127,124,124,127,124,124,124,124],localNames:["_this","_this#type","obj","message","message#type","#member_obj_123","#member_prop_123","#last_type","#member_obj_124","#member_prop_124","#member_obj_125","#member_prop_125"],
|
1608
1608
|
usedTypes:[43,7,195],
|
@@ -1615,7 +1615,7 @@ usedTypes:[195,7,44],
|
|
1615
1615
|
constr:1,
|
1616
1616
|
}
|
1617
1617
|
this.__SyntaxError_prototype_toString = {
|
1618
|
-
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[
|
1618
|
+
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[4,64],...makeString(_,"name",1),[33,9],[32,2],[34,8],[252,2],[65,7],[32,9],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[15],[26],[11],...makeString(_,"name",1),[33,11],[32,2],[34,10],[252,2],[65,7],[32,11],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],...makeString(_,": ",1),[65,195,1],[16,builtin('__Porffor_concatStrings')],[34,7],[32,3],[32,4],[16,builtin('__Porffor_concatStrings')],[34,7],[15]],
|
1619
1619
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1620
1620
|
locals:[124,124,127,124,124,127,124,124,124,124],localNames:["_this","_this#type","obj","message","message#type","#member_obj_129","#member_prop_129","#last_type","#member_obj_130","#member_prop_130","#member_obj_131","#member_prop_131"],
|
1621
1621
|
usedTypes:[44,7,195],
|
@@ -1628,7 +1628,7 @@ usedTypes:[195,7,45],
|
|
1628
1628
|
constr:1,
|
1629
1629
|
}
|
1630
1630
|
this.__RangeError_prototype_toString = {
|
1631
|
-
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[
|
1631
|
+
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[4,64],...makeString(_,"name",1),[33,9],[32,2],[34,8],[252,2],[65,7],[32,9],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[15],[26],[11],...makeString(_,"name",1),[33,11],[32,2],[34,10],[252,2],[65,7],[32,11],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],...makeString(_,": ",1),[65,195,1],[16,builtin('__Porffor_concatStrings')],[34,7],[32,3],[32,4],[16,builtin('__Porffor_concatStrings')],[34,7],[15]],
|
1632
1632
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1633
1633
|
locals:[124,124,127,124,124,127,124,124,124,124],localNames:["_this","_this#type","obj","message","message#type","#member_obj_135","#member_prop_135","#last_type","#member_obj_136","#member_prop_136","#member_obj_137","#member_prop_137"],
|
1634
1634
|
usedTypes:[45,7,195],
|
@@ -1641,7 +1641,7 @@ usedTypes:[195,7,46],
|
|
1641
1641
|
constr:1,
|
1642
1642
|
}
|
1643
1643
|
this.__EvalError_prototype_toString = {
|
1644
|
-
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[
|
1644
|
+
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[4,64],...makeString(_,"name",1),[33,9],[32,2],[34,8],[252,2],[65,7],[32,9],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[15],[26],[11],...makeString(_,"name",1),[33,11],[32,2],[34,10],[252,2],[65,7],[32,11],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],...makeString(_,": ",1),[65,195,1],[16,builtin('__Porffor_concatStrings')],[34,7],[32,3],[32,4],[16,builtin('__Porffor_concatStrings')],[34,7],[15]],
|
1645
1645
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1646
1646
|
locals:[124,124,127,124,124,127,124,124,124,124],localNames:["_this","_this#type","obj","message","message#type","#member_obj_141","#member_prop_141","#last_type","#member_obj_142","#member_prop_142","#member_obj_143","#member_prop_143"],
|
1647
1647
|
usedTypes:[46,7,195],
|
@@ -1654,7 +1654,7 @@ usedTypes:[195,7,47],
|
|
1654
1654
|
constr:1,
|
1655
1655
|
}
|
1656
1656
|
this.__URIError_prototype_toString = {
|
1657
|
-
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[
|
1657
|
+
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[4,64],...makeString(_,"name",1),[33,9],[32,2],[34,8],[252,2],[65,7],[32,9],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[15],[26],[11],...makeString(_,"name",1),[33,11],[32,2],[34,10],[252,2],[65,7],[32,11],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],...makeString(_,": ",1),[65,195,1],[16,builtin('__Porffor_concatStrings')],[34,7],[32,3],[32,4],[16,builtin('__Porffor_concatStrings')],[34,7],[15]],
|
1658
1658
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1659
1659
|
locals:[124,124,127,124,124,127,124,124,124,124],localNames:["_this","_this#type","obj","message","message#type","#member_obj_147","#member_prop_147","#last_type","#member_obj_148","#member_prop_148","#member_obj_149","#member_prop_149"],
|
1660
1660
|
usedTypes:[47,7,195],
|
@@ -1667,7 +1667,7 @@ usedTypes:[195,7,48],
|
|
1667
1667
|
constr:1,
|
1668
1668
|
}
|
1669
1669
|
this.__Test262Error_prototype_toString = {
|
1670
|
-
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[
|
1670
|
+
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[4,64],...makeString(_,"name",1),[33,9],[32,2],[34,8],[252,2],[65,7],[32,9],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[15],[26],[11],...makeString(_,"name",1),[33,11],[32,2],[34,10],[252,2],[65,7],[32,11],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],...makeString(_,": ",1),[65,195,1],[16,builtin('__Porffor_concatStrings')],[34,7],[32,3],[32,4],[16,builtin('__Porffor_concatStrings')],[34,7],[15]],
|
1671
1671
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1672
1672
|
locals:[124,124,127,124,124,127,124,124,124,124],localNames:["_this","_this#type","obj","message","message#type","#member_obj_153","#member_prop_153","#last_type","#member_obj_154","#member_prop_154","#member_obj_155","#member_prop_155"],
|
1673
1673
|
usedTypes:[48,7,195],
|
@@ -1680,7 +1680,7 @@ usedTypes:[195,7,49],
|
|
1680
1680
|
constr:1,
|
1681
1681
|
}
|
1682
1682
|
this.__TodoError_prototype_toString = {
|
1683
|
-
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[
|
1683
|
+
wasm:(_,{makeString,builtin})=>[[32,0],[33,2],...makeString(_,"message",1),[33,6],[32,2],[34,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[33,4],[34,3],[252,3],[40,1,0],[184],[68,0],[97],[4,64],...makeString(_,"name",1),[33,9],[32,2],[34,8],[252,2],[65,7],[32,9],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],[15],[26],[11],...makeString(_,"name",1),[33,11],[32,2],[34,10],[252,2],[65,7],[32,11],[252,3],[65,195,1],[16,builtin('__Porffor_object_get')],[34,7],...makeString(_,": ",1),[65,195,1],[16,builtin('__Porffor_concatStrings')],[34,7],[32,3],[32,4],[16,builtin('__Porffor_concatStrings')],[34,7],[15]],
|
1684
1684
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1685
1685
|
locals:[124,124,127,124,124,127,124,124,124,124],localNames:["_this","_this#type","obj","message","message#type","#member_obj_159","#member_prop_159","#last_type","#member_obj_160","#member_prop_160","#member_obj_161","#member_prop_161"],
|
1686
1686
|
usedTypes:[49,7,195],
|
@@ -1941,14 +1941,14 @@ usedTypes:[38],
|
|
1941
1941
|
constr:1,
|
1942
1942
|
}
|
1943
1943
|
this.__Number_prototype_toString = {
|
1944
|
-
wasm:(_,{makeString,builtin,internalThrow})=>[[32,1],[65,1],[71],[32,1],[65,38],[71],[113],[4,64],...internalThrow(_,'TypeError',`Number.prototype.toString expects 'this' to be a Number`),[11],[32,3],[184],[68,1],[98],[4,64],[68,10],[33,2],[65,1],[33,3],[11],[32,2],[68,0],[16,builtin('f64_|')],[33,2],[65,1],[33,3],[32,2],[68,2],[99],[34,4],[69],[4,127],[32,2],[68,36],[100],[65,2],[33,5],[5],[32,4],[65,2],[33,5],[11],[4,64],...internalThrow(_,'RangeError',`toString() radix argument must be between 2 and 36`),[26],[11],[32,0],[16,builtin('__Number_isFinite')],[68,0],[97],[4,64],[32,0],[16,builtin('__Number_isNaN')],[252,3],[4,64],...makeString(_,"NaN",1),[65,195,1],[15],[26],[11],[32,0],[68,"Infinity"],[97],[4,64],...makeString(_,"Infinity",1),[65,195,1],[15],[26],[11],...makeString(_,"-Infinity",1),[65,195,1],[15],[26],[11],[32,0],[68,0],[97],[4,64],...makeString(_,"0",1),[65,195,1],[15],[26],[11],[16,builtin('
|
1944
|
+
wasm:(_,{makeString,builtin,internalThrow})=>[[32,1],[65,1],[71],[32,1],[65,38],[71],[113],[4,64],...internalThrow(_,'TypeError',`Number.prototype.toString expects 'this' to be a Number`),[11],[32,3],[184],[68,1],[98],[4,64],[68,10],[33,2],[65,1],[33,3],[11],[32,2],[68,0],[16,builtin('f64_|')],[33,2],[65,1],[33,3],[32,2],[68,2],[99],[34,4],[69],[4,127],[32,2],[68,36],[100],[65,2],[33,5],[5],[32,4],[65,2],[33,5],[11],[4,64],...internalThrow(_,'RangeError',`toString() radix argument must be between 2 and 36`),[26],[11],[32,0],[16,builtin('__Number_isFinite')],[68,0],[97],[4,64],[32,0],[16,builtin('__Number_isNaN')],[252,3],[4,64],...makeString(_,"NaN",1),[65,195,1],[15],[26],[11],[32,0],[68,"Infinity"],[97],[4,64],...makeString(_,"Infinity",1),[65,195,1],[15],[26],[11],...makeString(_,"-Infinity",1),[65,195,1],[15],[26],[11],[32,0],[68,0],[97],[4,64],...makeString(_,"0",1),[65,195,1],[15],[26],[11],[65,128,4],[16,builtin('__Porffor_allocateBytes')],[183],[34,6],[33,7],[32,0],[68,0],[99],[4,64],[32,0],[154],[33,0],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,45],[58,0,4],[11],[32,0],[16,builtin('__Math_trunc')],[33,8],[68,0],[33,9],[68,0],[33,10],[32,2],[68,10],[97],[4,64],[32,8],[68,1e+21],[102],[4,64],[68,1],[33,11],[68,-1],[33,12],[3,64],[32,8],[68,0],[100],[4,64],[32,8],[32,2],[16,builtin('f64_%')],[33,13],[32,8],[32,2],[163],[16,builtin('__Math_trunc')],[33,8],[32,12],[68,1],[160],[33,12],[32,11],[252,3],[4,64],[32,13],[68,0],[97],[4,64],[12,3],[26],[11],[68,0],[33,11],[11],[32,9],[32,10],[160],[252,2],[32,13],[252,2],[58,0,4],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[32,9],[32,10],[160],[33,14],[32,7],[32,10],[160],[33,15],[32,7],[68,1],[160],[33,16],[3,64],[32,7],[32,15],[99],[4,64],[32,7],[32,16],[97],[4,64],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,46],[58,0,4],[32,15],[68,1],[160],[33,15],[11],[32,14],[68,1],[161],[34,14],[252,2],[45,0,4],[183],[34,13],[68,10],[99],[4,64],[32,13],[68,48],[160],[33,13],[5],[32,13],[68,87],[160],[33,13],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[32,13],[252,2],[58,0,4],[12,1],[11],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,229,0],[58,0,4],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,43],[58,0,4],[68,0],[33,10],[3,64],[32,12],[68,0],[100],[4,64],[32,9],[32,10],[160],[252,2],[32,12],[32,2],[16,builtin('f64_%')],[252,2],[58,0,4],[32,12],[32,2],[163],[16,builtin('__Math_trunc')],[33,12],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[32,9],[32,10],[160],[33,14],[32,7],[32,10],[160],[33,15],[3,64],[32,7],[32,15],[99],[4,64],[32,14],[68,1],[161],[34,14],[252,2],[45,0,4],[183],[34,13],[68,10],[99],[4,64],[32,13],[68,48],[160],[33,13],[5],[32,13],[68,87],[160],[33,13],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[32,13],[252,2],[58,0,4],[12,1],[11],[11],[32,6],[252,3],[32,7],[32,6],[161],[252,3],[54,1,0],[32,6],[65,195,1],[15],[26],[11],[32,0],[68,0.000001],[99],[4,64],[32,0],[33,17],[68,1],[33,12],[3,64],[65,1],[4,64],[32,17],[32,2],[162],[34,17],[16,builtin('__Math_trunc')],[34,18],[68,0],[100],[4,64],[32,17],[32,18],[161],[68,1e-10],[99],[4,64],[12,2],[26],[11],[5],[32,12],[68,1],[160],[33,12],[11],[12,1],[11],[11],[3,64],[32,17],[68,0],[100],[4,64],[32,17],[32,2],[16,builtin('f64_%')],[33,13],[32,17],[32,2],[163],[16,builtin('__Math_trunc')],[33,17],[32,9],[32,10],[160],[252,2],[32,13],[252,2],[58,0,4],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[32,9],[32,10],[160],[33,14],[32,7],[32,10],[160],[33,15],[32,7],[68,1],[160],[33,16],[3,64],[32,7],[32,15],[99],[4,64],[32,14],[68,1],[161],[34,14],[252,2],[45,0,4],[183],[33,13],[32,7],[32,16],[97],[4,64],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,46],[58,0,4],[32,15],[68,1],[160],[33,15],[11],[32,13],[68,10],[99],[4,64],[32,13],[68,48],[160],[33,13],[5],[32,13],[68,87],[160],[33,13],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[32,13],[252,2],[58,0,4],[12,1],[11],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,229,0],[58,0,4],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,45],[58,0,4],[68,0],[33,10],[3,64],[32,12],[68,0],[100],[4,64],[32,9],[32,10],[160],[252,2],[32,12],[32,2],[16,builtin('f64_%')],[252,2],[58,0,4],[32,12],[32,2],[163],[16,builtin('__Math_trunc')],[33,12],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[32,9],[32,10],[160],[33,14],[32,7],[32,10],[160],[33,15],[3,64],[32,7],[32,15],[99],[4,64],[32,14],[68,1],[161],[34,14],[252,2],[45,0,4],[183],[34,13],[68,10],[99],[4,64],[32,13],[68,48],[160],[33,13],[5],[32,13],[68,87],[160],[33,13],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[32,13],[252,2],[58,0,4],[12,1],[11],[11],[32,6],[252,3],[32,7],[32,6],[161],[252,3],[54,1,0],[32,6],[65,195,1],[15],[26],[11],[11],[32,8],[68,0],[97],[4,64],[32,9],[252,2],[65,0],[58,0,4],[68,1],[33,10],[5],[3,64],[32,8],[68,0],[100],[4,64],[32,9],[32,10],[160],[252,2],[32,8],[32,2],[16,builtin('f64_%')],[252,2],[58,0,4],[32,8],[32,2],[163],[16,builtin('__Math_trunc')],[33,8],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[11],[32,9],[32,10],[160],[33,14],[32,7],[32,10],[160],[33,15],[3,64],[32,7],[32,15],[99],[4,64],[32,14],[68,1],[161],[34,14],[252,2],[45,0,4],[183],[34,13],[68,10],[99],[4,64],[32,13],[68,48],[160],[33,13],[5],[32,13],[68,87],[160],[33,13],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[32,13],[252,2],[58,0,4],[12,1],[11],[11],[32,0],[32,0],[16,builtin('__Math_trunc')],[161],[34,17],[68,0],[100],[4,64],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,46],[58,0,4],[32,17],[68,1],[160],[33,17],[68,16],[32,10],[161],[33,19],[68,0],[33,20],[3,64],[32,20],[32,19],[99],[4,64],[32,17],[32,2],[162],[33,17],[32,20],[68,1],[160],[33,20],[12,1],[11],[11],[32,17],[16,builtin('__Math_round')],[33,17],[68,0],[33,10],[68,1],[33,11],[3,64],[32,17],[68,1],[100],[4,64],[32,17],[32,2],[16,builtin('f64_%')],[33,13],[32,17],[32,2],[163],[16,builtin('__Math_trunc')],[33,17],[32,11],[252,3],[4,64],[32,13],[68,0],[97],[4,64],[12,3],[26],[11],[68,0],[33,11],[11],[32,9],[32,10],[160],[252,2],[32,13],[252,2],[58,0,4],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[32,9],[32,10],[160],[33,14],[32,7],[32,10],[160],[33,15],[3,64],[32,7],[32,15],[99],[4,64],[32,14],[68,1],[161],[34,14],[252,2],[45,0,4],[183],[34,13],[68,10],[99],[4,64],[32,13],[68,48],[160],[33,13],[5],[32,13],[68,87],[160],[33,13],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[32,13],[252,2],[58,0,4],[12,1],[11],[11],[11],[32,6],[252,3],[32,7],[32,6],[161],[252,3],[54,1,0],[32,6],[65,195,1],[15]],
|
1945
1945
|
params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1946
1946
|
locals:[127,127,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124],localNames:["_this","_this#type","radix","radix#type","logictmpi","#last_type","out","outPtr","i","digits","l","trailing","e","digit","digitsPtr","endPtr","dotPlace","decimal","intPart","decimalDigits","j"],
|
1947
1947
|
usedTypes:[195],
|
1948
1948
|
usesTag:1,
|
1949
1949
|
}
|
1950
1950
|
this.__Number_prototype_toFixed = {
|
1951
|
-
wasm:(_,{makeString,builtin,internalThrow})=>[[32,1],[65,1],[71],[32,1],[65,38],[71],[113],[4,64],...internalThrow(_,'TypeError',`Number.prototype.toFixed expects 'this' to be a Number`),[11],[32,2],[68,0],[16,builtin('f64_|')],[34,2],[68,0],[99],[34,4],[69],[4,127],[32,2],[68,100],[100],[65,2],[33,5],[5],[32,4],[65,2],[33,5],[11],[4,64],...internalThrow(_,'RangeError',`toFixed() fractionDigits argument must be between 0 and 100`),[26],[11],[32,0],[16,builtin('__Number_isFinite')],[68,0],[97],[4,64],[32,0],[16,builtin('__Number_isNaN')],[252,3],[4,64],...makeString(_,"NaN",1),[65,195,1],[15],[26],[11],[32,0],[68,"Infinity"],[97],[4,64],...makeString(_,"Infinity",1),[65,195,1],[15],[26],[11],...makeString(_,"-Infinity",1),[65,195,1],[15],[26],[11],[16,builtin('
|
1951
|
+
wasm:(_,{makeString,builtin,internalThrow})=>[[32,1],[65,1],[71],[32,1],[65,38],[71],[113],[4,64],...internalThrow(_,'TypeError',`Number.prototype.toFixed expects 'this' to be a Number`),[11],[32,2],[68,0],[16,builtin('f64_|')],[34,2],[68,0],[99],[34,4],[69],[4,127],[32,2],[68,100],[100],[65,2],[33,5],[5],[32,4],[65,2],[33,5],[11],[4,64],...internalThrow(_,'RangeError',`toFixed() fractionDigits argument must be between 0 and 100`),[26],[11],[32,0],[16,builtin('__Number_isFinite')],[68,0],[97],[4,64],[32,0],[16,builtin('__Number_isNaN')],[252,3],[4,64],...makeString(_,"NaN",1),[65,195,1],[15],[26],[11],[32,0],[68,"Infinity"],[97],[4,64],...makeString(_,"Infinity",1),[65,195,1],[15],[26],[11],...makeString(_,"-Infinity",1),[65,195,1],[15],[26],[11],[65,128,4],[16,builtin('__Porffor_allocateBytes')],[183],[34,6],[33,7],[32,0],[68,0],[99],[4,64],[32,0],[154],[33,0],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,45],[58,0,4],[11],[32,0],[16,builtin('__Math_trunc')],[33,8],[68,0],[33,9],[68,0],[33,10],[32,8],[68,0],[97],[4,64],[32,9],[252,2],[65,0],[58,0,4],[68,1],[33,10],[5],[3,64],[32,8],[68,0],[100],[4,64],[32,9],[32,10],[160],[252,2],[32,8],[68,10],[16,builtin('f64_%')],[252,2],[58,0,4],[32,8],[68,10],[163],[16,builtin('__Math_trunc')],[33,8],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[11],[32,9],[32,10],[160],[33,11],[32,7],[32,10],[160],[33,12],[3,64],[32,7],[32,12],[99],[4,64],[32,11],[68,1],[161],[34,11],[252,2],[45,0,4],[183],[34,13],[68,10],[99],[4,64],[32,13],[68,48],[160],[33,13],[5],[32,13],[68,87],[160],[33,13],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[32,13],[252,2],[58,0,4],[12,1],[11],[11],[32,0],[32,0],[16,builtin('__Math_trunc')],[161],[33,14],[32,2],[68,0],[100],[4,64],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,46],[58,0,4],[32,14],[68,1],[160],[33,14],[68,0],[33,15],[3,64],[32,15],[32,2],[99],[4,64],[32,14],[68,10],[162],[33,14],[32,15],[68,1],[160],[33,15],[12,1],[11],[11],[32,14],[16,builtin('__Math_round')],[33,14],[68,0],[33,10],[3,64],[32,14],[68,1],[100],[4,64],[32,14],[68,10],[16,builtin('f64_%')],[33,13],[32,14],[68,10],[163],[16,builtin('__Math_trunc')],[33,14],[32,9],[32,10],[160],[252,2],[32,13],[252,2],[58,0,4],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[32,9],[32,10],[160],[33,11],[32,7],[32,10],[160],[33,12],[3,64],[32,7],[32,12],[99],[4,64],[32,11],[68,1],[161],[34,11],[252,2],[45,0,4],[183],[34,13],[68,10],[99],[4,64],[32,13],[68,48],[160],[33,13],[5],[32,13],[68,87],[160],[33,13],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[32,13],[252,2],[58,0,4],[12,1],[11],[11],[11],[32,6],[252,3],[32,7],[32,6],[161],[252,3],[54,1,0],[32,6],[65,195,1],[15]],
|
1952
1952
|
params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1953
1953
|
locals:[127,127,124,124,124,124,124,124,124,124,124,124],localNames:["_this","_this#type","fractionDigits","fractionDigits#type","logictmpi","#last_type","out","outPtr","i","digits","l","digitsPtr","endPtr","digit","decimal","j"],
|
1954
1954
|
usedTypes:[195],
|
@@ -1961,7 +1961,7 @@ locals:[127],localNames:["_this","_this#type","#last_type"],
|
|
1961
1961
|
usesTag:1,
|
1962
1962
|
}
|
1963
1963
|
this.__Number_prototype_toExponential = {
|
1964
|
-
wasm:(_,{makeString,builtin,internalThrow})=>[[32,1],[65,1],[71],[32,1],[65,38],[71],[113],[4,64],...internalThrow(_,'TypeError',`Number.prototype.toExponential expects 'this' to be a Number`),[11],[32,0],[16,builtin('__Number_isFinite')],[68,0],[97],[4,64],[32,0],[16,builtin('__Number_isNaN')],[252,3],[4,64],...makeString(_,"NaN",1),[65,195,1],[15],[26],[11],[32,0],[68,"Infinity"],[97],[4,64],...makeString(_,"Infinity",1),[65,195,1],[15],[26],[11],...makeString(_,"-Infinity",1),[65,195,1],[15],[26],[11],[32,3],[184],[68,1],[98],[4,64],[68,0],[33,2],[65,128,1],[33,3],[5],[32,2],[68,0],[16,builtin('f64_|')],[33,2],[65,1],[33,3],[32,2],[68,0],[99],[34,4],[69],[4,127],[32,2],[68,100],[100],[65,2],[33,5],[5],[32,4],[65,2],[33,5],[11],[4,64],...internalThrow(_,'RangeError',`toExponential() fractionDigits argument must be between 0 and 100`),[26],[11],[11],[16,builtin('
|
1964
|
+
wasm:(_,{makeString,builtin,internalThrow})=>[[32,1],[65,1],[71],[32,1],[65,38],[71],[113],[4,64],...internalThrow(_,'TypeError',`Number.prototype.toExponential expects 'this' to be a Number`),[11],[32,0],[16,builtin('__Number_isFinite')],[68,0],[97],[4,64],[32,0],[16,builtin('__Number_isNaN')],[252,3],[4,64],...makeString(_,"NaN",1),[65,195,1],[15],[26],[11],[32,0],[68,"Infinity"],[97],[4,64],...makeString(_,"Infinity",1),[65,195,1],[15],[26],[11],...makeString(_,"-Infinity",1),[65,195,1],[15],[26],[11],[32,3],[184],[68,1],[98],[4,64],[68,0],[33,2],[65,128,1],[33,3],[5],[32,2],[68,0],[16,builtin('f64_|')],[33,2],[65,1],[33,3],[32,2],[68,0],[99],[34,4],[69],[4,127],[32,2],[68,100],[100],[65,2],[33,5],[5],[32,4],[65,2],[33,5],[11],[4,64],...internalThrow(_,'RangeError',`toExponential() fractionDigits argument must be between 0 and 100`),[26],[11],[11],[65,128,4],[16,builtin('__Porffor_allocateBytes')],[183],[34,6],[33,7],[32,0],[68,0],[99],[4,64],[32,0],[154],[33,0],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,45],[58,0,4],[11],[32,0],[33,8],[68,0],[33,9],[68,0],[33,10],[68,0],[33,11],[32,0],[68,0],[97],[4,64],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,48],[58,0,4],[32,2],[68,0],[100],[4,64],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,46],[58,0,4],[68,0],[33,14],[3,64],[32,14],[32,2],[99],[4,64],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,48],[58,0,4],[32,14],[68,1],[160],[33,14],[12,1],[11],[11],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,229,0],[58,0,4],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,43],[58,0,4],[5],[32,0],[68,1],[99],[4,64],[32,3],[184],[68,1],[98],[4,64],[68,1],[33,11],[3,64],[65,1],[4,64],[32,8],[68,10],[162],[34,8],[16,builtin('__Math_trunc')],[34,15],[68,0],[100],[4,64],[32,8],[32,15],[161],[68,1e-10],[99],[4,64],[12,2],[26],[11],[5],[32,11],[68,1],[160],[33,11],[11],[12,1],[11],[11],[5],[68,1],[33,11],[68,0],[33,14],[3,64],[32,14],[32,2],[101],[4,64],[32,8],[68,10],[162],[34,8],[16,builtin('__Math_trunc')],[34,15],[68,0],[97],[4,64],[32,11],[68,1],[160],[33,11],[5],[32,14],[68,1],[160],[33,14],[11],[12,1],[11],[11],[11],[3,64],[32,8],[68,0],[100],[4,64],[32,8],[68,10],[16,builtin('f64_%')],[33,16],[32,8],[68,10],[163],[16,builtin('__Math_trunc')],[33,8],[32,9],[32,10],[160],[252,2],[32,16],[252,2],[58,0,4],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[32,9],[32,10],[160],[33,12],[32,7],[32,10],[160],[33,13],[32,7],[68,1],[160],[33,17],[3,64],[32,7],[32,13],[99],[4,64],[32,12],[68,1],[161],[34,12],[252,2],[45,0,4],[183],[33,16],[32,7],[32,17],[97],[4,64],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,46],[58,0,4],[32,13],[68,1],[160],[33,13],[11],[32,16],[68,10],[99],[4,64],[32,16],[68,48],[160],[33,16],[5],[32,16],[68,87],[160],[33,16],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[32,16],[252,2],[58,0,4],[12,1],[11],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,229,0],[58,0,4],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,45],[58,0,4],[5],[68,-1],[33,11],[3,64],[32,8],[68,1],[102],[4,64],[32,8],[68,10],[163],[33,8],[32,11],[68,1],[160],[33,11],[12,1],[11],[11],[32,3],[184],[68,1],[98],[4,64],[3,64],[65,1],[4,64],[32,8],[68,10],[162],[34,8],[16,builtin('__Math_trunc')],[34,15],[68,0],[100],[4,64],[32,8],[32,15],[161],[68,1e-10],[99],[4,64],[12,2],[26],[11],[5],[32,11],[68,1],[160],[33,11],[11],[12,1],[11],[11],[5],[68,0],[33,14],[3,64],[32,14],[32,2],[101],[4,64],[32,8],[68,10],[162],[33,8],[32,14],[68,1],[160],[33,14],[12,1],[11],[11],[11],[32,8],[16,builtin('__Math_round')],[33,8],[3,64],[32,8],[68,0],[100],[4,64],[32,8],[68,10],[16,builtin('f64_%')],[33,16],[32,8],[68,10],[163],[16,builtin('__Math_trunc')],[33,8],[32,9],[32,10],[160],[252,2],[32,16],[252,2],[58,0,4],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[32,9],[32,10],[160],[33,12],[32,7],[32,10],[160],[33,13],[32,7],[68,1],[160],[33,17],[3,64],[32,7],[32,13],[99],[4,64],[32,7],[32,17],[97],[4,64],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,46],[58,0,4],[32,13],[68,1],[160],[33,13],[11],[32,12],[68,1],[161],[34,12],[252,2],[45,0,4],[183],[34,16],[68,10],[99],[4,64],[32,16],[68,48],[160],[33,16],[5],[32,16],[68,87],[160],[33,16],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[32,16],[252,2],[58,0,4],[12,1],[11],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,229,0],[58,0,4],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[65,43],[58,0,4],[11],[11],[32,11],[68,0],[97],[4,64],[32,9],[252,2],[65,0],[58,0,4],[68,1],[33,10],[5],[68,0],[33,10],[3,64],[32,11],[68,0],[100],[4,64],[32,9],[32,10],[160],[252,2],[32,11],[68,10],[16,builtin('f64_%')],[252,2],[58,0,4],[32,11],[68,10],[163],[16,builtin('__Math_trunc')],[33,11],[32,10],[68,1],[160],[33,10],[12,1],[11],[11],[11],[32,9],[32,10],[160],[33,12],[32,7],[32,10],[160],[33,13],[3,64],[32,7],[32,13],[99],[4,64],[32,12],[68,1],[161],[34,12],[252,2],[45,0,4],[183],[34,16],[68,10],[99],[4,64],[32,16],[68,48],[160],[33,16],[5],[32,16],[68,87],[160],[33,16],[11],[32,7],[32,7],[68,1],[160],[33,7],[252,2],[32,16],[252,2],[58,0,4],[12,1],[11],[11],[32,6],[252,3],[32,7],[32,6],[161],[252,3],[54,1,0],[32,6],[65,195,1],[15]],
|
1965
1965
|
params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1966
1966
|
locals:[127,127,124,124,124,124,124,124,124,124,124,124,124,124],localNames:["_this","_this#type","fractionDigits","fractionDigits#type","logictmpi","#last_type","out","outPtr","i","digits","l","e","digitsPtr","endPtr","j","intPart","digit","dotPlace"],
|
1967
1967
|
usedTypes:[195],
|
@@ -2948,14 +2948,14 @@ locals:[127,127,127,127],localNames:["_this","_this#type","vals","vals#type","ou
|
|
2948
2948
|
hasRestArgument:1,
|
2949
2949
|
}
|
2950
2950
|
this.__String_prototype_repeat = {
|
2951
|
-
wasm:(_,{builtin,internalThrow})=>[[32,2],[183],[32,3],[16,builtin('__ecma262_ToIntegerOrInfinity')],[33,5],[252,2],[34,4],[65,0],[72],[4,64],...internalThrow(_,'RangeError',`Invalid count value`),[26],[11],[16,builtin('__Porffor_allocate')],[33,6],[32,0],[40,1,0],[65,2],[108],[
|
2951
|
+
wasm:(_,{builtin,internalThrow})=>[[32,2],[183],[32,3],[16,builtin('__ecma262_ToIntegerOrInfinity')],[33,5],[252,2],[34,4],[65,0],[72],[4,64],...internalThrow(_,'RangeError',`Invalid count value`),[26],[11],[16,builtin('__Porffor_allocate')],[33,6],[32,0],[40,1,0],[65,2],[108],[34,7],[69],[4,64],[65,0],[65,195,1],[15],[26],[11],[65,0],[33,8],[3,64],[32,8],[32,4],[72],[4,64],[32,6],[65,4],[106],[32,8],[32,7],[108],[106],[32,0],[65,4],[106],[32,7],[252,10,0,0],[32,8],[65,1],[106],[33,8],[12,1],[11],[11],[32,6],[32,7],[32,4],[108],[54,0,0],[32,6],[65,195,0],[15]],
|
2952
2952
|
params:[127,127,127,127],typedParams:1,returns:[127,127],typedReturns:1,
|
2953
2953
|
locals:[127,127,127,127,127],localNames:["_this","_this#type","cnt","cnt#type","count","#last_type","out","thisLen","i"],
|
2954
|
-
usedTypes:[67],
|
2954
|
+
usedTypes:[195,67],
|
2955
2955
|
usesTag:1,
|
2956
2956
|
}
|
2957
2957
|
this.__ByteString_prototype_repeat = {
|
2958
|
-
wasm:(_,{builtin,internalThrow})=>[[32,2],[183],[32,3],[16,builtin('__ecma262_ToIntegerOrInfinity')],[33,5],[252,2],[34,4],[65,0],[72],[4,64],...internalThrow(_,'RangeError',`Invalid count value`),[26],[11],[16,builtin('__Porffor_allocate')],[33,6],[32,0],[40,1,0],[
|
2958
|
+
wasm:(_,{builtin,internalThrow})=>[[32,2],[183],[32,3],[16,builtin('__ecma262_ToIntegerOrInfinity')],[33,5],[252,2],[34,4],[65,0],[72],[4,64],...internalThrow(_,'RangeError',`Invalid count value`),[26],[11],[16,builtin('__Porffor_allocate')],[33,6],[32,0],[40,1,0],[34,7],[69],[4,64],[65,0],[65,195,1],[15],[26],[11],[65,0],[33,8],[3,64],[32,8],[32,4],[72],[4,64],[32,6],[65,4],[106],[32,8],[32,7],[108],[106],[32,0],[65,4],[106],[32,7],[252,10,0,0],[32,8],[65,1],[106],[33,8],[12,1],[11],[11],[32,6],[32,7],[32,4],[108],[54,0,0],[32,6],[65,195,1],[15]],
|
2959
2959
|
params:[127,127,127,127],typedParams:1,returns:[127,127],typedReturns:1,
|
2960
2960
|
locals:[127,127,127,127,127],localNames:["_this","_this#type","cnt","cnt#type","count","#last_type","out","thisLen","i"],
|
2961
2961
|
usedTypes:[195],
|
package/compiler/codegen.js
CHANGED
@@ -748,8 +748,20 @@ const concatStrings = (scope, left, right, leftType, rightType) => {
|
|
748
748
|
];
|
749
749
|
};
|
750
750
|
|
751
|
-
const compareStrings = (scope, left, right, leftType, rightType) => {
|
752
|
-
|
751
|
+
const compareStrings = (scope, left, right, leftType, rightType, noConv = false) => {
|
752
|
+
if (noConv) return [
|
753
|
+
...left,
|
754
|
+
Opcodes.i32_to_u,
|
755
|
+
...leftType,
|
756
|
+
|
757
|
+
...right,
|
758
|
+
Opcodes.i32_to_u,
|
759
|
+
...rightType,
|
760
|
+
|
761
|
+
[ Opcodes.call, includeBuiltin(scope, '__Porffor_strcmp').index ],
|
762
|
+
[ Opcodes.drop ]
|
763
|
+
];
|
764
|
+
|
753
765
|
return [
|
754
766
|
...left,
|
755
767
|
...(valtypeBinary === Valtype.i32 ? [ [ Opcodes.f64_convert_i32_s ] ] : []),
|
@@ -953,7 +965,7 @@ const nullish = (scope, wasm, type, intIn = false, intOut = false) => {
|
|
953
965
|
];
|
954
966
|
};
|
955
967
|
|
956
|
-
const performOp = (scope, op, left, right, leftType, rightType
|
968
|
+
const performOp = (scope, op, left, right, leftType, rightType) => {
|
957
969
|
if (op === '||' || op === '&&' || op === '??') {
|
958
970
|
return performLogicOp(scope, op, left, right, leftType, rightType);
|
959
971
|
}
|
@@ -967,8 +979,8 @@ const performOp = (scope, op, left, right, leftType, rightType, _global = false,
|
|
967
979
|
const startOut = [], endOut = [];
|
968
980
|
const finalize = out => startOut.concat(out, endOut);
|
969
981
|
|
970
|
-
// if strict (in)equal check types match
|
971
|
-
if (strictOp) {
|
982
|
+
// if strict (in)equal check types match, skip if known
|
983
|
+
if (strictOp && !(knownLeft && knownLeft === knownRight)) {
|
972
984
|
endOut.push(
|
973
985
|
...leftType,
|
974
986
|
number(TYPE_FLAGS.parity, Valtype.i32),
|
@@ -989,9 +1001,9 @@ const performOp = (scope, op, left, right, leftType, rightType, _global = false,
|
|
989
1001
|
// todo: if equality op and an operand is undefined, return false
|
990
1002
|
// todo: niche null hell with 0
|
991
1003
|
|
992
|
-
|
993
|
-
|
994
|
-
|
1004
|
+
const knownLeftStr = knownLeft === TYPES.string || knownLeft === TYPES.bytestring || knownLeft === TYPES.stringobject;
|
1005
|
+
const knownRightStr = knownRight === TYPES.string || knownRight === TYPES.bytestring || knownRight === TYPES.stringobject;
|
1006
|
+
if (knownLeftStr || knownRightStr) {
|
995
1007
|
if (op === '+') {
|
996
1008
|
// string concat (a + b)
|
997
1009
|
return concatStrings(scope, left, right, leftType, rightType);
|
@@ -1003,7 +1015,7 @@ const performOp = (scope, op, left, right, leftType, rightType, _global = false,
|
|
1003
1015
|
// string comparison
|
1004
1016
|
if (op === '===' || op === '==' || op === '!==' || op === '!=') {
|
1005
1017
|
return [
|
1006
|
-
...compareStrings(scope, left, right, leftType, rightType),
|
1018
|
+
...compareStrings(scope, left, right, leftType, rightType, knownLeftStr && knownRightStr),
|
1007
1019
|
...(op === '!==' || op === '!=' ? [ [ Opcodes.i32_eqz ] ] : [])
|
1008
1020
|
];
|
1009
1021
|
}
|
@@ -1116,7 +1128,7 @@ const knownNullish = decl => {
|
|
1116
1128
|
return false;
|
1117
1129
|
};
|
1118
1130
|
|
1119
|
-
const generateBinaryExp = (scope, decl
|
1131
|
+
const generateBinaryExp = (scope, decl) => {
|
1120
1132
|
if (decl.operator === 'instanceof') {
|
1121
1133
|
// try hacky version for built-ins first
|
1122
1134
|
const rightName = decl.right.name;
|
@@ -1192,7 +1204,7 @@ const generateBinaryExp = (scope, decl, _global, _name) => {
|
|
1192
1204
|
}
|
1193
1205
|
}
|
1194
1206
|
|
1195
|
-
const out = performOp(scope, decl.operator, generate(scope, decl.left), generate(scope, decl.right), getNodeType(scope, decl.left), getNodeType(scope, decl.right)
|
1207
|
+
const out = performOp(scope, decl.operator, generate(scope, decl.left), generate(scope, decl.right), getNodeType(scope, decl.left), getNodeType(scope, decl.right));
|
1196
1208
|
if (valtype !== 'i32' && ['==', '===', '!=', '!==', '>', '>=', '<', '<='].includes(decl.operator)) out.push(Opcodes.i32_from_u);
|
1197
1209
|
|
1198
1210
|
return out;
|
@@ -1282,8 +1294,8 @@ const asmFuncToAsm = (scope, func) => {
|
|
1282
1294
|
});
|
1283
1295
|
};
|
1284
1296
|
|
1285
|
-
const asmFunc = (name, { wasm, params = [], typedParams = false, locals: localTypes = [], globals: globalTypes = [], globalInits = [], returns = [], returnType, localNames = [], globalNames = [],
|
1286
|
-
if (wasm == null) { // called with no
|
1297
|
+
const asmFunc = (name, { wasm, params = [], typedParams = false, locals: localTypes = [], globals: globalTypes = [], globalInits = [], returns = [], returnType, localNames = [], globalNames = [], table = false, constr = false, hasRestArgument = false, usesTag = false, usesImports = false, usedTypes = [] } = {}) => {
|
1298
|
+
if (wasm == null) { // called with no built-in
|
1287
1299
|
log.warning('codegen', `${name} has no built-in!`);
|
1288
1300
|
wasm = [];
|
1289
1301
|
}
|
@@ -1291,17 +1303,10 @@ const asmFunc = (name, { wasm, params = [], typedParams = false, locals: localTy
|
|
1291
1303
|
const existing = funcByName(name);
|
1292
1304
|
if (existing) return existing;
|
1293
1305
|
|
1294
|
-
const nameParam = i => localNames[i] ?? `l${i}`;
|
1295
|
-
|
1296
1306
|
const allLocals = params.concat(localTypes);
|
1297
1307
|
const locals = {};
|
1298
1308
|
for (let i = 0; i < allLocals.length; i++) {
|
1299
|
-
locals[
|
1300
|
-
}
|
1301
|
-
|
1302
|
-
for (const x in _data) {
|
1303
|
-
if (data.find(y => y.page === x)) return;
|
1304
|
-
data.push({ page: x, bytes: _data[x] });
|
1309
|
+
locals[localNames[i] ?? `l${i}`] = { idx: i, type: allLocals[i] };
|
1305
1310
|
}
|
1306
1311
|
|
1307
1312
|
const func = {
|
@@ -1314,9 +1319,8 @@ const asmFunc = (name, { wasm, params = [], typedParams = false, locals: localTy
|
|
1314
1319
|
returnType,
|
1315
1320
|
internal: true,
|
1316
1321
|
index: currentFuncIndex++,
|
1317
|
-
|
1318
|
-
constr,
|
1319
|
-
globalInits
|
1322
|
+
globalInits,
|
1323
|
+
constr, table, usesImports, hasRestArgument
|
1320
1324
|
};
|
1321
1325
|
|
1322
1326
|
funcs.push(func);
|
@@ -1327,42 +1331,29 @@ const asmFunc = (name, { wasm, params = [], typedParams = false, locals: localTy
|
|
1327
1331
|
else wasm = asmFuncToAsm(func, wasm);
|
1328
1332
|
}
|
1329
1333
|
|
1330
|
-
let baseGlobalIdx, i = 0;
|
1331
|
-
for (const type of globalTypes) {
|
1332
|
-
if (baseGlobalIdx === undefined) baseGlobalIdx = globals['#ind'];
|
1333
|
-
|
1334
|
-
globals[globalNames[i] ?? `${name}_global_${i}`] = { idx: globals['#ind']++, type, init: globalInits[i] ?? 0 };
|
1335
|
-
i++;
|
1336
|
-
}
|
1337
|
-
|
1338
1334
|
if (globalTypes.length !== 0) {
|
1339
1335
|
// offset global ops for base global idx
|
1340
|
-
|
1341
|
-
|
1342
|
-
|
1343
|
-
|
1336
|
+
let baseGlobalIdx, i = 0;
|
1337
|
+
for (const type of globalTypes) {
|
1338
|
+
if (baseGlobalIdx === undefined) baseGlobalIdx = globals['#ind'];
|
1339
|
+
|
1340
|
+
globals[globalNames[i] ?? `${name}_global_${i}`] = { idx: globals['#ind']++, type, init: globalInits[i] ?? 0 };
|
1341
|
+
i++;
|
1344
1342
|
}
|
1345
|
-
}
|
1346
1343
|
|
1347
|
-
|
1348
|
-
|
1349
|
-
if (inst
|
1350
|
-
inst
|
1351
|
-
inst.push(...unsignedLEB128(allocPage({ scope: func, pages }, 'func lut')));
|
1344
|
+
for (let i = 0; i < wasm.length; i++) {
|
1345
|
+
const inst = wasm[i];
|
1346
|
+
if (inst[0] === Opcodes.global_get || inst[0] === Opcodes.global_set) {
|
1347
|
+
inst[1] += baseGlobalIdx;
|
1352
1348
|
}
|
1353
1349
|
}
|
1354
|
-
|
1355
|
-
funcs.table = true;
|
1356
1350
|
}
|
1357
1351
|
|
1358
|
-
if (
|
1352
|
+
if (table) funcs.table = true;
|
1359
1353
|
if (usesTag) ensureTag();
|
1360
|
-
if (usesImports) func.usesImports = true;
|
1361
|
-
|
1362
1354
|
for (const x of usedTypes) typeUsed(func, x);
|
1363
1355
|
|
1364
1356
|
func.wasm = wasm;
|
1365
|
-
|
1366
1357
|
return func;
|
1367
1358
|
};
|
1368
1359
|
|
@@ -3746,7 +3737,7 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
|
|
3746
3737
|
], generate(scope, decl.right), [
|
3747
3738
|
[ Opcodes.local_get, pointerTmp ],
|
3748
3739
|
[ Opcodes.i32_load8_u, 0, ValtypeSize.i32 + ValtypeSize[valtype] ]
|
3749
|
-
], getNodeType(scope, decl.right)
|
3740
|
+
], getNodeType(scope, decl.right))),
|
3750
3741
|
...optional([ Opcodes.local_tee, newValueTmp ]),
|
3751
3742
|
[ Opcodes.store, 0, ValtypeSize.i32 ],
|
3752
3743
|
|
@@ -3766,7 +3757,7 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
|
|
3766
3757
|
[ Opcodes.local_get, pointerTmp ],
|
3767
3758
|
[ Opcodes.i32_load8_u, 0, 4 ],
|
3768
3759
|
Opcodes.i32_from_u
|
3769
|
-
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right)
|
3760
|
+
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right))),
|
3770
3761
|
...optional([ Opcodes.local_tee, newValueTmp ]),
|
3771
3762
|
|
3772
3763
|
Opcodes.i32_to_u,
|
@@ -3780,7 +3771,7 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
|
|
3780
3771
|
[ Opcodes.local_get, pointerTmp ],
|
3781
3772
|
[ Opcodes.i32_load8_u, 0, 4 ],
|
3782
3773
|
Opcodes.i32_from_u
|
3783
|
-
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right)
|
3774
|
+
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right))),
|
3784
3775
|
...optional([ Opcodes.local_tee, newValueTmp ]),
|
3785
3776
|
|
3786
3777
|
number(0),
|
@@ -3798,7 +3789,7 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
|
|
3798
3789
|
[ Opcodes.local_get, pointerTmp ],
|
3799
3790
|
[ Opcodes.i32_load8_s, 0, 4 ],
|
3800
3791
|
Opcodes.i32_from
|
3801
|
-
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right)
|
3792
|
+
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right))),
|
3802
3793
|
...optional([ Opcodes.local_tee, newValueTmp ]),
|
3803
3794
|
|
3804
3795
|
Opcodes.i32_to,
|
@@ -3814,7 +3805,7 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
|
|
3814
3805
|
[ Opcodes.local_get, pointerTmp ],
|
3815
3806
|
[ Opcodes.i32_load16_u, 0, 4 ],
|
3816
3807
|
Opcodes.i32_from_u
|
3817
|
-
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right)
|
3808
|
+
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right))),
|
3818
3809
|
...optional([ Opcodes.local_tee, newValueTmp ]),
|
3819
3810
|
|
3820
3811
|
Opcodes.i32_to_u,
|
@@ -3830,7 +3821,7 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
|
|
3830
3821
|
[ Opcodes.local_get, pointerTmp ],
|
3831
3822
|
[ Opcodes.i32_load16_s, 0, 4 ],
|
3832
3823
|
Opcodes.i32_from
|
3833
|
-
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right)
|
3824
|
+
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right))),
|
3834
3825
|
...optional([ Opcodes.local_tee, newValueTmp ]),
|
3835
3826
|
|
3836
3827
|
Opcodes.i32_to,
|
@@ -3846,7 +3837,7 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
|
|
3846
3837
|
[ Opcodes.local_get, pointerTmp ],
|
3847
3838
|
[ Opcodes.i32_load, 0, 4 ],
|
3848
3839
|
Opcodes.i32_from_u
|
3849
|
-
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right)
|
3840
|
+
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right))),
|
3850
3841
|
...optional([ Opcodes.local_tee, newValueTmp ]),
|
3851
3842
|
|
3852
3843
|
Opcodes.i32_to_u,
|
@@ -3862,7 +3853,7 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
|
|
3862
3853
|
[ Opcodes.local_get, pointerTmp ],
|
3863
3854
|
[ Opcodes.i32_load, 0, 4 ],
|
3864
3855
|
Opcodes.i32_from
|
3865
|
-
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right)
|
3856
|
+
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right))),
|
3866
3857
|
...optional([ Opcodes.local_tee, newValueTmp ]),
|
3867
3858
|
|
3868
3859
|
Opcodes.i32_to,
|
@@ -3878,7 +3869,7 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
|
|
3878
3869
|
[ Opcodes.local_get, pointerTmp ],
|
3879
3870
|
[ Opcodes.f32_load, 0, 4 ],
|
3880
3871
|
[ Opcodes.f64_promote_f32 ]
|
3881
|
-
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right)
|
3872
|
+
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right))),
|
3882
3873
|
...optional([ Opcodes.local_tee, newValueTmp ]),
|
3883
3874
|
|
3884
3875
|
[ Opcodes.f32_demote_f64 ],
|
@@ -3893,7 +3884,7 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
|
|
3893
3884
|
...(op === '=' ? generate(scope, decl.right) : performOp(scope, op, [
|
3894
3885
|
[ Opcodes.local_get, pointerTmp ],
|
3895
3886
|
[ Opcodes.f64_load, 0, 4 ]
|
3896
|
-
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right)
|
3887
|
+
], generate(scope, decl.right), [ number(TYPES.number, Valtype.i32) ], getNodeType(scope, decl.right))),
|
3897
3888
|
...optional([ Opcodes.local_tee, newValueTmp ]),
|
3898
3889
|
|
3899
3890
|
[ Opcodes.f64_store, 0, 4 ]
|
@@ -3940,7 +3931,7 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
|
|
3940
3931
|
|
3941
3932
|
[ Opcodes.call, includeBuiltin(scope, '__Porffor_object_get').index ],
|
3942
3933
|
...setLastType(scope)
|
3943
|
-
], generate(scope, decl.right), getLastType(scope), getNodeType(scope, decl.right)
|
3934
|
+
], generate(scope, decl.right), getLastType(scope), getNodeType(scope, decl.right))),
|
3944
3935
|
...getNodeType(scope, decl),
|
3945
3936
|
|
3946
3937
|
[ Opcodes.call, includeBuiltin(scope, scope.strict ? '__Porffor_object_setStrict' : '__Porffor_object_set').index ],
|
@@ -4029,7 +4020,7 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
|
|
4029
4020
|
...generate(scope, decl.right, isGlobal, name),
|
4030
4021
|
[ isGlobal ? Opcodes.global_set : Opcodes.local_set, local.idx ],
|
4031
4022
|
[ isGlobal ? Opcodes.global_get : Opcodes.local_get, local.idx ]
|
4032
|
-
], getType(scope, name), getNodeType(scope, decl.right)
|
4023
|
+
], getType(scope, name), getNodeType(scope, decl.right)),
|
4033
4024
|
|
4034
4025
|
...setType(scope, name, getLastType(scope), true)
|
4035
4026
|
];
|
@@ -4037,7 +4028,9 @@ const generateAssign = (scope, decl, _global, _name, valueUnused = false) => {
|
|
4037
4028
|
|
4038
4029
|
const out = setLocalWithType(
|
4039
4030
|
scope, name, isGlobal,
|
4040
|
-
performOp(scope, op, [
|
4031
|
+
performOp(scope, op, [
|
4032
|
+
[ isGlobal ? Opcodes.global_get : Opcodes.local_get, local.idx ]
|
4033
|
+
], generate(scope, decl.right), getType(scope, name), getNodeType(scope, decl.right)),
|
4041
4034
|
!valueUnused,
|
4042
4035
|
getNodeType(scope, decl)
|
4043
4036
|
);
|
package/compiler/disassemble.js
CHANGED
@@ -140,4 +140,4 @@ export const highlightAsm = asm => asm
|
|
140
140
|
.replace(/(block|loop|if|end|else|try|catch_all|catch|delegate)/g, _ => `\x1B[95m${_}\x1B[0m`)
|
141
141
|
.replace(/unreachable/g, _ => `\x1B[91m${_}\x1B[0m`)
|
142
142
|
.replace(/ \-?[0-9\.]+/g, _ => ` \x1B[33m${_.slice(1)}\x1B[0m`)
|
143
|
-
.replace(/;;.*$/gm, _ => `\x1B[
|
143
|
+
.replace(/;;.*$/gm, _ => `\x1B[2m${_.replaceAll(/\x1B\[[0-9]+m/g, '')}\x1B[0m`);
|
package/compiler/index.js
CHANGED
@@ -36,7 +36,7 @@ const progressStart = msg => {
|
|
36
36
|
|
37
37
|
const log = (extra, after) => {
|
38
38
|
const pre = extra ? `${extra}` : spinner[spin++ % 4];
|
39
|
-
process.stdout.write(`\r\u001b[
|
39
|
+
process.stdout.write(`\r\u001b[2m${' '.repeat(120)}\r${' '.repeat(12 - pre.length)}${pre} ${msg}${after ?? ''}\u001b[0m`);
|
40
40
|
};
|
41
41
|
log();
|
42
42
|
|
@@ -49,7 +49,7 @@ const progressDone = (msg, start) => {
|
|
49
49
|
clearInterval(progressInterval);
|
50
50
|
|
51
51
|
const timeStr = (performance.now() - start).toFixed(0);
|
52
|
-
console.log(`\r${' '.repeat(120)}\r\u001b[
|
52
|
+
console.log(`\r${' '.repeat(120)}\r\u001b[2m${' '.repeat(10 - timeStr.length)}${timeStr}ms\u001b[0m \u001b[92m${msg}\u001b[0m`);
|
53
53
|
progressLines++;
|
54
54
|
};
|
55
55
|
const progressClear = () => {
|
@@ -214,7 +214,7 @@ export default (code, module = undefined) => {
|
|
214
214
|
if (logProgress) {
|
215
215
|
const total = performance.now();
|
216
216
|
progressClear();
|
217
|
-
console.log(`\u001b[
|
217
|
+
console.log(`\u001b[2m[${total.toFixed(0)}ms]\u001b[0m \u001b[32mcompiled ${globalThis.file} \u001b[90m->\u001b[0m \u001b[92m${outFile}\u001b[90m (${(fs.statSync(outFile).size / 1000).toFixed(1)}KB)\u001b[0m`);
|
218
218
|
}
|
219
219
|
|
220
220
|
if (process.version) process.exit();
|
@@ -233,7 +233,7 @@ export default (code, module = undefined) => {
|
|
233
233
|
if (logProgress) {
|
234
234
|
const total = performance.now();
|
235
235
|
progressClear();
|
236
|
-
console.log(`\u001b[
|
236
|
+
console.log(`\u001b[2m[${total.toFixed(0)}ms]\u001b[0m \u001b[32mcompiled ${globalThis.file} \u001b[90m->\u001b[0m \u001b[92m${outFile}\u001b[90m (${(fs.statSync(outFile).size / 1000).toFixed(1)}KB)\u001b[0m`);
|
237
237
|
}
|
238
238
|
|
239
239
|
if (process.version) process.exit();
|
@@ -293,7 +293,7 @@ export default (code, module = undefined) => {
|
|
293
293
|
if (logProgress) {
|
294
294
|
const total = performance.now();
|
295
295
|
progressClear();
|
296
|
-
console.log(`\u001b[
|
296
|
+
console.log(`\u001b[2m[${total.toFixed(0)}ms]\u001b[0m \u001b[32mcompiled ${globalThis.file} \u001b[90m->\u001b[0m \u001b[92m${outFile}\u001b[90m (${(fs.statSync(outFile).size / 1000).toFixed(1)}KB)\u001b[0m`);
|
297
297
|
}
|
298
298
|
|
299
299
|
process.exit();
|
package/compiler/precompile.js
CHANGED
@@ -205,11 +205,11 @@ const precompile = async () => {
|
|
205
205
|
throw e;
|
206
206
|
}
|
207
207
|
|
208
|
-
process.stdout.write(`\r${' '.repeat(80)}\r\u001b[
|
208
|
+
process.stdout.write(`\r${' '.repeat(80)}\r\u001b[2m${`[${(performance.now() - t).toFixed(2)}ms]`.padEnd(12, ' ')}\u001b[0m\u001b[92m${file}\u001b[0m\r`);
|
209
209
|
}
|
210
210
|
|
211
211
|
const total = performance.now() - t;
|
212
|
-
console.log(`\r${' '.repeat(80)}\r\u001b[
|
212
|
+
console.log(`\r${' '.repeat(80)}\r\u001b[2m${`[${total.toFixed(2)}ms]`.padEnd(12, ' ')}\u001b[0m\u001b[92mcompiled ${fileCount} files/${funcs.length} funcs\u001b[0m \u001b[90m(${['parse', 'codegen', 'opt'].map(x => `${x}: ${((timing[x] / total) * 100).toFixed(0)}%`).join(', ')})\u001b[0m`);
|
213
213
|
|
214
214
|
const comptimeFlagChecks = {
|
215
215
|
hasFunc: x => `hasFunc('${x}')`
|
package/compiler/wrap.js
CHANGED
@@ -364,7 +364,7 @@ export default (source, module = undefined, customImports = {}, print = str => p
|
|
364
364
|
}
|
365
365
|
|
366
366
|
const disasm = disassemble(func.wasm.slice(min, max), func.name, 0, func.locals, func.params, func.returns, funcs, globals, exceptions)
|
367
|
-
.slice(0, -1).split('\n').filter(x => !x.startsWith('\x1B[
|
367
|
+
.slice(0, -1).split('\n').filter(x => !x.startsWith('\x1B[2m;;'));
|
368
368
|
|
369
369
|
const noAnsi = s => s && s.replace(/\u001b\[[0-9]+m/g, '');
|
370
370
|
let longest = 0;
|
@@ -377,9 +377,9 @@ export default (source, module = undefined, customImports = {}, print = str => p
|
|
377
377
|
disasm[middle] = `\x1B[47m\x1B[30m${noAnsi(disasm[middle])}${'\u00a0'.repeat(longest - noAnsi(disasm[middle]).length)}\x1B[0m`;
|
378
378
|
}
|
379
379
|
|
380
|
-
if (min != 0) console.log('\x1B[
|
380
|
+
if (min != 0) console.log('\x1B[2m...\x1B[0m');
|
381
381
|
console.log(disasm.join('\n'));
|
382
|
-
if (max > func.wasm.length) console.log('\x1B[
|
382
|
+
if (max > func.wasm.length) console.log('\x1B[2m...\x1B[0m\n');
|
383
383
|
};
|
384
384
|
|
385
385
|
const backtrace = (funcInd, blobOffset) => {
|
package/package.json
CHANGED
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.55.
|
3
|
+
globalThis.version = '0.55.12';
|
4
4
|
|
5
5
|
// deno compat
|
6
6
|
if (typeof process === 'undefined' && typeof Deno !== 'undefined') {
|
@@ -9,7 +9,7 @@ if (typeof process === 'undefined' && typeof Deno !== 'undefined') {
|
|
9
9
|
|
10
10
|
const start = performance.now();
|
11
11
|
|
12
|
-
if (process.argv.includes('--help')) {
|
12
|
+
if (process.argv.includes('--help') || process.argv.includes('-h')) {
|
13
13
|
// description + version
|
14
14
|
console.log(`\x1B[1m\x1B[35mPorffor\x1B[0m is a JavaScript/TypeScript engine/compiler/runtime. \x1B[2m(${globalThis.version})\x1B[0m`);
|
15
15
|
|
@@ -40,7 +40,7 @@ if (process.argv.includes('--help')) {
|
|
40
40
|
|
41
41
|
if (cmd.length > 0) post = ' ' + post;
|
42
42
|
|
43
|
-
console.log(` \x1B[
|
43
|
+
console.log(` \x1B[2mporf\x1B[0m \x1B[1m\x1B[${color}m${cmd}\x1B[0m${post} ${' '.repeat(30 - cmd.length - post.length)}${desc}`);
|
44
44
|
}
|
45
45
|
|
46
46
|
// flags
|
@@ -61,15 +61,15 @@ if (process.argv.includes('--help')) {
|
|
61
61
|
for (let [ flag, desc ] of Object.entries({
|
62
62
|
f: 'Print disassembled Wasm generated from user functions',
|
63
63
|
pgo: 'Enable PGO (profile-guided optimization)',
|
64
|
-
|
65
|
-
valtype: 'Valtype to use (i32|i64|\x1B[1mf64\x1B[0m)',
|
66
|
-
prng: 'PRNG algorithm to use (lcg32|xorshift32+|xorshift64+|\x1B[1mxorshift128+\x1B[0m|xoroshiro128+|xoshiro128+)',
|
67
|
-
allocator: 'Allocator to use (oneshot|\x1B[1mchunk\x1B[0m)',
|
68
|
-
'exception-mode': 'Exception mode to use (lut|\x1B[1mstack\x1B[0m)',
|
69
|
-
fastLength: 'Spec non-compliant optimization to make .length faster',
|
64
|
+
valtype: 'Valtype to use, not well supported (i32|i64|\x1B[1mf64\x1B[0m)',
|
70
65
|
'no-coctc': 'Disable COCTC (cross-object compile-time cache)',
|
71
66
|
cyclone: 'Enable experimental Cyclone optimizer',
|
72
|
-
'no-treeshake-wasm-imports': 'Do not treeshake Wasm imports'
|
67
|
+
'no-treeshake-wasm-imports': 'Do not treeshake Wasm imports',
|
68
|
+
allocator: 'Allocator to use (oneshot|\x1B[1mchunk\x1B[0m)',
|
69
|
+
'exception-mode': 'Exception mode to use (lut|\x1B[1mstack\x1B[0m)',
|
70
|
+
'fast-length': 'Non-compliant optimization to make .length faster',
|
71
|
+
'profile-compiler': 'Log general compiler performance (on by default when compiling to a file)',
|
72
|
+
prng: 'PRNG algorithm to use (lcg32|xorshift32+|xorshift64+|\x1B[1mxorshift128+\x1B[0m|xoroshiro128+|xoshiro128+)'
|
73
73
|
})) {
|
74
74
|
flag = '-' + flag;
|
75
75
|
if (flag.length > 3) flag = '-' + flag;
|
@@ -77,7 +77,7 @@ if (process.argv.includes('--help')) {
|
|
77
77
|
console.log(` \x1B[1m${flag}\x1B[0m${' '.repeat(36 - flag.length)}${desc}`);
|
78
78
|
}
|
79
79
|
} else {
|
80
|
-
console.log(` \x1B[2m(To view all flags use --flags)\x1B[0m`);
|
80
|
+
console.log(` \x1B[2m(To view all flags also use --flags)\x1B[0m`);
|
81
81
|
}
|
82
82
|
|
83
83
|
console.log();
|
package/runner/repl.js
CHANGED
@@ -29,8 +29,8 @@ if (host.startsWith('Node')) host = '\x1B[92m' + host;
|
|
29
29
|
if (host.startsWith('Deno')) host = '\x1B[97m' + host;
|
30
30
|
if (host.startsWith('Bun')) host = '\x1B[93m' + host;
|
31
31
|
|
32
|
-
console.log(`Welcome to \x1B[1m\x1B[35mPorffor\x1B[0m \x1B[
|
33
|
-
console.log(`\x1B[90musing opt ${process.argv.find(x => x.startsWith('-O')) ?? '-O1'}, parser ${parser}, valtype ${valtype}\x1B[0m`);
|
32
|
+
console.log(`Welcome to \x1B[1m\x1B[35mPorffor\x1B[0m \x1B[2m(${globalThis.version})\x1B[0m running on \x1B[1m${host.replace('/', ' \x1B[0m\x1B[2m(')})\x1B[0m`);
|
33
|
+
// console.log(`\x1B[90musing opt ${process.argv.find(x => x.startsWith('-O')) ?? '-O1'}, parser ${parser}, valtype ${valtype}\x1B[0m`);
|
34
34
|
console.log();
|
35
35
|
|
36
36
|
let lastMemory, lastPages;
|
package/r.js
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
// Copyright (c) 2012 Ecma International. All rights reserved.
|
2
|
-
// This code is governed by the BSD license found in the LICENSE file.
|
3
|
-
|
4
|
-
/*---
|
5
|
-
esid: sec-array.prototype.every
|
6
|
-
description: >
|
7
|
-
Array.prototype.every - value of 'length' is an Object which has
|
8
|
-
an own toString method
|
9
|
-
---*/
|
10
|
-
|
11
|
-
function callbackfn1(val, idx, obj) {
|
12
|
-
return val > 10;
|
13
|
-
}
|
14
|
-
|
15
|
-
function callbackfn2(val, idx, obj) {
|
16
|
-
return val > 11;
|
17
|
-
}
|
18
|
-
|
19
|
-
var toStringAccessed = false;
|
20
|
-
var obj = {
|
21
|
-
0: 12,
|
22
|
-
1: 11,
|
23
|
-
2: 9,
|
24
|
-
|
25
|
-
length: {
|
26
|
-
toString: function() {
|
27
|
-
toStringAccessed = true;
|
28
|
-
return '2';
|
29
|
-
}
|
30
|
-
}
|
31
|
-
};
|
32
|
-
Array.from(obj)
|