porffor 0.16.0-6572d1c74 → 0.16.0-688a50c13
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/CONTRIBUTING.md +1 -1
- package/a.txt +457 -0
- package/b.txt +457 -0
- package/compiler/allocators/grow.js +26 -0
- package/compiler/allocators/index.js +10 -0
- package/compiler/allocators/static.js +42 -0
- package/compiler/builtins/date.ts +2 -4
- package/compiler/builtins/set.ts +2 -4
- package/compiler/codegen.js +197 -293
- package/compiler/cyclone.js +11 -11
- package/compiler/generated_builtins.js +18 -18
- package/compiler/index.js +16 -3
- package/compiler/opt.js +7 -5
- package/compiler/parse.js +1 -1
- package/compiler/pgo.js +8 -8
- package/compiler/precompile.js +11 -6
- package/compiler/prefs.js +1 -1
- package/compiler/prototype.js +34 -43
- package/compiler/wrap.js +16 -16
- package/package.json +3 -5
- package/runner/index.js +8 -3
package/compiler/cyclone.js
CHANGED
@@ -246,7 +246,7 @@ export default wasm => {
|
|
246
246
|
const [ b, a ] = pop2();
|
247
247
|
const v = bool(a === b);
|
248
248
|
|
249
|
-
replaceVal(v, Valtype.
|
249
|
+
replaceVal(v, Valtype.i32);
|
250
250
|
push(v);
|
251
251
|
break;
|
252
252
|
}
|
@@ -255,7 +255,7 @@ export default wasm => {
|
|
255
255
|
const [ b, a ] = pop2();
|
256
256
|
const v = bool(a !== b);
|
257
257
|
|
258
|
-
replaceVal(v, Valtype.
|
258
|
+
replaceVal(v, Valtype.i32);
|
259
259
|
push(v);
|
260
260
|
break;
|
261
261
|
}
|
@@ -264,7 +264,7 @@ export default wasm => {
|
|
264
264
|
const [ b, a ] = pop2();
|
265
265
|
const v = bool(a < b);
|
266
266
|
|
267
|
-
replaceVal(v, Valtype.
|
267
|
+
replaceVal(v, Valtype.i32);
|
268
268
|
push(v);
|
269
269
|
break;
|
270
270
|
}
|
@@ -273,7 +273,7 @@ export default wasm => {
|
|
273
273
|
const [ b, a ] = pop2();
|
274
274
|
const v = bool(a <= b);
|
275
275
|
|
276
|
-
replaceVal(v, Valtype.
|
276
|
+
replaceVal(v, Valtype.i32);
|
277
277
|
push(v);
|
278
278
|
break;
|
279
279
|
}
|
@@ -282,7 +282,7 @@ export default wasm => {
|
|
282
282
|
const [ b, a ] = pop2();
|
283
283
|
const v = bool(a > b);
|
284
284
|
|
285
|
-
replaceVal(v, Valtype.
|
285
|
+
replaceVal(v, Valtype.i32);
|
286
286
|
push(v);
|
287
287
|
break;
|
288
288
|
}
|
@@ -291,7 +291,7 @@ export default wasm => {
|
|
291
291
|
const [ b, a ] = pop2();
|
292
292
|
const v = bool(a >= b);
|
293
293
|
|
294
|
-
replaceVal(v, Valtype.
|
294
|
+
replaceVal(v, Valtype.i32);
|
295
295
|
push(v);
|
296
296
|
break;
|
297
297
|
}
|
@@ -404,7 +404,7 @@ export default wasm => {
|
|
404
404
|
case Opcodes.f64_max: {
|
405
405
|
if (stack.length < 2) { empty(); break; };
|
406
406
|
const [ b, a ] = pop2();
|
407
|
-
const v = a
|
407
|
+
const v = Math.max(a, b);
|
408
408
|
|
409
409
|
replaceVal(v, Valtype.f64);
|
410
410
|
push(v);
|
@@ -467,9 +467,9 @@ export default wasm => {
|
|
467
467
|
// i32.const 1
|
468
468
|
// i32.add
|
469
469
|
// local.set 7 ;; $i (i32)
|
470
|
-
if (
|
471
|
-
(opcode >= 0xa0 && opcode <= 0xa3) || // main f64 math op
|
472
|
-
(opcode >= 0x61 && opcode <= 0x66) // main f64 eq op
|
470
|
+
if (i >= 2 &&
|
471
|
+
((opcode >= 0xa0 && opcode <= 0xa3) || // main f64 math op
|
472
|
+
(opcode >= 0x61 && opcode <= 0x66)) // main f64 eq op
|
473
473
|
) {
|
474
474
|
const o2 = wasm[i - 1][0];
|
475
475
|
if (o2 === Opcodes.f64_const) { // f64.const
|
@@ -500,7 +500,7 @@ export default wasm => {
|
|
500
500
|
}
|
501
501
|
}
|
502
502
|
|
503
|
-
if ((opcode === 0xfc02 || opcode === 0xfc03) && i
|
503
|
+
if ((opcode === 0xfc02 || opcode === 0xfc03) && i >= 3) { // i32.trunc_sat_f64_s/u
|
504
504
|
const o2 = wasm[i - 1][0];
|
505
505
|
if (
|
506
506
|
(o2 >= 0xa0 && o2 <= 0xa3) || // main f64 math op
|
@@ -709,7 +709,7 @@ export const BuiltinFuncs = function() {
|
|
709
709
|
localNames: ["string","string#type","chr"],
|
710
710
|
};
|
711
711
|
this.__Porffor_date_allocate = {
|
712
|
-
wasm: (scope, {allocPage,}) => [...number(allocPage(scope, 'bytestring: __Porffor_date_allocate/hack', 'i8') * pageSize, 124),[34,0],[252,3],[40,1,0],[184],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,0],[252,3],[65,1],[64,0],[26],[
|
712
|
+
wasm: (scope, {allocPage,}) => [...number(allocPage(scope, 'bytestring: __Porffor_date_allocate/hack', 'i8') * pageSize, 124),[34,0],[252,3],[40,1,0],[184],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,0],[252,3],[63,0],[65,1],[64,0],[26],[65,128,128,4],[108],[184],[34,1],[252,3],[54,1,0],[11],[32,0],[252,3],[40,1,0],[184],[33,2],[32,0],[252,3],[32,2],[68,0,0,0,0,0,0,32,64],[160],[34,1],[252,3],[54,1,0],[32,2],[15]],
|
713
713
|
params: [],
|
714
714
|
typedParams: true,
|
715
715
|
returns: [124],
|
@@ -1358,7 +1358,7 @@ export const BuiltinFuncs = function() {
|
|
1358
1358
|
localNames: ["message","message#type","#last_type"],
|
1359
1359
|
};
|
1360
1360
|
this.escape = {
|
1361
|
-
wasm: (scope, {allocPage,}) => [...number(allocPage(scope, 'bytestring: escape/lut', 'i8') * pageSize, 127),[33,2],[32,0],[40,1,0],[34,3],[33,4],[32,0],[33,5],[32,1],[65,18],[70],[4,64],[32,5],[32,3],[106],[33,6],[3,64],[32,5],[32,6],[72],[4,64],[32,5],[32,5],[65,1],[106],[33,5],[45,0,4],[34,7],[65,128,1],[72],[4,64],[32,2],[32,7],[106],[45,0,4],[4,64],[12,3],[11],[11],[32,4],[65,2],[106],[33,4],[12,1],[11],[11],[32,4],[32,3],[70],[4,64],[32,0],[15],[11],...number(allocPage(scope, 'bytestring: escape/output', 'i8') * pageSize, 127),[34,8],[32,4],[34,9],[54,1,0],[32,0],[33,5],[32,8],[33,10],[3,64],[32,5],[32,6],[72],[4,64],[32,5],[32,5],[65,1],[106],[33,5],[45,0,4],[34,7],[65,128,1],[72],[4,64],[32,2],[32,7],[106],[45,0,4],[4,64],[32,10],[32,10],[65,1],[106],[33,10],[32,7],[58,0,4],[12,3],[11],[11],[32,10],[32,10],[65,1],[106],[33,10],[65,37],[58,0,4],[32,7],[65,15],[113],[65,48],[106],[34,11],[65,57],[74],[4,64],[32,11],[65,7],[106],[33,11],[11],[32,7],[65,4],[117],[65,48],[106],[34,12],[65,57],[74],[4,64],[32,12],[65,7],[106],[33,12],[11],[32,10],[32,10],[65,1],[106],[33,10],[32,12],[58,0,4],[32,10],[32,10],[65,1],[106],[33,10],[32,11],[58,0,4],[12,1],[11],[11],[32,8],[15],[11],[32,5],[32,3],[65,2],[108],[106],[33,6],[3,64],[32,5],[32,6],[72],[4,64],[32,5],[47,0,4],[33,7],[32,5],[65,2],[106],[33,5],[32,7],[65,128,1],[72],[4,64],[32,2],[32,7],[106],[45,0,4],[4,64],[12,3],[11],[11],[32,7],[65,128,2],[72],[4,64],[32,4],[65,2],[106],[33,4],[5],[32,4],[65,5],[106],[33,4],[11],[12,1],[11],[11],[32,4],[32,3],[70],[4,64],[32,0],[15],[11],[
|
1361
|
+
wasm: (scope, {allocPage,}) => [...number(allocPage(scope, 'bytestring: escape/lut', 'i8') * pageSize, 127),[33,2],[32,0],[40,1,0],[34,3],[33,4],[32,0],[33,5],[32,1],[65,18],[70],[4,64],[32,5],[32,3],[106],[33,6],[3,64],[32,5],[32,6],[72],[4,64],[32,5],[32,5],[65,1],[106],[33,5],[45,0,4],[34,7],[65,128,1],[72],[4,64],[32,2],[32,7],[106],[45,0,4],[4,64],[12,3],[11],[11],[32,4],[65,2],[106],[33,4],[12,1],[11],[11],[32,4],[32,3],[70],[4,64],[32,0],[15],[11],...number(allocPage(scope, 'bytestring: escape/output', 'i8') * pageSize, 127),[34,8],[32,4],[34,9],[54,1,0],[32,0],[33,5],[32,8],[33,10],[3,64],[32,5],[32,6],[72],[4,64],[32,5],[32,5],[65,1],[106],[33,5],[45,0,4],[34,7],[65,128,1],[72],[4,64],[32,2],[32,7],[106],[45,0,4],[4,64],[32,10],[32,10],[65,1],[106],[33,10],[32,7],[58,0,4],[12,3],[11],[11],[32,10],[32,10],[65,1],[106],[33,10],[65,37],[58,0,4],[32,7],[65,15],[113],[65,48],[106],[34,11],[65,57],[74],[4,64],[32,11],[65,7],[106],[33,11],[11],[32,7],[65,4],[117],[65,48],[106],[34,12],[65,57],[74],[4,64],[32,12],[65,7],[106],[33,12],[11],[32,10],[32,10],[65,1],[106],[33,10],[32,12],[58,0,4],[32,10],[32,10],[65,1],[106],[33,10],[32,11],[58,0,4],[12,1],[11],[11],[32,8],[15],[11],[32,5],[32,3],[65,2],[108],[106],[33,6],[3,64],[32,5],[32,6],[72],[4,64],[32,5],[47,0,4],[33,7],[32,5],[65,2],[106],[33,5],[32,7],[65,128,1],[72],[4,64],[32,2],[32,7],[106],[45,0,4],[4,64],[12,3],[11],[11],[32,7],[65,128,2],[72],[4,64],[32,4],[65,2],[106],[33,4],[5],[32,4],[65,5],[106],[33,4],[11],[12,1],[11],[11],[32,4],[32,3],[70],[4,64],[32,0],[15],[11],[32,8],[34,13],[65,0],[54,1,0],[32,13],[34,8],[32,4],[34,9],[54,1,0],[32,0],[33,5],[32,8],[33,10],[3,64],[32,5],[32,6],[72],[4,64],[32,5],[47,0,4],[33,7],[32,5],[65,2],[106],[33,5],[32,7],[65,128,1],[72],[4,64],[32,2],[32,7],[106],[45,0,4],[4,64],[32,10],[32,10],[65,1],[106],[33,10],[32,7],[58,0,4],[12,3],[11],[11],[32,7],[65,128,2],[72],[4,64],[32,10],[32,10],[65,1],[106],[33,10],[65,37],[58,0,4],[32,7],[65,15],[113],[65,48],[106],[34,11],[65,57],[74],[4,64],[32,11],[65,7],[106],[33,11],[11],[32,7],[65,4],[117],[65,48],[106],[34,12],[65,57],[74],[4,64],[32,12],[65,7],[106],[33,12],[11],[32,10],[32,10],[65,1],[106],[33,10],[32,12],[58,0,4],[32,10],[32,10],[65,1],[106],[33,10],[32,11],[58,0,4],[5],[32,10],[65,165,234,1],[59,0,4],[32,10],[65,2],[106],[33,10],[32,7],[65,12],[117],[65,15],[113],[65,48],[106],[34,14],[65,57],[74],[4,64],[32,14],[65,7],[106],[33,14],[11],[32,10],[32,10],[65,1],[106],[33,10],[32,14],[58,0,4],[32,7],[65,8],[117],[65,15],[113],[65,48],[106],[34,14],[65,57],[74],[4,64],[32,14],[65,7],[106],[33,14],[11],[32,10],[32,10],[65,1],[106],[33,10],[32,14],[58,0,4],[32,7],[65,4],[117],[65,15],[113],[65,48],[106],[34,14],[65,57],[74],[4,64],[32,14],[65,7],[106],[33,14],[11],[32,10],[32,10],[65,1],[106],[33,10],[32,14],[58,0,4],[32,7],[65,15],[113],[65,48],[106],[34,14],[65,57],[74],[4,64],[32,14],[65,7],[106],[33,14],[11],[32,10],[32,10],[65,1],[106],[33,10],[32,14],[58,0,4],[11],[12,1],[11],[11],[32,8],[15]],
|
1362
1362
|
params: [127,127],
|
1363
1363
|
typedParams: true,
|
1364
1364
|
returns: [127],
|
@@ -1378,13 +1378,13 @@ export const BuiltinFuncs = function() {
|
|
1378
1378
|
data: [{"offset":0,"bytes":[14,0,0,0,102,117,110,99,116,105,111,110,32,40,41,32,123,125]}],
|
1379
1379
|
};
|
1380
1380
|
this.parseInt = {
|
1381
|
-
wasm: (scope, {builtin,}) => [[32,2],[65,0],[16, builtin('__Porffor_rawType')],[68,0,0,0,0,0,0,0,0],[98],[4,64],[68,0,0,0,0,0,0,36,64],[33,2],[11],[32,2],[68,0,0,0,0,0,0,0,0],[97],[4,64],[68,0,0,0,0,0,0,36,64],[33,2],[11],[32,2],[68,0,0,0,0,0,0,0,64],[99],[34,4],[69],[4,127],[32,2],[68,0,0,0,0,0,0,66,64],[100],[65,1],[33,5],[5],[32,4],[65,1],[33,5],[11],[4,64],[68,0,0,0,0,0,0,248,127],[15],[11],[68,0,0,0,0,0,0,77,64],[33,
|
1381
|
+
wasm: (scope, {builtin,}) => [[32,2],[65,0],[16, builtin('__Porffor_rawType')],[68,0,0,0,0,0,0,0,0],[98],[4,64],[68,0,0,0,0,0,0,36,64],[33,2],[11],[32,2],[68,0,0,0,0,0,0,0,0],[97],[4,64],[68,0,0,0,0,0,0,36,64],[33,2],[11],[32,2],[68,0,0,0,0,0,0,0,64],[99],[34,4],[69],[4,127],[32,2],[68,0,0,0,0,0,0,66,64],[100],[65,1],[33,5],[5],[32,4],[65,1],[33,5],[11],[183],[33,6],[32,5],[33,7],[2,127],[32,7],[65,2],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,18],[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,0,0,0,0,0,0,248,127],[15],[11],[68,0,0,0,0,0,0,77,64],[33,8],[32,2],[68,0,0,0,0,0,0,36,64],[99],[4,64],[68,0,0,0,0,0,0,72,64],[32,2],[160],[33,8],[11],[68,0,0,0,0,0,0,248,127],[33,9],[32,0],[34,10],[252,2],[40,0,0],[183],[33,11],[32,10],[33,12],[68,0,0,0,0,0,0,0,0],[33,13],[32,0],[32,1],[16, builtin('__Porffor_rawType')],[68,0,0,0,0,0,0,50,64],[97],[4,64],[32,12],[32,11],[160],[33,14],[32,12],[252,2],[45,0,4],[183],[34,15],[68,0,0,0,0,0,128,69,64],[97],[4,64],[32,12],[68,0,0,0,0,0,0,240,63],[160],[33,12],[11],[32,15],[68,0,0,0,0,0,128,70,64],[97],[4,64],[68,0,0,0,0,0,0,240,63],[33,13],[32,12],[68,0,0,0,0,0,0,240,63],[160],[33,12],[11],[32,15],[68,0,0,0,0,0,0,72,64],[97],[4,64],[32,12],[68,0,0,0,0,0,0,240,63],[160],[252,2],[45,0,4],[183],[34,16],[68,0,0,0,0,0,0,94,64],[97],[34,4],[69],[4,127],[32,16],[68,0,0,0,0,0,0,86,64],[97],[65,1],[33,5],[5],[32,4],[65,1],[33,5],[11],[183],[33,6],[32,5],[33,7],[2,127],[32,7],[65,2],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,18],[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,12],[68,0,0,0,0,0,0,0,64],[160],[33,12],[68,0,0,0,0,0,0,48,64],[33,2],[11],[11],[3,64],[32,12],[32,14],[99],[4,64],[32,12],[32,12],[68,0,0,0,0,0,0,240,63],[160],[33,12],[252,2],[45,0,4],[183],[34,17],[68,0,0,0,0,0,0,72,64],[102],[34,4],[4,127],[32,17],[32,8],[99],[65,1],[33,5],[5],[32,4],[65,1],[33,5],[11],[183],[33,6],[32,5],[33,7],[2,127],[32,7],[65,2],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,18],[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,9],[16, builtin('__Number_isNaN')],[252,3],[4,64],[68,0,0,0,0,0,0,0,0],[33,9],[11],[32,9],[32,2],[162],[34,9],[32,17],[68,0,0,0,0,0,0,72,64],[161],[160],[33,9],[5],[32,2],[68,0,0,0,0,0,0,36,64],[100],[4,64],[32,17],[68,0,0,0,0,0,64,88,64],[102],[34,4],[4,127],[32,17],[68,0,0,0,0,0,192,85,64],[32,2],[160],[99],[65,1],[33,5],[5],[32,4],[65,1],[33,5],[11],[183],[33,6],[32,5],[33,7],[2,127],[32,7],[65,2],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,18],[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,9],[16, builtin('__Number_isNaN')],[252,3],[4,64],[68,0,0,0,0,0,0,0,0],[33,9],[11],[32,9],[32,2],[162],[34,9],[32,17],[68,0,0,0,0,0,192,85,64],[161],[160],[33,9],[5],[32,17],[68,0,0,0,0,0,64,80,64],[102],[34,4],[4,127],[32,17],[68,0,0,0,0,0,128,75,64],[32,2],[160],[99],[65,1],[33,5],[5],[32,4],[65,1],[33,5],[11],[183],[33,6],[32,5],[33,7],[2,127],[32,7],[65,2],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,18],[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,9],[16, builtin('__Number_isNaN')],[252,3],[4,64],[68,0,0,0,0,0,0,0,0],[33,9],[11],[32,9],[32,2],[162],[34,9],[32,17],[68,0,0,0,0,0,128,75,64],[161],[160],[33,9],[5],[32,13],[252,3],[4,64],[32,9],[154],[15],[11],[32,9],[15],[11],[11],[5],[32,13],[252,3],[4,64],[32,9],[154],[15],[11],[32,9],[15],[11],[11],[12,1],[11],[11],[32,13],[252,3],[4,64],[32,9],[154],[15],[11],[32,9],[15],[11],[32,12],[32,11],[68,0,0,0,0,0,0,0,64],[162],[160],[33,14],[32,12],[252,2],[47,0,4],[183],[34,15],[68,0,0,0,0,0,128,69,64],[97],[4,64],[32,12],[68,0,0,0,0,0,0,0,64],[160],[33,12],[11],[32,15],[68,0,0,0,0,0,128,70,64],[97],[4,64],[68,0,0,0,0,0,0,240,63],[33,13],[32,12],[68,0,0,0,0,0,0,0,64],[160],[33,12],[11],[32,15],[68,0,0,0,0,0,0,72,64],[97],[4,64],[32,12],[68,0,0,0,0,0,0,0,64],[160],[252,2],[47,0,4],[183],[34,16],[68,0,0,0,0,0,0,94,64],[97],[34,4],[69],[4,127],[32,16],[68,0,0,0,0,0,0,86,64],[97],[65,1],[33,5],[5],[32,4],[65,1],[33,5],[11],[183],[33,6],[32,5],[33,7],[2,127],[32,7],[65,2],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,18],[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,12],[68,0,0,0,0,0,0,16,64],[160],[33,12],[68,0,0,0,0,0,0,48,64],[33,2],[11],[11],[3,64],[32,12],[32,14],[99],[4,64],[32,12],[252,2],[47,0,4],[183],[33,17],[32,12],[68,0,0,0,0,0,0,0,64],[160],[33,12],[32,17],[68,0,0,0,0,0,0,72,64],[102],[34,4],[4,127],[32,17],[32,8],[99],[65,1],[33,5],[5],[32,4],[65,1],[33,5],[11],[183],[33,6],[32,5],[33,7],[2,127],[32,7],[65,2],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,18],[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,9],[16, builtin('__Number_isNaN')],[252,3],[4,64],[68,0,0,0,0,0,0,0,0],[33,9],[11],[32,9],[32,2],[162],[34,9],[32,17],[68,0,0,0,0,0,0,72,64],[161],[160],[33,9],[5],[32,2],[68,0,0,0,0,0,0,36,64],[100],[4,64],[32,17],[68,0,0,0,0,0,64,88,64],[102],[34,4],[4,127],[32,17],[68,0,0,0,0,0,192,85,64],[32,2],[160],[99],[65,1],[33,5],[5],[32,4],[65,1],[33,5],[11],[183],[33,6],[32,5],[33,7],[2,127],[32,7],[65,2],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,18],[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,9],[16, builtin('__Number_isNaN')],[252,3],[4,64],[68,0,0,0,0,0,0,0,0],[33,9],[11],[32,9],[32,2],[162],[34,9],[32,17],[68,0,0,0,0,0,192,85,64],[161],[160],[33,9],[5],[32,17],[68,0,0,0,0,0,64,80,64],[102],[34,4],[4,127],[32,17],[68,0,0,0,0,0,128,75,64],[32,2],[160],[99],[65,1],[33,5],[5],[32,4],[65,1],[33,5],[11],[183],[33,6],[32,5],[33,7],[2,127],[32,7],[65,2],[70],[4,64,"TYPESWITCH|String"],[32,6],[252,3],[40,1,0],[12,1],[11],[32,7],[65,18],[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,9],[16, builtin('__Number_isNaN')],[252,3],[4,64],[68,0,0,0,0,0,0,0,0],[33,9],[11],[32,9],[32,2],[162],[34,9],[32,17],[68,0,0,0,0,0,128,75,64],[161],[160],[33,9],[5],[32,13],[252,3],[4,64],[32,9],[154],[15],[11],[32,9],[15],[11],[11],[5],[32,13],[252,3],[4,64],[32,9],[154],[15],[11],[32,9],[15],[11],[11],[12,1],[11],[11],[32,13],[252,3],[4,64],[32,9],[154],[15],[11],[32,9],[15]],
|
1382
1382
|
params: [124,127,124,127],
|
1383
1383
|
typedParams: true,
|
1384
1384
|
returns: [124],
|
1385
1385
|
returnType: 0,
|
1386
|
-
locals: [127,127,124,124,124,124,124,124,124,124,124,124],
|
1387
|
-
localNames: ["input","input#type","radix","radix#type","logictmpi","#last_type","nMax","n","inputPtr","len","i","negative","endPtr","startChr","second","chr"],
|
1386
|
+
locals: [127,127,124,127,124,124,124,124,124,124,124,124,124,124],
|
1387
|
+
localNames: ["input","input#type","radix","radix#type","logictmpi","#last_type","#logicinner_tmp","#typeswitch_tmp","nMax","n","inputPtr","len","i","negative","endPtr","startChr","second","chr"],
|
1388
1388
|
};
|
1389
1389
|
this.__Math_exp = {
|
1390
1390
|
wasm: (scope, {builtin,}) => [[32,0],[16, builtin('__Number_isFinite')],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,0],[68,0,0,0,0,0,0,240,127],[154],[97],[4,64],[68,0,0,0,0,0,0,0,0],[15],[11],[32,0],[15],[11],[32,0],[68,0,0,0,0,0,0,0,0],[99],[4,64],[68,0,0,0,0,0,0,240,63],[32,0],[154],[65,0],[16, builtin('__Math_exp')],[163],[15],[11],[32,0],[68,239,57,250,254,66,46,230,63],[163],[16, builtin('__Math_floor')],[33,2],[32,0],[32,2],[68,239,57,250,254,66,46,230,63],[162],[161],[34,3],[33,4],[68,0,0,0,0,0,0,240,63],[32,3],[160],[33,5],[68,0,0,0,0,0,0,0,64],[33,6],[3,64],[32,4],[16, builtin('__Math_abs')],[68,22,86,231,158,175,3,210,60],[100],[4,64],[32,4],[32,3],[32,6],[163],[162],[33,4],[32,5],[32,4],[160],[33,5],[32,6],[68,0,0,0,0,0,0,240,63],[160],[33,6],[12,1],[11],[11],[32,5],[68,0,0,0,0,0,0,240,63],[32,2],[16, builtin('f64_<<')],[162],[15]],
|
@@ -1594,31 +1594,31 @@ export const BuiltinFuncs = function() {
|
|
1594
1594
|
localNames: ["y","y#type","x","x#type","ratio","ratio#type"],
|
1595
1595
|
};
|
1596
1596
|
this.__Number_prototype_toString = {
|
1597
|
-
wasm: (scope, {allocPage,builtin,internalThrow,}) => [...number(allocPage(scope, 'bytestring: __Number_prototype_toString/out', 'i8') * pageSize, 124),[34,4],[33,5],[32,0],[16, builtin('__Number_isFinite')],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,0],[16, builtin('__Number_isNaN')],[252,3],[4,64],[32,4],[252,3],[34,6],[65,3],[54,1,0],[32,6],[65,206,0],[58,0,4],[32,6],[65,225,0],[58,0,5],[32,6],[65,206,0],[58,0,6],[32,6],[184],[33,4],[5],[32,0],[68,0,0,0,0,0,0,240,127],[97],[4,64],[32,4],[252,3],[34,6],[65,8],[54,1,0],[32,6],[65,201,0],[58,0,4],[32,6],[65,238,0],[58,0,5],[32,6],[65,230,0],[58,0,6],[32,6],[65,233,0],[58,0,7],[32,6],[65,238,0],[58,0,8],[32,6],[65,233,0],[58,0,9],[32,6],[65,244,0],[58,0,10],[32,6],[65,249,0],[58,0,11],[32,6],[184],[33,4],[5],[32,4],[252,3],[34,6],[65,9],[54,1,0],[32,6],[65,45],[58,0,4],[32,6],[65,201,0],[58,0,5],[32,6],[65,238,0],[58,0,6],[32,6],[65,230,0],[58,0,7],[32,6],[65,233,0],[58,0,8],[32,6],[65,238,0],[58,0,9],[32,6],[65,233,0],[58,0,10],[32,6],[65,244,0],[58,0,11],[32,6],[65,249,0],[58,0,12],[32,6],[184],[33,4],[11],[11],[32,4],[65,18],[15],[11],[32,2],[32,3],[16, builtin('__Porffor_rawType')],[68,0,0,0,0,0,0,0,0],[98],[4,64],[68,0,0,0,0,0,0,36,64],[34,2],[65,0],[33,3],[26],[11],[32,2],[68,0,0,0,0,0,0,0,0],[16, builtin('f64_|')],[34,2],[65,0],[33,3],[26],[32,2],[68,0,0,0,0,0,0,0,64],[99],[34,7],[69],[4,127],[32,2],[68,0,0,0,0,0,0,66,64],[100],[65,1],[33,8],[5],[32,7],[65,1],[33,8],[11],[4,64],...internalThrow(scope, 'RangeError', `toString() radix argument must be between 2 and 36`),[11],[32,0],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,4],[252,3],[34,6],[65,1],[54,1,0],[32,6],[65,48],[58,0,4],[32,6],[184],[34,4],[65,18],[15],[11],[32,0],[68,0,0,0,0,0,0,0,0],[99],[4,64],[32,0],[154],[33,0],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,45],[58,0,4],[11],[32,0],[16, builtin('__Math_trunc')],[33,
|
1597
|
+
wasm: (scope, {allocPage,builtin,internalThrow,}) => [...number(allocPage(scope, 'bytestring: __Number_prototype_toString/out', 'i8') * pageSize, 124),[34,4],[33,5],[32,0],[16, builtin('__Number_isFinite')],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,0],[16, builtin('__Number_isNaN')],[252,3],[4,64],[32,4],[252,3],[34,6],[65,3],[54,1,0],[32,6],[65,206,0],[58,0,4],[32,6],[65,225,0],[58,0,5],[32,6],[65,206,0],[58,0,6],[32,6],[184],[33,4],[5],[32,0],[68,0,0,0,0,0,0,240,127],[97],[4,64],[32,4],[252,3],[34,6],[65,8],[54,1,0],[32,6],[65,201,0],[58,0,4],[32,6],[65,238,0],[58,0,5],[32,6],[65,230,0],[58,0,6],[32,6],[65,233,0],[58,0,7],[32,6],[65,238,0],[58,0,8],[32,6],[65,233,0],[58,0,9],[32,6],[65,244,0],[58,0,10],[32,6],[65,249,0],[58,0,11],[32,6],[184],[33,4],[5],[32,4],[252,3],[34,6],[65,9],[54,1,0],[32,6],[65,45],[58,0,4],[32,6],[65,201,0],[58,0,5],[32,6],[65,238,0],[58,0,6],[32,6],[65,230,0],[58,0,7],[32,6],[65,233,0],[58,0,8],[32,6],[65,238,0],[58,0,9],[32,6],[65,233,0],[58,0,10],[32,6],[65,244,0],[58,0,11],[32,6],[65,249,0],[58,0,12],[32,6],[184],[33,4],[11],[11],[32,4],[65,18],[15],[11],[32,2],[32,3],[16, builtin('__Porffor_rawType')],[68,0,0,0,0,0,0,0,0],[98],[4,64],[68,0,0,0,0,0,0,36,64],[34,2],[65,0],[33,3],[26],[11],[32,2],[68,0,0,0,0,0,0,0,0],[16, builtin('f64_|')],[34,2],[65,0],[33,3],[26],[32,2],[68,0,0,0,0,0,0,0,64],[99],[34,7],[69],[4,127],[32,2],[68,0,0,0,0,0,0,66,64],[100],[65,1],[33,8],[5],[32,7],[65,1],[33,8],[11],[183],[33,9],[32,8],[33,10],[2,127],[32,10],[65,2],[70],[4,64,"TYPESWITCH|String"],[32,9],[252,3],[40,1,0],[12,1],[11],[32,10],[65,18],[70],[4,64,"TYPESWITCH|ByteString"],[32,9],[252,3],[40,1,0],[12,1],[11],[32,9],[252,3],[11,"TYPESWITCH_end"],[4,64],...internalThrow(scope, 'RangeError', `toString() radix argument must be between 2 and 36`),[11],[32,0],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,4],[252,3],[34,6],[65,1],[54,1,0],[32,6],[65,48],[58,0,4],[32,6],[184],[34,4],[65,18],[15],[11],[32,0],[68,0,0,0,0,0,0,0,0],[99],[4,64],[32,0],[154],[33,0],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,45],[58,0,4],[11],[32,0],[16, builtin('__Math_trunc')],[33,11],...number(allocPage(scope, 'bytestring: __Number_prototype_toString/digits', 'i8') * pageSize, 124),[33,12],[68,0,0,0,0,0,0,0,0],[33,13],[32,2],[68,0,0,0,0,0,0,36,64],[97],[4,64],[32,11],[68,80,239,226,214,228,26,75,68],[102],[4,64],[68,0,0,0,0,0,0,240,63],[33,14],[68,0,0,0,0,0,0,240,191],[33,15],[3,64],[32,11],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,11],[32,2],[16, builtin('f64_%')],[33,16],[32,11],[32,2],[163],[16, builtin('__Math_trunc')],[33,11],[32,15],[68,0,0,0,0,0,0,240,63],[160],[33,15],[32,14],[252,3],[4,64],[32,16],[68,0,0,0,0,0,0,0,0],[97],[4,64],[12,3],[11],[68,0,0,0,0,0,0,0,0],[33,14],[11],[32,12],[32,13],[160],[252,2],[32,16],[252,2],[58,0,4],[32,13],[68,0,0,0,0,0,0,240,63],[160],[33,13],[12,1],[11],[11],[32,12],[32,13],[160],[33,17],[32,5],[32,13],[160],[33,18],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,19],[3,64],[32,5],[32,18],[99],[4,64],[32,5],[32,19],[97],[4,64],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,46],[58,0,4],[32,18],[68,0,0,0,0,0,0,240,63],[160],[33,18],[11],[32,17],[68,0,0,0,0,0,0,240,63],[161],[34,17],[252,2],[45,0,4],[183],[34,16],[68,0,0,0,0,0,0,36,64],[99],[4,64],[32,16],[68,0,0,0,0,0,0,72,64],[160],[33,16],[5],[32,16],[68,0,0,0,0,0,192,85,64],[160],[33,16],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[32,16],[252,2],[58,0,4],[12,1],[11],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,229,0],[58,0,4],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,43],[58,0,4],[68,0,0,0,0,0,0,0,0],[33,13],[3,64],[32,15],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,12],[32,13],[160],[252,2],[32,15],[32,2],[16, builtin('f64_%')],[252,2],[58,0,4],[32,15],[32,2],[163],[16, builtin('__Math_trunc')],[33,15],[32,13],[68,0,0,0,0,0,0,240,63],[160],[33,13],[12,1],[11],[11],[32,12],[32,13],[160],[33,17],[32,5],[32,13],[160],[33,18],[3,64],[32,5],[32,18],[99],[4,64],[32,17],[68,0,0,0,0,0,0,240,63],[161],[34,17],[252,2],[45,0,4],[183],[34,16],[68,0,0,0,0,0,0,36,64],[99],[4,64],[32,16],[68,0,0,0,0,0,0,72,64],[160],[33,16],[5],[32,16],[68,0,0,0,0,0,192,85,64],[160],[33,16],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[32,16],[252,2],[58,0,4],[12,1],[11],[11],[32,4],[252,3],[32,5],[32,4],[161],[34,20],[252,3],[54,1,0],[32,4],[65,18],[15],[11],[32,0],[68,141,237,181,160,247,198,176,62],[99],[4,64],[32,0],[33,21],[68,0,0,0,0,0,0,240,63],[33,15],[3,64],[65,1],[4,64],[32,21],[32,2],[162],[34,21],[16, builtin('__Math_trunc')],[34,22],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,21],[32,22],[161],[68,187,189,215,217,223,124,219,61],[99],[4,64],[12,2],[11],[5],[32,15],[68,0,0,0,0,0,0,240,63],[160],[33,15],[11],[12,1],[11],[11],[3,64],[32,21],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,21],[32,2],[16, builtin('f64_%')],[33,16],[32,21],[32,2],[163],[16, builtin('__Math_trunc')],[33,21],[32,12],[32,13],[160],[252,2],[32,16],[252,2],[58,0,4],[32,13],[68,0,0,0,0,0,0,240,63],[160],[33,13],[12,1],[11],[11],[32,12],[32,13],[160],[33,17],[32,5],[32,13],[160],[33,18],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,19],[3,64],[32,5],[32,18],[99],[4,64],[32,17],[68,0,0,0,0,0,0,240,63],[161],[34,17],[252,2],[45,0,4],[183],[33,16],[32,5],[32,19],[97],[4,64],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,46],[58,0,4],[32,18],[68,0,0,0,0,0,0,240,63],[160],[33,18],[11],[32,16],[68,0,0,0,0,0,0,36,64],[99],[4,64],[32,16],[68,0,0,0,0,0,0,72,64],[160],[33,16],[5],[32,16],[68,0,0,0,0,0,192,85,64],[160],[33,16],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[32,16],[252,2],[58,0,4],[12,1],[11],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,229,0],[58,0,4],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,45],[58,0,4],[68,0,0,0,0,0,0,0,0],[33,13],[3,64],[32,15],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,12],[32,13],[160],[252,2],[32,15],[32,2],[16, builtin('f64_%')],[252,2],[58,0,4],[32,15],[32,2],[163],[16, builtin('__Math_trunc')],[33,15],[32,13],[68,0,0,0,0,0,0,240,63],[160],[33,13],[12,1],[11],[11],[32,12],[32,13],[160],[33,17],[32,5],[32,13],[160],[33,18],[3,64],[32,5],[32,18],[99],[4,64],[32,17],[68,0,0,0,0,0,0,240,63],[161],[34,17],[252,2],[45,0,4],[183],[34,16],[68,0,0,0,0,0,0,36,64],[99],[4,64],[32,16],[68,0,0,0,0,0,0,72,64],[160],[33,16],[5],[32,16],[68,0,0,0,0,0,192,85,64],[160],[33,16],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[32,16],[252,2],[58,0,4],[12,1],[11],[11],[32,4],[252,3],[32,5],[32,4],[161],[34,20],[252,3],[54,1,0],[32,4],[65,18],[15],[11],[11],[32,11],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,12],[252,2],[65,0],[58,0,4],[68,0,0,0,0,0,0,240,63],[33,13],[5],[3,64],[32,11],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,12],[32,13],[160],[252,2],[32,11],[32,2],[16, builtin('f64_%')],[252,2],[58,0,4],[32,11],[32,2],[163],[16, builtin('__Math_trunc')],[33,11],[32,13],[68,0,0,0,0,0,0,240,63],[160],[33,13],[12,1],[11],[11],[11],[32,12],[32,13],[160],[33,17],[32,5],[32,13],[160],[33,18],[3,64],[32,5],[32,18],[99],[4,64],[32,17],[68,0,0,0,0,0,0,240,63],[161],[34,17],[252,2],[45,0,4],[183],[34,16],[68,0,0,0,0,0,0,36,64],[99],[4,64],[32,16],[68,0,0,0,0,0,0,72,64],[160],[33,16],[5],[32,16],[68,0,0,0,0,0,192,85,64],[160],[33,16],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[32,16],[252,2],[58,0,4],[12,1],[11],[11],[32,0],[32,0],[16, builtin('__Math_trunc')],[161],[34,21],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,46],[58,0,4],[32,21],[68,0,0,0,0,0,0,240,63],[160],[33,21],[68,0,0,0,0,0,0,48,64],[32,13],[161],[33,23],[68,0,0,0,0,0,0,0,0],[33,24],[3,64],[32,24],[32,23],[99],[4,64],[32,21],[32,2],[162],[33,21],[32,24],[68,0,0,0,0,0,0,240,63],[160],[33,24],[12,1],[11],[11],[32,21],[16, builtin('__Math_round')],[33,21],[68,0,0,0,0,0,0,0,0],[33,13],[68,0,0,0,0,0,0,240,63],[33,14],[3,64],[32,21],[68,0,0,0,0,0,0,240,63],[100],[4,64],[32,21],[32,2],[16, builtin('f64_%')],[33,16],[32,21],[32,2],[163],[16, builtin('__Math_trunc')],[33,21],[32,14],[252,3],[4,64],[32,16],[68,0,0,0,0,0,0,0,0],[97],[4,64],[12,3],[11],[68,0,0,0,0,0,0,0,0],[33,14],[11],[32,12],[32,13],[160],[252,2],[32,16],[252,2],[58,0,4],[32,13],[68,0,0,0,0,0,0,240,63],[160],[33,13],[12,1],[11],[11],[32,12],[32,13],[160],[33,17],[32,5],[32,13],[160],[33,18],[3,64],[32,5],[32,18],[99],[4,64],[32,17],[68,0,0,0,0,0,0,240,63],[161],[34,17],[252,2],[45,0,4],[183],[34,16],[68,0,0,0,0,0,0,36,64],[99],[4,64],[32,16],[68,0,0,0,0,0,0,72,64],[160],[33,16],[5],[32,16],[68,0,0,0,0,0,192,85,64],[160],[33,16],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[32,16],[252,2],[58,0,4],[12,1],[11],[11],[11],[32,4],[252,3],[32,5],[32,4],[161],[34,20],[252,3],[54,1,0],[32,4],[65,18],[15]],
|
1598
1598
|
params: [124,127,124,127],
|
1599
1599
|
typedParams: true,
|
1600
1600
|
returns: [124,127],
|
1601
1601
|
typedReturns: true,
|
1602
|
-
locals: [124,124,127,127,127,124,124,124,124,124,124,124,124,124,124,124,124,124,124],
|
1603
|
-
localNames: ["_this","_this#type","radix","radix#type","out","outPtr","#makearray_pointer_tmp","logictmpi","#last_type","i","digits","l","trailing","e","digit","digitsPtr","endPtr","dotPlace","__length_setter_tmp","decimal","intPart","decimalDigits","j"],
|
1602
|
+
locals: [124,124,127,127,127,124,127,124,124,124,124,124,124,124,124,124,124,124,124,124,124],
|
1603
|
+
localNames: ["_this","_this#type","radix","radix#type","out","outPtr","#makearray_pointer_tmp","logictmpi","#last_type","#logicinner_tmp","#typeswitch_tmp","i","digits","l","trailing","e","digit","digitsPtr","endPtr","dotPlace","__length_setter_tmp","decimal","intPart","decimalDigits","j"],
|
1604
1604
|
};
|
1605
1605
|
this.__Number_prototype_toFixed = {
|
1606
|
-
wasm: (scope, {allocPage,builtin,internalThrow,}) => [...number(allocPage(scope, 'bytestring: __Number_prototype_toFixed/out', 'i8') * pageSize, 124),[34,4],[33,5],[32,0],[16, builtin('__Number_isFinite')],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,0],[16, builtin('__Number_isNaN')],[252,3],[4,64],[32,4],[252,3],[34,6],[65,3],[54,1,0],[32,6],[65,206,0],[58,0,4],[32,6],[65,225,0],[58,0,5],[32,6],[65,206,0],[58,0,6],[32,6],[184],[33,4],[5],[32,0],[68,0,0,0,0,0,0,240,127],[97],[4,64],[32,4],[252,3],[34,6],[65,8],[54,1,0],[32,6],[65,201,0],[58,0,4],[32,6],[65,238,0],[58,0,5],[32,6],[65,230,0],[58,0,6],[32,6],[65,233,0],[58,0,7],[32,6],[65,238,0],[58,0,8],[32,6],[65,233,0],[58,0,9],[32,6],[65,244,0],[58,0,10],[32,6],[65,249,0],[58,0,11],[32,6],[184],[33,4],[5],[32,4],[252,3],[34,6],[65,9],[54,1,0],[32,6],[65,45],[58,0,4],[32,6],[65,201,0],[58,0,5],[32,6],[65,238,0],[58,0,6],[32,6],[65,230,0],[58,0,7],[32,6],[65,233,0],[58,0,8],[32,6],[65,238,0],[58,0,9],[32,6],[65,233,0],[58,0,10],[32,6],[65,244,0],[58,0,11],[32,6],[65,249,0],[58,0,12],[32,6],[184],[33,4],[11],[11],[32,4],[65,18],[15],[11],[32,2],[68,0,0,0,0,0,0,0,0],[16, builtin('f64_|')],[34,2],[68,0,0,0,0,0,0,0,0],[99],[34,7],[69],[4,127],[32,2],[68,0,0,0,0,0,0,89,64],[100],[65,1],[33,8],[5],[32,7],[65,1],[33,8],[11],[4,64],...internalThrow(scope, 'RangeError', `toFixed() fractionDigits argument must be between 0 and 100`),[11],[32,0],[68,0,0,0,0,0,0,0,0],[99],[4,64],[32,0],[154],[33,0],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,45],[58,0,4],[11],[32,0],[16, builtin('__Math_trunc')],[33,
|
1606
|
+
wasm: (scope, {allocPage,builtin,internalThrow,}) => [...number(allocPage(scope, 'bytestring: __Number_prototype_toFixed/out', 'i8') * pageSize, 124),[34,4],[33,5],[32,0],[16, builtin('__Number_isFinite')],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,0],[16, builtin('__Number_isNaN')],[252,3],[4,64],[32,4],[252,3],[34,6],[65,3],[54,1,0],[32,6],[65,206,0],[58,0,4],[32,6],[65,225,0],[58,0,5],[32,6],[65,206,0],[58,0,6],[32,6],[184],[33,4],[5],[32,0],[68,0,0,0,0,0,0,240,127],[97],[4,64],[32,4],[252,3],[34,6],[65,8],[54,1,0],[32,6],[65,201,0],[58,0,4],[32,6],[65,238,0],[58,0,5],[32,6],[65,230,0],[58,0,6],[32,6],[65,233,0],[58,0,7],[32,6],[65,238,0],[58,0,8],[32,6],[65,233,0],[58,0,9],[32,6],[65,244,0],[58,0,10],[32,6],[65,249,0],[58,0,11],[32,6],[184],[33,4],[5],[32,4],[252,3],[34,6],[65,9],[54,1,0],[32,6],[65,45],[58,0,4],[32,6],[65,201,0],[58,0,5],[32,6],[65,238,0],[58,0,6],[32,6],[65,230,0],[58,0,7],[32,6],[65,233,0],[58,0,8],[32,6],[65,238,0],[58,0,9],[32,6],[65,233,0],[58,0,10],[32,6],[65,244,0],[58,0,11],[32,6],[65,249,0],[58,0,12],[32,6],[184],[33,4],[11],[11],[32,4],[65,18],[15],[11],[32,2],[68,0,0,0,0,0,0,0,0],[16, builtin('f64_|')],[34,2],[68,0,0,0,0,0,0,0,0],[99],[34,7],[69],[4,127],[32,2],[68,0,0,0,0,0,0,89,64],[100],[65,1],[33,8],[5],[32,7],[65,1],[33,8],[11],[183],[33,9],[32,8],[33,10],[2,127],[32,10],[65,2],[70],[4,64,"TYPESWITCH|String"],[32,9],[252,3],[40,1,0],[12,1],[11],[32,10],[65,18],[70],[4,64,"TYPESWITCH|ByteString"],[32,9],[252,3],[40,1,0],[12,1],[11],[32,9],[252,3],[11,"TYPESWITCH_end"],[4,64],...internalThrow(scope, 'RangeError', `toFixed() fractionDigits argument must be between 0 and 100`),[11],[32,0],[68,0,0,0,0,0,0,0,0],[99],[4,64],[32,0],[154],[33,0],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,45],[58,0,4],[11],[32,0],[16, builtin('__Math_trunc')],[33,11],...number(allocPage(scope, 'bytestring: __Number_prototype_toFixed/digits', 'i8') * pageSize, 124),[33,12],[68,0,0,0,0,0,0,0,0],[33,13],[32,11],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,12],[252,2],[65,0],[58,0,4],[68,0,0,0,0,0,0,240,63],[33,13],[5],[3,64],[32,11],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,12],[32,13],[160],[252,2],[32,11],[68,0,0,0,0,0,0,36,64],[16, builtin('f64_%')],[252,2],[58,0,4],[32,11],[68,0,0,0,0,0,0,36,64],[163],[16, builtin('__Math_trunc')],[33,11],[32,13],[68,0,0,0,0,0,0,240,63],[160],[33,13],[12,1],[11],[11],[11],[32,12],[32,13],[160],[33,14],[32,5],[32,13],[160],[33,15],[3,64],[32,5],[32,15],[99],[4,64],[32,14],[68,0,0,0,0,0,0,240,63],[161],[34,14],[252,2],[45,0,4],[183],[34,16],[68,0,0,0,0,0,0,36,64],[99],[4,64],[32,16],[68,0,0,0,0,0,0,72,64],[160],[33,16],[5],[32,16],[68,0,0,0,0,0,192,85,64],[160],[33,16],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[32,16],[252,2],[58,0,4],[12,1],[11],[11],[32,0],[32,0],[16, builtin('__Math_trunc')],[161],[33,17],[32,2],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,46],[58,0,4],[32,17],[68,0,0,0,0,0,0,240,63],[160],[33,17],[68,0,0,0,0,0,0,0,0],[33,18],[3,64],[32,18],[32,2],[99],[4,64],[32,17],[68,0,0,0,0,0,0,36,64],[162],[33,17],[32,18],[68,0,0,0,0,0,0,240,63],[160],[33,18],[12,1],[11],[11],[32,17],[16, builtin('__Math_round')],[33,17],[68,0,0,0,0,0,0,0,0],[33,13],[3,64],[32,17],[68,0,0,0,0,0,0,240,63],[100],[4,64],[32,17],[68,0,0,0,0,0,0,36,64],[16, builtin('f64_%')],[33,16],[32,17],[68,0,0,0,0,0,0,36,64],[163],[16, builtin('__Math_trunc')],[33,17],[32,12],[32,13],[160],[252,2],[32,16],[252,2],[58,0,4],[32,13],[68,0,0,0,0,0,0,240,63],[160],[33,13],[12,1],[11],[11],[32,12],[32,13],[160],[33,14],[32,5],[32,13],[160],[33,15],[3,64],[32,5],[32,15],[99],[4,64],[32,14],[68,0,0,0,0,0,0,240,63],[161],[34,14],[252,2],[45,0,4],[183],[34,16],[68,0,0,0,0,0,0,36,64],[99],[4,64],[32,16],[68,0,0,0,0,0,0,72,64],[160],[33,16],[5],[32,16],[68,0,0,0,0,0,192,85,64],[160],[33,16],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[32,16],[252,2],[58,0,4],[12,1],[11],[11],[11],[32,4],[252,3],[32,5],[32,4],[161],[34,19],[252,3],[54,1,0],[32,4],[65,18],[15]],
|
1607
1607
|
params: [124,127,124,127],
|
1608
1608
|
typedParams: true,
|
1609
1609
|
returns: [124,127],
|
1610
1610
|
typedReturns: true,
|
1611
|
-
locals: [124,124,127,127,127,124,124,124,124,124,124,124,124,124],
|
1612
|
-
localNames: ["_this","_this#type","fractionDigits","fractionDigits#type","out","outPtr","#makearray_pointer_tmp","logictmpi","#last_type","i","digits","l","digitsPtr","endPtr","digit","decimal","j","__length_setter_tmp"],
|
1611
|
+
locals: [124,124,127,127,127,124,127,124,124,124,124,124,124,124,124,124],
|
1612
|
+
localNames: ["_this","_this#type","fractionDigits","fractionDigits#type","out","outPtr","#makearray_pointer_tmp","logictmpi","#last_type","#logicinner_tmp","#typeswitch_tmp","i","digits","l","digitsPtr","endPtr","digit","decimal","j","__length_setter_tmp"],
|
1613
1613
|
};
|
1614
1614
|
this.__Number_prototype_toExponential = {
|
1615
|
-
wasm: (scope, {allocPage,builtin,internalThrow,}) => [...number(allocPage(scope, 'bytestring: __Number_prototype_toExponential/out', 'i8') * pageSize, 124),[34,4],[33,5],[32,0],[16, builtin('__Number_isFinite')],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,0],[16, builtin('__Number_isNaN')],[252,3],[4,64],[32,4],[252,3],[34,6],[65,3],[54,1,0],[32,6],[65,206,0],[58,0,4],[32,6],[65,225,0],[58,0,5],[32,6],[65,206,0],[58,0,6],[32,6],[184],[33,4],[5],[32,0],[68,0,0,0,0,0,0,240,127],[97],[4,64],[32,4],[252,3],[34,6],[65,8],[54,1,0],[32,6],[65,201,0],[58,0,4],[32,6],[65,238,0],[58,0,5],[32,6],[65,230,0],[58,0,6],[32,6],[65,233,0],[58,0,7],[32,6],[65,238,0],[58,0,8],[32,6],[65,233,0],[58,0,9],[32,6],[65,244,0],[58,0,10],[32,6],[65,249,0],[58,0,11],[32,6],[184],[33,4],[5],[32,4],[252,3],[34,6],[65,9],[54,1,0],[32,6],[65,45],[58,0,4],[32,6],[65,201,0],[58,0,5],[32,6],[65,238,0],[58,0,6],[32,6],[65,230,0],[58,0,7],[32,6],[65,233,0],[58,0,8],[32,6],[65,238,0],[58,0,9],[32,6],[65,233,0],[58,0,10],[32,6],[65,244,0],[58,0,11],[32,6],[65,249,0],[58,0,12],[32,6],[184],[33,4],[11],[11],[32,4],[65,18],[15],[11],[32,2],[32,3],[16, builtin('__Porffor_rawType')],[68,0,0,0,0,0,0,0,0],[98],[4,64],[68,0,0,0,0,0,0,0,0],[34,2],[65,3],[33,3],[26],[5],[32,2],[68,0,0,0,0,0,0,0,0],[16, builtin('f64_|')],[34,2],[65,0],[33,3],[26],[32,2],[68,0,0,0,0,0,0,0,0],[99],[34,7],[69],[4,127],[32,2],[68,0,0,0,0,0,0,89,64],[100],[65,1],[33,8],[5],[32,7],[65,1],[33,8],[11],[4,64],...internalThrow(scope, 'RangeError', `toExponential() fractionDigits argument must be between 0 and 100`),[11],[11],[32,0],[68,0,0,0,0,0,0,0,0],[99],[4,64],[32,0],[154],[33,0],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,45],[58,0,4],[11],[32,0],[33,
|
1615
|
+
wasm: (scope, {allocPage,builtin,internalThrow,}) => [...number(allocPage(scope, 'bytestring: __Number_prototype_toExponential/out', 'i8') * pageSize, 124),[34,4],[33,5],[32,0],[16, builtin('__Number_isFinite')],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,0],[16, builtin('__Number_isNaN')],[252,3],[4,64],[32,4],[252,3],[34,6],[65,3],[54,1,0],[32,6],[65,206,0],[58,0,4],[32,6],[65,225,0],[58,0,5],[32,6],[65,206,0],[58,0,6],[32,6],[184],[33,4],[5],[32,0],[68,0,0,0,0,0,0,240,127],[97],[4,64],[32,4],[252,3],[34,6],[65,8],[54,1,0],[32,6],[65,201,0],[58,0,4],[32,6],[65,238,0],[58,0,5],[32,6],[65,230,0],[58,0,6],[32,6],[65,233,0],[58,0,7],[32,6],[65,238,0],[58,0,8],[32,6],[65,233,0],[58,0,9],[32,6],[65,244,0],[58,0,10],[32,6],[65,249,0],[58,0,11],[32,6],[184],[33,4],[5],[32,4],[252,3],[34,6],[65,9],[54,1,0],[32,6],[65,45],[58,0,4],[32,6],[65,201,0],[58,0,5],[32,6],[65,238,0],[58,0,6],[32,6],[65,230,0],[58,0,7],[32,6],[65,233,0],[58,0,8],[32,6],[65,238,0],[58,0,9],[32,6],[65,233,0],[58,0,10],[32,6],[65,244,0],[58,0,11],[32,6],[65,249,0],[58,0,12],[32,6],[184],[33,4],[11],[11],[32,4],[65,18],[15],[11],[32,2],[32,3],[16, builtin('__Porffor_rawType')],[68,0,0,0,0,0,0,0,0],[98],[4,64],[68,0,0,0,0,0,0,0,0],[34,2],[65,3],[33,3],[26],[5],[32,2],[68,0,0,0,0,0,0,0,0],[16, builtin('f64_|')],[34,2],[65,0],[33,3],[26],[32,2],[68,0,0,0,0,0,0,0,0],[99],[34,7],[69],[4,127],[32,2],[68,0,0,0,0,0,0,89,64],[100],[65,1],[33,8],[5],[32,7],[65,1],[33,8],[11],[183],[33,9],[32,8],[33,10],[2,127],[32,10],[65,2],[70],[4,64,"TYPESWITCH|String"],[32,9],[252,3],[40,1,0],[12,1],[11],[32,10],[65,18],[70],[4,64,"TYPESWITCH|ByteString"],[32,9],[252,3],[40,1,0],[12,1],[11],[32,9],[252,3],[11,"TYPESWITCH_end"],[4,64],...internalThrow(scope, 'RangeError', `toExponential() fractionDigits argument must be between 0 and 100`),[11],[11],[32,0],[68,0,0,0,0,0,0,0,0],[99],[4,64],[32,0],[154],[33,0],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,45],[58,0,4],[11],[32,0],[33,11],...number(allocPage(scope, 'bytestring: __Number_prototype_toExponential/digits', 'i8') * pageSize, 124),[33,12],[68,0,0,0,0,0,0,0,0],[33,13],[68,0,0,0,0,0,0,0,0],[33,14],[32,0],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,48],[58,0,4],[32,2],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,46],[58,0,4],[68,0,0,0,0,0,0,0,0],[33,17],[3,64],[32,17],[32,2],[99],[4,64],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,48],[58,0,4],[32,17],[68,0,0,0,0,0,0,240,63],[160],[33,17],[12,1],[11],[11],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,229,0],[58,0,4],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,43],[58,0,4],[5],[32,0],[68,0,0,0,0,0,0,240,63],[99],[4,64],[32,2],[32,3],[16, builtin('__Porffor_rawType')],[68,0,0,0,0,0,0,0,0],[98],[4,64],[68,0,0,0,0,0,0,240,63],[33,14],[3,64],[65,1],[4,64],[32,11],[68,0,0,0,0,0,0,36,64],[162],[34,11],[16, builtin('__Math_trunc')],[34,18],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,11],[32,18],[161],[68,187,189,215,217,223,124,219,61],[99],[4,64],[12,2],[11],[5],[32,14],[68,0,0,0,0,0,0,240,63],[160],[33,14],[11],[12,1],[11],[11],[5],[68,0,0,0,0,0,0,240,63],[33,14],[68,0,0,0,0,0,0,0,0],[33,17],[3,64],[32,17],[32,2],[101],[4,64],[32,11],[68,0,0,0,0,0,0,36,64],[162],[34,11],[16, builtin('__Math_trunc')],[34,18],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,14],[68,0,0,0,0,0,0,240,63],[160],[33,14],[5],[32,17],[68,0,0,0,0,0,0,240,63],[160],[33,17],[11],[12,1],[11],[11],[11],[3,64],[32,11],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,11],[68,0,0,0,0,0,0,36,64],[16, builtin('f64_%')],[33,19],[32,11],[68,0,0,0,0,0,0,36,64],[163],[16, builtin('__Math_trunc')],[33,11],[32,12],[32,13],[160],[252,2],[32,19],[252,2],[58,0,4],[32,13],[68,0,0,0,0,0,0,240,63],[160],[33,13],[12,1],[11],[11],[32,12],[32,13],[160],[33,15],[32,5],[32,13],[160],[33,16],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,20],[3,64],[32,5],[32,16],[99],[4,64],[32,15],[68,0,0,0,0,0,0,240,63],[161],[34,15],[252,2],[45,0,4],[183],[33,19],[32,5],[32,20],[97],[4,64],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,46],[58,0,4],[32,16],[68,0,0,0,0,0,0,240,63],[160],[33,16],[11],[32,19],[68,0,0,0,0,0,0,36,64],[99],[4,64],[32,19],[68,0,0,0,0,0,0,72,64],[160],[33,19],[5],[32,19],[68,0,0,0,0,0,192,85,64],[160],[33,19],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[32,19],[252,2],[58,0,4],[12,1],[11],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,229,0],[58,0,4],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,45],[58,0,4],[5],[68,0,0,0,0,0,0,240,191],[33,14],[3,64],[32,11],[68,0,0,0,0,0,0,240,63],[102],[4,64],[32,11],[68,0,0,0,0,0,0,36,64],[163],[33,11],[32,14],[68,0,0,0,0,0,0,240,63],[160],[33,14],[12,1],[11],[11],[32,2],[32,3],[16, builtin('__Porffor_rawType')],[68,0,0,0,0,0,0,0,0],[98],[4,64],[3,64],[65,1],[4,64],[32,11],[68,0,0,0,0,0,0,36,64],[162],[34,11],[16, builtin('__Math_trunc')],[34,18],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,11],[32,18],[161],[68,187,189,215,217,223,124,219,61],[99],[4,64],[12,2],[11],[5],[32,14],[68,0,0,0,0,0,0,240,63],[160],[33,14],[11],[12,1],[11],[11],[5],[68,0,0,0,0,0,0,0,0],[33,17],[3,64],[32,17],[32,2],[101],[4,64],[32,11],[68,0,0,0,0,0,0,36,64],[162],[33,11],[32,17],[68,0,0,0,0,0,0,240,63],[160],[33,17],[12,1],[11],[11],[11],[32,11],[16, builtin('__Math_round')],[33,11],[3,64],[32,11],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,11],[68,0,0,0,0,0,0,36,64],[16, builtin('f64_%')],[33,19],[32,11],[68,0,0,0,0,0,0,36,64],[163],[16, builtin('__Math_trunc')],[33,11],[32,12],[32,13],[160],[252,2],[32,19],[252,2],[58,0,4],[32,13],[68,0,0,0,0,0,0,240,63],[160],[33,13],[12,1],[11],[11],[32,12],[32,13],[160],[33,15],[32,5],[32,13],[160],[33,16],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,20],[3,64],[32,5],[32,16],[99],[4,64],[32,5],[32,20],[97],[4,64],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,46],[58,0,4],[32,16],[68,0,0,0,0,0,0,240,63],[160],[33,16],[11],[32,15],[68,0,0,0,0,0,0,240,63],[161],[34,15],[252,2],[45,0,4],[183],[34,19],[68,0,0,0,0,0,0,36,64],[99],[4,64],[32,19],[68,0,0,0,0,0,0,72,64],[160],[33,19],[5],[32,19],[68,0,0,0,0,0,192,85,64],[160],[33,19],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[32,19],[252,2],[58,0,4],[12,1],[11],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,229,0],[58,0,4],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[65,43],[58,0,4],[11],[11],[32,14],[68,0,0,0,0,0,0,0,0],[97],[4,64],[32,12],[252,2],[65,0],[58,0,4],[68,0,0,0,0,0,0,240,63],[33,13],[5],[68,0,0,0,0,0,0,0,0],[33,13],[3,64],[32,14],[68,0,0,0,0,0,0,0,0],[100],[4,64],[32,12],[32,13],[160],[252,2],[32,14],[68,0,0,0,0,0,0,36,64],[16, builtin('f64_%')],[252,2],[58,0,4],[32,14],[68,0,0,0,0,0,0,36,64],[163],[16, builtin('__Math_trunc')],[33,14],[32,13],[68,0,0,0,0,0,0,240,63],[160],[33,13],[12,1],[11],[11],[11],[32,12],[32,13],[160],[33,15],[32,5],[32,13],[160],[33,16],[3,64],[32,5],[32,16],[99],[4,64],[32,15],[68,0,0,0,0,0,0,240,63],[161],[34,15],[252,2],[45,0,4],[183],[34,19],[68,0,0,0,0,0,0,36,64],[99],[4,64],[32,19],[68,0,0,0,0,0,0,72,64],[160],[33,19],[5],[32,19],[68,0,0,0,0,0,192,85,64],[160],[33,19],[11],[32,5],[32,5],[68,0,0,0,0,0,0,240,63],[160],[33,5],[252,2],[32,19],[252,2],[58,0,4],[12,1],[11],[11],[32,4],[252,3],[32,5],[32,4],[161],[34,21],[252,3],[54,1,0],[32,4],[65,18],[15]],
|
1616
1616
|
params: [124,127,124,127],
|
1617
1617
|
typedParams: true,
|
1618
1618
|
returns: [124,127],
|
1619
1619
|
typedReturns: true,
|
1620
|
-
locals: [124,124,127,127,127,124,124,124,124,124,124,124,124,124,124,124],
|
1621
|
-
localNames: ["_this","_this#type","fractionDigits","fractionDigits#type","out","outPtr","#makearray_pointer_tmp","logictmpi","#last_type","i","digits","l","e","digitsPtr","endPtr","j","intPart","digit","dotPlace","__length_setter_tmp"],
|
1620
|
+
locals: [124,124,127,127,127,124,127,124,124,124,124,124,124,124,124,124,124,124],
|
1621
|
+
localNames: ["_this","_this#type","fractionDigits","fractionDigits#type","out","outPtr","#makearray_pointer_tmp","logictmpi","#last_type","#logicinner_tmp","#typeswitch_tmp","i","digits","l","e","digitsPtr","endPtr","j","intPart","digit","dotPlace","__length_setter_tmp"],
|
1622
1622
|
};
|
1623
1623
|
this.__Number_prototype_valueOf = {
|
1624
1624
|
wasm: (scope, {}) => [[32,0],[65,0],[15]],
|
@@ -1640,7 +1640,7 @@ export const BuiltinFuncs = function() {
|
|
1640
1640
|
data: [{"offset":0,"bytes":[15,0,0,0,91,111,98,106,101,99,116,32,79,98,106,101,99,116,93]}],
|
1641
1641
|
};
|
1642
1642
|
this.__Porffor_allocate = {
|
1643
|
-
wasm: (scope, {}) => [[65,1],[64,0],[26],[
|
1643
|
+
wasm: (scope, {}) => [[63,0],[65,1],[64,0],[26],[65,128,128,4],[108],[184],[15]],
|
1644
1644
|
params: [],
|
1645
1645
|
typedParams: true,
|
1646
1646
|
returns: [124],
|
@@ -1739,7 +1739,7 @@ export const BuiltinFuncs = function() {
|
|
1739
1739
|
localNames: [],
|
1740
1740
|
};
|
1741
1741
|
this.Set$constructor = {
|
1742
|
-
wasm: (scope, {builtin,internalThrow,}) => [[16, builtin('__Porffor_allocate')],[33,2],[32,0],[32,1],[16, builtin('__Porffor_rawType')],[34,3],[68,0,0,0,0,0,0,48,64],[97],[32,3],[68,0,0,0,0,0,0,0,64],[97],[114],[32,3],[68,0,0,0,0,0,0,50,64],[97],[114],[32,3],[68,0,0,0,0,0,0,52,64],[97],[114],[4,64],[32,0],[252,3],[33,4],[65,0],[33,6],[32,4],[40,1,0],[33,5],[32,1],[33,10],[2,64],[32,10],[65,2],[70],[4,64,"TYPESWITCH|String"],[65,2],[33,8],[3,64],[65,0],[32,4],[47,0,4],[59,0,
|
1742
|
+
wasm: (scope, {builtin,internalThrow,}) => [[16, builtin('__Porffor_allocate')],[33,2],[32,0],[32,1],[16, builtin('__Porffor_rawType')],[34,3],[68,0,0,0,0,0,0,48,64],[97],[32,3],[68,0,0,0,0,0,0,0,64],[97],[114],[32,3],[68,0,0,0,0,0,0,50,64],[97],[114],[32,3],[68,0,0,0,0,0,0,52,64],[97],[114],[4,64],[32,0],[252,3],[33,4],[65,0],[33,6],[32,4],[40,1,0],[33,5],[32,1],[33,10],[2,64],[32,10],[65,2],[70],[4,64,"TYPESWITCH|String"],[65,2],[33,8],[65,0],[65,1],[54,0,0],[3,64],[65,0],[32,4],[47,0,4],[59,0,4],[68,0,0,0,0,0,0,0,0],[33,7],[2,64],[32,2],[65,20],[32,7],[32,8],[16, builtin('__Set_prototype_add')],[26],[26],[32,4],[65,2],[106],[33,4],[32,6],[65,1],[106],[34,6],[32,5],[71],[13,1],[11],[11],[12,1],[11],[32,10],[65,16],[70],[4,64,"TYPESWITCH|Array"],[3,64],[32,4],[43,0,4],[32,4],[45,0,12],[33,8],[33,7],[2,64],[32,2],[65,20],[32,7],[32,8],[16, builtin('__Set_prototype_add')],[26],[26],[32,4],[65,9],[106],[33,4],[32,6],[65,1],[106],[34,6],[32,5],[71],[13,1],[11],[11],[12,1],[11],[32,10],[65,18],[70],[4,64,"TYPESWITCH|ByteString"],[65,18],[33,8],[65,0],[65,1],[54,0,0],[3,64],[65,0],[32,4],[32,6],[106],[45,0,4],[58,0,4],[68,0,0,0,0,0,0,0,0],[33,7],[2,64],[32,2],[65,20],[32,7],[32,8],[16, builtin('__Set_prototype_add')],[26],[26],[32,6],[65,1],[106],[34,6],[32,5],[71],[13,1],[11],[11],[12,1],[11],[32,10],[65,20],[70],[4,64,"TYPESWITCH|Set"],[3,64],[32,4],[43,0,4],[32,4],[45,0,12],[33,8],[33,7],[2,64],[32,2],[65,20],[32,7],[32,8],[16, builtin('__Set_prototype_add')],[26],[26],[32,4],[65,9],[106],[33,4],[32,6],[65,1],[106],[34,6],[32,5],[71],[13,1],[11],[11],[12,1],[11],...internalThrow(scope, 'TypeError', `Tried for..of on non-iterable type`),[11,"TYPESWITCH_end"],[11],[32,2],[15]],
|
1743
1743
|
params: [124,127],
|
1744
1744
|
typedParams: true,
|
1745
1745
|
returns: [124],
|
@@ -1748,7 +1748,7 @@ export const BuiltinFuncs = function() {
|
|
1748
1748
|
localNames: ["iterable","iterable#type","out","type","forof_base_pointer","forof_length","forof_counter","x","x#type","#last_type","#typeswitch_tmp"],
|
1749
1749
|
};
|
1750
1750
|
this.__Set_prototype_union = {
|
1751
|
-
wasm: (scope, {builtin,internalThrow,}) => [[32,2],[32,3],[16, builtin('__Porffor_rawType')],[68,0,0,0,0,0,0,52,64],[98],[4,64],...internalThrow(scope, 'TypeError', `Set.prototype.union's 'other' argument must be a Set`),[11],[32,0],[65,20],[16, builtin('Set$constructor')],[33,4],[32,2],[252,3],[33,5],[65,0],[33,7],[32,5],[40,1,0],[33,6],[32,3],[33,11],[2,64],[32,11],[65,2],[70],[4,64,"TYPESWITCH|String"],[65,2],[33,9],[3,64],[65,0],[32,5],[47,0,4],[59,0,
|
1751
|
+
wasm: (scope, {builtin,internalThrow,}) => [[32,2],[32,3],[16, builtin('__Porffor_rawType')],[68,0,0,0,0,0,0,52,64],[98],[4,64],...internalThrow(scope, 'TypeError', `Set.prototype.union's 'other' argument must be a Set`),[11],[32,0],[65,20],[16, builtin('Set$constructor')],[33,4],[32,2],[252,3],[33,5],[65,0],[33,7],[32,5],[40,1,0],[33,6],[32,3],[33,11],[2,64],[32,11],[65,2],[70],[4,64,"TYPESWITCH|String"],[65,2],[33,9],[65,0],[65,1],[54,0,0],[3,64],[65,0],[32,5],[47,0,4],[59,0,4],[68,0,0,0,0,0,0,0,0],[33,8],[2,64],[32,4],[65,20],[32,8],[32,9],[16, builtin('__Set_prototype_add')],[26],[26],[32,5],[65,2],[106],[33,5],[32,7],[65,1],[106],[34,7],[32,6],[71],[13,1],[11],[11],[12,1],[11],[32,11],[65,16],[70],[4,64,"TYPESWITCH|Array"],[3,64],[32,5],[43,0,4],[32,5],[45,0,12],[33,9],[33,8],[2,64],[32,4],[65,20],[32,8],[32,9],[16, builtin('__Set_prototype_add')],[26],[26],[32,5],[65,9],[106],[33,5],[32,7],[65,1],[106],[34,7],[32,6],[71],[13,1],[11],[11],[12,1],[11],[32,11],[65,18],[70],[4,64,"TYPESWITCH|ByteString"],[65,18],[33,9],[65,0],[65,1],[54,0,0],[3,64],[65,0],[32,5],[32,7],[106],[45,0,4],[58,0,4],[68,0,0,0,0,0,0,0,0],[33,8],[2,64],[32,4],[65,20],[32,8],[32,9],[16, builtin('__Set_prototype_add')],[26],[26],[32,7],[65,1],[106],[34,7],[32,6],[71],[13,1],[11],[11],[12,1],[11],[32,11],[65,20],[70],[4,64,"TYPESWITCH|Set"],[3,64],[32,5],[43,0,4],[32,5],[45,0,12],[33,9],[33,8],[2,64],[32,4],[65,20],[32,8],[32,9],[16, builtin('__Set_prototype_add')],[26],[26],[32,5],[65,9],[106],[33,5],[32,7],[65,1],[106],[34,7],[32,6],[71],[13,1],[11],[11],[12,1],[11],...internalThrow(scope, 'TypeError', `Tried for..of on non-iterable type`),[11,"TYPESWITCH_end"],[32,4],[65,20],[15]],
|
1752
1752
|
params: [124,127,124,127],
|
1753
1753
|
typedParams: true,
|
1754
1754
|
returns: [124,127],
|
@@ -1757,7 +1757,7 @@ export const BuiltinFuncs = function() {
|
|
1757
1757
|
localNames: ["_this","_this#type","other","other#type","out","forof_base_pointer","forof_length","forof_counter","x","x#type","#last_type","#typeswitch_tmp"],
|
1758
1758
|
};
|
1759
1759
|
this.__String_fromCharCode = {
|
1760
|
-
wasm: (scope, {allocPage,}) => [[32,0],[65,128,2],[72],[4,64],...number(allocPage(scope, 'bytestring: __String_fromCharCode/out', 'i8') * pageSize, 127),[34,2],[32,0],[58,0,4],[32,2],[65,18],[15],[11],[
|
1760
|
+
wasm: (scope, {allocPage,}) => [[32,0],[65,128,2],[72],[4,64],...number(allocPage(scope, 'bytestring: __String_fromCharCode/out', 'i8') * pageSize, 127),[34,2],[32,0],[58,0,4],[32,2],[65,18],[15],[11],[32,2],[34,3],[65,1],[54,1,0],[32,3],[65,46],[59,0,4],[32,3],[34,2],[32,0],[59,0,4],[32,2],[65,2],[15]],
|
1761
1761
|
params: [127,127],
|
1762
1762
|
typedParams: true,
|
1763
1763
|
returns: [127,127],
|
package/compiler/index.js
CHANGED
@@ -158,10 +158,23 @@ export default (code, flags) => {
|
|
158
158
|
|
159
159
|
if (process.version) {
|
160
160
|
if (Prefs.native) {
|
161
|
-
const
|
162
|
-
|
161
|
+
const cleanup = () => {
|
162
|
+
try {
|
163
|
+
fs.unlinkSync(outFile);
|
164
|
+
} catch {}
|
165
|
+
};
|
166
|
+
|
167
|
+
process.on('exit', cleanup);
|
168
|
+
process.on('beforeExit', cleanup);
|
169
|
+
process.on('SIGINT', () => {
|
170
|
+
cleanup();
|
171
|
+
process.exit();
|
172
|
+
});
|
163
173
|
|
164
|
-
|
174
|
+
const runArgs = process.argv.slice(2).filter(x => !x.startsWith('-'));
|
175
|
+
try {
|
176
|
+
execSync([ outFile, ...runArgs.slice(1) ].join(' '), { stdio: 'inherit' });
|
177
|
+
} catch {}
|
165
178
|
}
|
166
179
|
|
167
180
|
process.exit();
|
package/compiler/opt.js
CHANGED
@@ -125,6 +125,8 @@ export default (funcs, globals, pages, tags, exceptions) => {
|
|
125
125
|
// main pass
|
126
126
|
for (let i = 0; i < wasm.length; i++) {
|
127
127
|
let inst = wasm[i];
|
128
|
+
inst = [ ...inst ];
|
129
|
+
wasm[i] = inst;
|
128
130
|
|
129
131
|
if (inst[0] === Opcodes.if || inst[0] === Opcodes.loop || inst[0] === Opcodes.block) depth.push(inst[0]);
|
130
132
|
if (inst[0] === Opcodes.end) depth.pop();
|
@@ -172,14 +174,14 @@ export default (funcs, globals, pages, tags, exceptions) => {
|
|
172
174
|
}
|
173
175
|
}
|
174
176
|
|
175
|
-
if (inst[inst.length - 1] === 'string_only' && !pages.hasAnyString &&
|
177
|
+
if (inst[inst.length - 1] === 'string_only' && !pages.hasAnyString && Prefs.rmUnusedTypes) {
|
176
178
|
// remove this inst
|
177
179
|
wasm.splice(i, 1);
|
178
180
|
if (i > 0) i--;
|
179
181
|
inst = wasm[i];
|
180
182
|
}
|
181
183
|
|
182
|
-
if (inst[inst.length - 1] === 'string_only|start' && !pages.hasAnyString&&
|
184
|
+
if (inst[inst.length - 1] === 'string_only|start' && !pages.hasAnyString && Prefs.rmUnusedTypes) {
|
183
185
|
let j = i;
|
184
186
|
for (; j < wasm.length; j++) {
|
185
187
|
const op = wasm[j];
|
@@ -193,7 +195,7 @@ export default (funcs, globals, pages, tags, exceptions) => {
|
|
193
195
|
inst = wasm[i];
|
194
196
|
}
|
195
197
|
|
196
|
-
if (inst[0] === Opcodes.if && typeof inst[2] === 'string' &&
|
198
|
+
if (inst[0] === Opcodes.if && typeof inst[2] === 'string' && Prefs.rmUnusedTypes) {
|
197
199
|
// remove unneeded typeswitch checks
|
198
200
|
|
199
201
|
const type = inst[2].split('|')[1];
|
@@ -221,7 +223,7 @@ export default (funcs, globals, pages, tags, exceptions) => {
|
|
221
223
|
}
|
222
224
|
}
|
223
225
|
|
224
|
-
if (inst[0] === Opcodes.end && inst[1] === 'TYPESWITCH_end') {
|
226
|
+
if (inst[0] === Opcodes.end && inst[1] === 'TYPESWITCH_end' && Prefs.rmUnusedTypes) {
|
225
227
|
// remove unneeded entire typeswitch
|
226
228
|
|
227
229
|
let j = i - 1, depth = -1, checks = 0;
|
@@ -369,7 +371,7 @@ export default (funcs, globals, pages, tags, exceptions) => {
|
|
369
371
|
continue;
|
370
372
|
}
|
371
373
|
|
372
|
-
if (lastInst[0] === Opcodes.i32_const && (inst === Opcodes.i32_from || inst === Opcodes.i32_from_u)) {
|
374
|
+
if (lastInst[0] === Opcodes.i32_const && (inst[0] === Opcodes.i32_from[0] || inst[0] === Opcodes.i32_from_u[0])) {
|
373
375
|
// change i32 const and immediate convert to const (opposite way of previous)
|
374
376
|
// i32.const 0
|
375
377
|
// f64.convert_i32_s || f64.convert_i32_u
|
package/compiler/parse.js
CHANGED
@@ -43,7 +43,7 @@ export default (input, flags) => {
|
|
43
43
|
webcompat: true,
|
44
44
|
|
45
45
|
// babel
|
46
|
-
plugins: types ? ['estree', 'typescript'] : ['estree'],
|
46
|
+
plugins: types || flags.includes('typed') ? ['estree', 'typescript'] : ['estree'],
|
47
47
|
|
48
48
|
// multiple
|
49
49
|
sourceType: flags.includes('module') ? 'module' : 'script',
|
package/compiler/pgo.js
CHANGED
@@ -11,7 +11,7 @@ export const setup = () => {
|
|
11
11
|
|
12
12
|
// enable these prefs by default for pgo
|
13
13
|
Prefs.typeswitchUniqueTmp = Prefs.typeswitchUniqueTmp === false ? false : true;
|
14
|
-
Prefs.cyclone = Prefs.cyclone === false ? false : true
|
14
|
+
Prefs.cyclone = Prefs.cyclone === false ? false : true;
|
15
15
|
};
|
16
16
|
|
17
17
|
export const run = obj => {
|
@@ -131,16 +131,18 @@ export const run = obj => {
|
|
131
131
|
func.localValues = localValues;
|
132
132
|
|
133
133
|
let counts = new Array(10).fill(0);
|
134
|
-
const consistents = localData[i].map(x => {
|
135
|
-
if (
|
134
|
+
const consistents = localData[i].map((x, j) => {
|
135
|
+
if (j < func.params.length) return false; // param
|
136
|
+
if (x.length === 0 || !x.every((y, i) => i < 1 ? true : y === x[i - 1])) return false; // not consistent
|
136
137
|
|
137
138
|
counts[0]++;
|
138
139
|
return x[0];
|
139
140
|
});
|
140
141
|
|
141
142
|
const integerOnlyF64s = localData[i].map((x, j) => {
|
143
|
+
if (j < func.params.length) return false; // param
|
142
144
|
if (localValues[j].type === Valtype.i32) return false; // already i32
|
143
|
-
if (x.length === 0 || !x.every(y => Number.isInteger(y))) return false;
|
145
|
+
if (x.length === 0 || !x.every(y => Number.isInteger(y))) return false; // not all integer values
|
144
146
|
|
145
147
|
counts[1]++;
|
146
148
|
return true;
|
@@ -151,14 +153,14 @@ export const run = obj => {
|
|
151
153
|
|
152
154
|
log += ` ${func.name}: identified ${counts[0]}/${total} locals as consistent${Prefs.verbosePgo ? ':' : ''}\n`;
|
153
155
|
if (Prefs.verbosePgo) {
|
154
|
-
for (let j =
|
156
|
+
for (let j = func.params.length; j < localData[i].length; j++) {
|
155
157
|
log += ` ${consistents[j] !== false ? '\u001b[92m' : '\u001b[91m'}${localKeys[j]}\u001b[0m: ${new Set(localData[i][j]).size} unique values set\n`;
|
156
158
|
}
|
157
159
|
}
|
158
160
|
|
159
161
|
log += ` ${func.name}: identified ${counts[1]}/${localValues.reduce((acc, x) => acc + (x.type === Valtype.f64 ? 1 : 0), 0)} f64 locals as integer usage only${Prefs.verbosePgo ? ':' : ''}\n`;
|
160
162
|
if (Prefs.verbosePgo) {
|
161
|
-
for (let j =
|
163
|
+
for (let j = func.params.length; j < localData[i].length; j++) {
|
162
164
|
if (localValues[j].type !== Valtype.f64) continue;
|
163
165
|
log += ` ${integerOnlyF64s[j] ? '\u001b[92m' : '\u001b[91m'}${localKeys[j]}\u001b[0m\n`;
|
164
166
|
}
|
@@ -178,7 +180,6 @@ export const run = obj => {
|
|
178
180
|
for (let i = 0; i < x.integerOnlyF64s.length; i++) {
|
179
181
|
const c = x.integerOnlyF64s[i];
|
180
182
|
if (c === false) continue;
|
181
|
-
if (i < x.params.length) continue;
|
182
183
|
|
183
184
|
targets.push(i);
|
184
185
|
}
|
@@ -191,7 +192,6 @@ export const run = obj => {
|
|
191
192
|
for (let i = 0; i < x.consistents.length; i++) {
|
192
193
|
const c = x.consistents[i];
|
193
194
|
if (c === false) continue;
|
194
|
-
if (i < x.params.length) continue;
|
195
195
|
|
196
196
|
targets.push(i);
|
197
197
|
|
package/compiler/precompile.js
CHANGED
@@ -26,7 +26,7 @@ const compile = async (file, [ _funcs, _globals ]) => {
|
|
26
26
|
|
27
27
|
const porfCompile = (await import(`./index.js?_=${Date.now()}`)).default;
|
28
28
|
|
29
|
-
let { funcs, globals, data, exceptions } = porfCompile(source, ['module']);
|
29
|
+
let { funcs, globals, data, exceptions } = porfCompile(source, ['module', 'typed']);
|
30
30
|
|
31
31
|
const allocated = new Set();
|
32
32
|
|
@@ -38,11 +38,14 @@ const compile = async (file, [ _funcs, _globals ]) => {
|
|
38
38
|
x.data[y].offset -= x.data[0].offset;
|
39
39
|
}
|
40
40
|
}
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
41
|
+
|
42
|
+
if (x.exceptions) {
|
43
|
+
x.exceptions = x.exceptions.map(x => {
|
44
|
+
const obj = exceptions[x];
|
45
|
+
if (obj) obj.exceptId = x;
|
46
|
+
return obj;
|
47
|
+
}).filter(x => x);
|
48
|
+
}
|
46
49
|
|
47
50
|
const locals = Object.keys(x.locals).reduce((acc, y) => {
|
48
51
|
acc[x.locals[y].idx] = { ...x.locals[y], name: y };
|
@@ -87,6 +90,8 @@ const compile = async (file, [ _funcs, _globals ]) => {
|
|
87
90
|
};
|
88
91
|
|
89
92
|
const precompile = async () => {
|
93
|
+
if (globalThis._porf_loadParser) await globalThis._porf_loadParser('@babel/parser');
|
94
|
+
|
90
95
|
const dir = join(__dirname, 'builtins');
|
91
96
|
|
92
97
|
let funcs = [], globals = [];
|
package/compiler/prefs.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
const onByDefault = [ 'bytestring', 'treeshakeWasmImports', 'alwaysMemory', 'indirectCalls', 'optUnused' ];
|
1
|
+
const onByDefault = [ 'bytestring', 'treeshakeWasmImports', 'alwaysMemory', 'indirectCalls', 'optUnused', 'data', 'rmUnusedTypes' ];
|
2
2
|
|
3
3
|
let cache = {};
|
4
4
|
const obj = new Proxy({}, {
|