porffor 0.56.0 → 0.56.2

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/bun.lock CHANGED
@@ -4,7 +4,7 @@
4
4
  "": {
5
5
  "name": "porffor",
6
6
  "dependencies": {
7
- "acorn": "^8.14.0",
7
+ "acorn": "^8.14.1",
8
8
  "node-repl-polyfill": "github:CanadaHonk/node-repl-polyfill",
9
9
  },
10
10
  "optionalDependencies": {
@@ -23,7 +23,7 @@
23
23
 
24
24
  "@babel/types": ["@babel/types@7.26.9", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw=="],
25
25
 
26
- "acorn": ["acorn@8.14.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA=="],
26
+ "acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="],
27
27
 
28
28
  "hermes-estree": ["hermes-estree@0.18.2", "", {}, "sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ=="],
29
29
 
@@ -141,6 +141,7 @@ export default (funcs, globals, tags, pages, data, noTreeshake = false) => {
141
141
  if (length == null) {
142
142
  length = func.params.length;
143
143
  if (func.constr) length -= 4;
144
+ if (func.method) length -= 2;
144
145
  if (!func.internal || func.typedParams) length = Math.floor(length / 2);
145
146
 
146
147
  // remove _this from internal prototype funcs
@@ -1,34 +1,29 @@
1
1
  import type {} from './porffor.d.ts';
2
2
 
3
3
  export const __Porffor_compareStrings = (a: any, b: any): boolean => {
4
- let at: i32 = Porffor.type(a);
5
- let bt: i32 = Porffor.type(b);
6
-
7
- if ((at | 0b10000000) != Porffor.TYPES.bytestring) {
4
+ if ((Porffor.type(a) | 0b10000000) != Porffor.TYPES.bytestring) {
8
5
  // a is not string or bytestring
9
6
  // check if it is bad type or value
10
7
  if (Porffor.fastOr(
11
8
  a == null,
12
9
 
13
- at == Porffor.TYPES.symbol,
14
- at == Porffor.TYPES.boolean
10
+ Porffor.type(a) == Porffor.TYPES.symbol,
11
+ Porffor.type(a) == Porffor.TYPES.boolean
15
12
  )) return false;
16
13
 
17
- // todo/perf: just use a.toString()?
18
14
  a = ecma262.ToString(a);
19
15
  }
20
16
 
21
- if ((bt | 0b10000000) != Porffor.TYPES.bytestring) {
17
+ if ((Porffor.type(b) | 0b10000000) != Porffor.TYPES.bytestring) {
22
18
  // b is not string or bytestring
23
19
  // check if it is bad type or value
24
20
  if (Porffor.fastOr(
25
21
  b == null,
26
22
 
27
- bt == Porffor.TYPES.symbol,
28
- bt == Porffor.TYPES.boolean
23
+ Porffor.type(b) == Porffor.TYPES.symbol,
24
+ Porffor.type(b) == Porffor.TYPES.boolean
29
25
  )) return false;
30
26
 
31
- // todo/perf: just use b.toString()?
32
27
  b = ecma262.ToString(b);
33
28
  }
34
29
 
@@ -36,18 +31,13 @@ export const __Porffor_compareStrings = (a: any, b: any): boolean => {
36
31
  };
37
32
 
38
33
  export const __Porffor_concatStrings = (a: any, b: any): any => {
39
- let at: i32 = Porffor.type(a);
40
- let bt: i32 = Porffor.type(b);
41
-
42
- if ((at | 0b10000000) != Porffor.TYPES.bytestring) {
34
+ if ((Porffor.type(a) | 0b10000000) != Porffor.TYPES.bytestring) {
43
35
  // a is not string or bytestring
44
- // todo/perf: just use a.toString()?
45
36
  a = ecma262.ToString(a);
46
37
  }
47
38
 
48
- if ((bt | 0b10000000) != Porffor.TYPES.bytestring) {
39
+ if ((Porffor.type(b) | 0b10000000) != Porffor.TYPES.bytestring) {
49
40
  // b is not string or bytestring
50
- // todo/perf: just use b.toString()?
51
41
  b = ecma262.ToString(b);
52
42
  }
53
43
 
@@ -26,7 +26,7 @@ export const String = function (...args: any[]): string|bytestring|StringObject
26
26
  // 4. Return StringCreate(s, ? GetPrototypeFromConstructor(NewTarget, "%String.prototype%")).
27
27
 
28
28
  // force bytestrings to strings
29
- if (Porffor.type(s) == Porffor.TYPES.bytestring) s = Porffor.bytestringToString(s, s.length);
29
+ if (Porffor.type(s) == Porffor.TYPES.bytestring) s = Porffor.bytestringToString(s);
30
30
 
31
31
  return s as StringObject;
32
32
  };
@@ -72,10 +72,7 @@ export const BuiltinVars = function(ctx) {
72
72
  this.null.type = TYPES.object;
73
73
 
74
74
  this.NaN = [ number(NaN) ];
75
- this.NaN.floatOnly = true;
76
-
77
75
  this.Infinity = [ number(Infinity) ];
78
- this.Infinity.floatOnly = true;
79
76
 
80
77
  for (const x in TYPES) {
81
78
  this['__Porffor_TYPES_' + x] = () => [ number(TYPES[x]) ];
@@ -101,7 +98,6 @@ export const BuiltinVars = function(ctx) {
101
98
 
102
99
  export const BuiltinFuncs = function() {
103
100
  this.isNaN = {
104
- floatOnly: true,
105
101
  params: [ valtypeBinary ],
106
102
  locals: [],
107
103
  returns: [ valtypeBinary ],
@@ -116,7 +112,6 @@ export const BuiltinFuncs = function() {
116
112
  this.__Number_isNaN = this.isNaN;
117
113
 
118
114
  this.isFinite = {
119
- floatOnly: true,
120
115
  params: [ valtypeBinary ],
121
116
  locals: [ valtypeBinary ],
122
117
  returns: [ valtypeBinary ],
@@ -135,7 +130,6 @@ export const BuiltinFuncs = function() {
135
130
 
136
131
  // todo: should be false for +-Infinity
137
132
  this.__Number_isInteger = {
138
- floatOnly: true,
139
133
  params: [ valtypeBinary ],
140
134
  locals: [],
141
135
  returns: [ valtypeBinary ],
@@ -150,7 +144,6 @@ export const BuiltinFuncs = function() {
150
144
  };
151
145
 
152
146
  this.__Number_isSafeInteger = {
153
- floatOnly: true,
154
147
  params: [ valtypeBinary ],
155
148
  locals: [],
156
149
  returns: [ valtypeBinary ],
@@ -209,7 +202,6 @@ export const BuiltinFuncs = function() {
209
202
  };
210
203
 
211
204
  this.__Math_fround = {
212
- floatOnly: true,
213
205
  params: [ valtypeBinary ],
214
206
  locals: [],
215
207
  returns: [ valtypeBinary ],
@@ -223,7 +215,6 @@ export const BuiltinFuncs = function() {
223
215
 
224
216
  // todo: this does not overflow correctly
225
217
  this.__Math_imul = {
226
- floatOnly: true,
227
218
  params: [ valtypeBinary, valtypeBinary ],
228
219
  locals: [],
229
220
  returns: [ valtypeBinary ],
@@ -503,7 +494,6 @@ export const BuiltinFuncs = function() {
503
494
  if (!prng) throw new Error(`unknown prng algo: ${Prefs.prng}`);
504
495
 
505
496
  this.__Math_random = {
506
- floatOnly: true,
507
497
  params: [],
508
498
  locals: prng.locals,
509
499
  localNames: [ 's1', 's0' ],
@@ -514,23 +504,6 @@ export const BuiltinFuncs = function() {
514
504
  returnType: TYPES.number,
515
505
  wasm: [
516
506
  ...prng.wasm,
517
-
518
- // you thought it was over? now we need the result as a f64 between 0-1 :)
519
-
520
- // should we >> 12 here?
521
- // it feels like it but it breaks values
522
-
523
- // | 0x3FF0000000000000
524
- // [ Opcodes.i64_const, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf8, 0x3f ],
525
- // [ Opcodes.i64_or ],
526
-
527
- // bit cast as f64
528
- // [ Opcodes.f64_reinterpret_i64 ],
529
-
530
- // - 1
531
- // number(1),
532
- // [ Opcodes.f64_sub ],
533
-
534
507
  ...(prng.returns === Valtype.i64 ? [
535
508
  number((1 << 53) - 1, Valtype.i64),
536
509
  [ Opcodes.i64_and ],
@@ -581,7 +554,6 @@ export const BuiltinFuncs = function() {
581
554
  };
582
555
 
583
556
  this.__Math_radians = {
584
- floatOnly: true,
585
557
  params: [ valtypeBinary ],
586
558
  locals: [],
587
559
  returns: [ valtypeBinary ],
@@ -594,7 +566,6 @@ export const BuiltinFuncs = function() {
594
566
  };
595
567
 
596
568
  this.__Math_degrees = {
597
- floatOnly: true,
598
569
  params: [ valtypeBinary ],
599
570
  locals: [],
600
571
  returns: [ valtypeBinary ],
@@ -607,7 +578,6 @@ export const BuiltinFuncs = function() {
607
578
  };
608
579
 
609
580
  this.__Math_clamp = {
610
- floatOnly: true,
611
581
  params: [ valtypeBinary, valtypeBinary, valtypeBinary ],
612
582
  locals: [],
613
583
  localNames: [ 'x', 'lower', 'upper' ],
@@ -623,7 +593,6 @@ export const BuiltinFuncs = function() {
623
593
  };
624
594
 
625
595
  this.__Math_scale = {
626
- floatOnly: true,
627
596
  params: [ valtypeBinary, valtypeBinary, valtypeBinary, valtypeBinary, valtypeBinary ],
628
597
  locals: [],
629
598
  localNames: [ 'x', 'inLow', 'inHigh', 'outLow', 'outHigh' ],
@@ -654,7 +623,6 @@ export const BuiltinFuncs = function() {
654
623
 
655
624
  // todo: fix for -0
656
625
  this.__Math_signbit = {
657
- floatOnly: true,
658
626
  params: [ valtypeBinary ],
659
627
  locals: [],
660
628
  returns: [ valtypeBinary ],
@@ -701,13 +669,8 @@ export const BuiltinFuncs = function() {
701
669
  returns: [],
702
670
  returnType: TYPES.undefined,
703
671
  wasm: [
704
- // dst
705
672
  [ Opcodes.local_get, 1 ],
706
-
707
- // src
708
673
  [ Opcodes.local_get, 0 ],
709
-
710
- // size = pageSize
711
674
  number(pageSize, Valtype.i32),
712
675
  [ ...Opcodes.memory_copy, 0x00, 0x00 ],
713
676
  ]
@@ -805,21 +768,20 @@ export const BuiltinFuncs = function() {
805
768
  };
806
769
 
807
770
  this.__Porffor_bytestringToString = {
808
- params: [ Valtype.i32, Valtype.i32 ],
809
- locals: [ Valtype.i32, Valtype.i32 ],
771
+ params: [ Valtype.i32 ],
772
+ locals: [ Valtype.i32, Valtype.i32, Valtype.i32 ],
810
773
  localNames: [ 'src', 'len', 'counter', 'dst' ],
811
774
  returns: [ Valtype.i32 ],
812
775
  returnType: TYPES.string,
813
- wasm: [
814
- // dst = grow memory by 1 page
815
- [ Opcodes.i32_const, 1 ],
816
- [ Opcodes.memory_grow, 0 ],
817
- number(65536, Valtype.i32),
818
- [ Opcodes.i32_mul ],
776
+ wasm: (scope, { builtin }) => [
777
+ // dst = allocate
778
+ [ Opcodes.call, builtin('__Porffor_allocate') ],
819
779
  [ Opcodes.local_tee, 3 ],
820
780
 
821
- // dst.length = len
822
- [ Opcodes.local_get, 1 ],
781
+ // dst.length = src.length
782
+ [ Opcodes.local_get, 0 ],
783
+ [ Opcodes.i32_load, 0, 0 ],
784
+ [ Opcodes.local_tee, 1 ],
823
785
  [ Opcodes.i32_store, 0, 0 ],
824
786
 
825
787
  [ Opcodes.loop, Blocktype.void ],
@@ -2888,7 +2888,7 @@ usedTypes:[11],
2888
2888
  usesTag:1,
2889
2889
  }
2890
2890
  this.__String_prototype_toUpperCase = {
2891
- wasm:(_,{builtin})=>[[32,0],[40,1,0],[33,2],[16,builtin('__Porffor_allocate')],[34,3],[32,2],[54,0,0],[32,0],[33,4],[32,3],[33,5],[32,4],[32,2],[65,2],[108],[106],[33,6],[3,64],[32,4],[32,6],[72],[4,64],[32,4],[47,0,4],[33,7],[32,4],[65,2],[106],[33,4],[32,7],[65,225,0],[78],[4,64],[32,7],[65,250,0],[76],[4,64],[32,7],[65,32],[107],[33,7],[11],[11],[32,5],[32,7],[59,0,4],[32,5],[65,2],[106],[33,5],[12,1],[11],[11],[32,3],[65,195,0],[15]],
2891
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[40,1,0],[33,2],[16,builtin('__Porffor_allocate')],[34,3],[32,2],[54,0,0],[32,0],[33,4],[32,3],[33,5],[32,4],[32,2],[65,2],[108],[106],[33,6],[3,64],[32,4],[32,6],[72],[4,64],[32,4],[47,0,4],[33,7],[32,4],[65,2],[106],[33,4],[32,7],[65,225,0],[78],[4,64],[32,7],[65,250,0],[76],[4,64],[32,7],[65,32],[107],[33,7],[11],[11],[32,5],[32,7],[59,0,4],[32,5],[65,2],[106],[33,5],[12,1],[11],[11],[32,3],[65,195,0],[15]],
2892
2892
  params:[127,127],typedParams:1,returns:[127,127],
2893
2893
  locals:[127,127,127,127,127,127],localNames:["_this","_this#type","len","out","i","j","endPtr","chr"],
2894
2894
  usedTypes:[67],
@@ -2900,7 +2900,7 @@ locals:[127,127,127,127,127,127],localNames:["_this","_this#type","len","out","i
2900
2900
  usedTypes:[195],
2901
2901
  }
2902
2902
  this.__String_prototype_toLowerCase = {
2903
- wasm:(_,{builtin})=>[[32,0],[40,1,0],[33,2],[16,builtin('__Porffor_allocate')],[34,3],[32,2],[54,0,0],[32,0],[33,4],[32,3],[33,5],[32,4],[32,2],[65,2],[108],[106],[33,6],[3,64],[32,4],[32,6],[72],[4,64],[32,4],[47,0,4],[33,7],[32,4],[65,2],[106],[33,4],[32,7],[65,193,0],[78],[4,64],[32,7],[65,218,0],[76],[4,64],[32,7],[65,32],[106],[33,7],[11],[11],[32,5],[32,7],[59,0,4],[32,5],[65,2],[106],[33,5],[12,1],[11],[11],[32,3],[65,195,0],[15]],
2903
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[40,1,0],[33,2],[16,builtin('__Porffor_allocate')],[34,3],[32,2],[54,0,0],[32,0],[33,4],[32,3],[33,5],[32,4],[32,2],[65,2],[108],[106],[33,6],[3,64],[32,4],[32,6],[72],[4,64],[32,4],[47,0,4],[33,7],[32,4],[65,2],[106],[33,4],[32,7],[65,193,0],[78],[4,64],[32,7],[65,218,0],[76],[4,64],[32,7],[65,32],[106],[33,7],[11],[11],[32,5],[32,7],[59,0,4],[32,5],[65,2],[106],[33,5],[12,1],[11],[11],[32,3],[65,195,0],[15]],
2904
2904
  params:[127,127],typedParams:1,returns:[127,127],
2905
2905
  locals:[127,127,127,127,127,127],localNames:["_this","_this#type","len","out","i","j","endPtr","chr"],
2906
2906
  usedTypes:[67],
@@ -2912,7 +2912,7 @@ locals:[127,127,127,127,127,127],localNames:["_this","_this#type","len","out","i
2912
2912
  usedTypes:[195],
2913
2913
  }
2914
2914
  this.__String_prototype_toLocaleUpperCase = {
2915
- wasm:(_,{builtin})=>[[32,0],[65,195,0],[16,builtin('__String_prototype_toUpperCase')],[34,2],[15]],
2915
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[65,195,0],[16,builtin('__String_prototype_toUpperCase')],[34,2],[15]],
2916
2916
  params:[127,127],typedParams:1,returns:[127,127],
2917
2917
  locals:[127],localNames:["_this","_this#type","#last_type"],
2918
2918
  usedTypes:[67],
@@ -2924,7 +2924,7 @@ locals:[127],localNames:["_this","_this#type","#last_type"],
2924
2924
  usedTypes:[195],
2925
2925
  }
2926
2926
  this.__String_prototype_toLocaleLowerCase = {
2927
- wasm:(_,{builtin})=>[[32,0],[65,195,0],[16,builtin('__String_prototype_toUpperCase')],[34,2],[15]],
2927
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[65,195,0],[16,builtin('__String_prototype_toUpperCase')],[34,2],[15]],
2928
2928
  params:[127,127],typedParams:1,returns:[127,127],
2929
2929
  locals:[127],localNames:["_this","_this#type","#last_type"],
2930
2930
  usedTypes:[67],
@@ -2936,7 +2936,7 @@ locals:[127],localNames:["_this","_this#type","#last_type"],
2936
2936
  usedTypes:[195],
2937
2937
  }
2938
2938
  this.__String_prototype_codePointAt = {
2939
- wasm:()=>[[32,0],[40,1,0],[33,4],[32,2],[65,0],[114],[34,2],[65,0],[72],[32,2],[32,4],[78],[114],[4,64],[65,0],[65,128,1],[15],[26],[11],[32,2],[65,2],[108],[33,2],[32,0],[32,2],[106],[47,0,4],[34,5],[65,128,176,3],[78],[32,5],[65,255,183,3],[76],[113],[4,64],[32,2],[65,1],[106],[32,4],[78],[4,64],[32,5],[65,1],[15],[26],[11],[32,0],[32,2],[106],[65,2],[106],[47,0,4],[34,6],[65,128,184,3],[78],[32,6],[65,255,191,3],[76],[113],[4,64],[32,5],[65,10],[116],[32,6],[106],[65,128,184,255,26],[107],[65,1],[15],[26],[11],[11],[32,5],[65,1],[15]],
2939
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[40,1,0],[33,4],[32,2],[65,0],[114],[34,2],[65,0],[72],[32,2],[32,4],[78],[114],[4,64],[65,0],[65,128,1],[15],[26],[11],[32,2],[65,2],[108],[33,2],[32,0],[32,2],[106],[47,0,4],[34,5],[65,128,176,3],[78],[32,5],[65,255,183,3],[76],[113],[4,64],[32,2],[65,1],[106],[32,4],[78],[4,64],[32,5],[65,1],[15],[26],[11],[32,0],[32,2],[106],[65,2],[106],[47,0,4],[34,6],[65,128,184,3],[78],[32,6],[65,255,191,3],[76],[113],[4,64],[32,5],[65,10],[116],[32,6],[106],[65,128,184,255,26],[107],[65,1],[15],[26],[11],[11],[32,5],[65,1],[15]],
2940
2940
  params:[127,127,127,127],typedParams:1,returns:[127,127],
2941
2941
  locals:[127,127,127],localNames:["_this","_this#type","index","index#type","len","c1","c2"],
2942
2942
  }
@@ -2946,7 +2946,7 @@ params:[127,127,127,127],typedParams:1,returns:[127,127],
2946
2946
  locals:[127],localNames:["_this","_this#type","index","index#type","len"],
2947
2947
  }
2948
2948
  this.__String_prototype_startsWith = {
2949
- wasm:()=>[[32,0],[33,6],[32,2],[33,7],[32,0],[40,1,0],[33,8],[32,4],[65,0],[74],[4,64],[32,4],[32,8],[74],[4,64],[32,8],[33,4],[5],[32,4],[65,0],[114],[33,4],[11],[5],[65,0],[33,4],[11],[32,6],[32,4],[65,2],[108],[106],[33,6],[32,2],[40,1,0],[65,2],[108],[33,9],[65,0],[33,10],[3,64],[32,10],[32,9],[72],[4,64],[32,6],[32,10],[106],[47,0,4],[33,11],[32,7],[32,10],[106],[47,0,4],[33,12],[32,11],[32,12],[71],[4,64],[65,0],[65,2],[15],[26],[11],[32,10],[65,2],[106],[33,10],[12,1],[11],[11],[65,1],[65,2],[15]],
2949
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[33,6],[32,2],[33,7],[32,0],[40,1,0],[33,8],[32,4],[65,0],[74],[4,64],[32,4],[32,8],[74],[4,64],[32,8],[33,4],[5],[32,4],[65,0],[114],[33,4],[11],[5],[65,0],[33,4],[11],[32,6],[32,4],[65,2],[108],[106],[33,6],[32,2],[40,1,0],[65,2],[108],[33,9],[65,0],[33,10],[3,64],[32,10],[32,9],[72],[4,64],[32,6],[32,10],[106],[47,0,4],[33,11],[32,7],[32,10],[106],[47,0,4],[33,12],[32,11],[32,12],[71],[4,64],[65,0],[65,2],[15],[26],[11],[32,10],[65,2],[106],[33,10],[12,1],[11],[11],[65,1],[65,2],[15]],
2950
2950
  params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
2951
2951
  locals:[127,127,127,127,127,127,127],localNames:["_this","_this#type","searchString","searchString#type","position","position#type","thisPtr","searchPtr","len","searchLen","i","chr","expected"],
2952
2952
  }
@@ -2956,7 +2956,7 @@ params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
2956
2956
  locals:[127,127,127,127,127,127,127],localNames:["_this","_this#type","searchString","searchString#type","position","position#type","thisPtr","searchPtr","len","searchLen","i","chr","expected"],
2957
2957
  }
2958
2958
  this.__String_prototype_endsWith = {
2959
- wasm:()=>[[32,0],[33,6],[32,2],[33,7],[32,2],[40,1,0],[33,8],[32,0],[40,1,0],[33,9],[32,5],[65,128,1],[70],[4,64],[32,9],[33,4],[11],[32,4],[65,0],[74],[4,64],[32,4],[32,9],[74],[4,64],[32,9],[33,4],[5],[32,4],[65,0],[114],[33,4],[11],[5],[65,0],[33,4],[11],[32,4],[32,8],[107],[34,4],[65,0],[72],[4,64],[65,0],[65,2],[15],[26],[11],[32,6],[32,4],[65,2],[108],[106],[33,6],[32,7],[32,8],[65,2],[108],[106],[33,10],[3,64],[32,7],[32,10],[72],[4,64],[32,6],[47,0,4],[33,11],[32,7],[47,0,4],[33,12],[32,6],[65,2],[106],[33,6],[32,7],[65,2],[106],[33,7],[32,11],[32,12],[71],[4,64],[65,0],[65,2],[15],[26],[11],[12,1],[11],[11],[65,1],[65,2],[15]],
2959
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[33,6],[32,2],[33,7],[32,2],[40,1,0],[33,8],[32,0],[40,1,0],[33,9],[32,5],[65,128,1],[70],[4,64],[32,9],[33,4],[11],[32,4],[65,0],[74],[4,64],[32,4],[32,9],[74],[4,64],[32,9],[33,4],[5],[32,4],[65,0],[114],[33,4],[11],[5],[65,0],[33,4],[11],[32,4],[32,8],[107],[34,4],[65,0],[72],[4,64],[65,0],[65,2],[15],[26],[11],[32,6],[32,4],[65,2],[108],[106],[33,6],[32,7],[32,8],[65,2],[108],[106],[33,10],[3,64],[32,7],[32,10],[72],[4,64],[32,6],[47,0,4],[33,11],[32,7],[47,0,4],[33,12],[32,6],[65,2],[106],[33,6],[32,7],[65,2],[106],[33,7],[32,11],[32,12],[71],[4,64],[65,0],[65,2],[15],[26],[11],[12,1],[11],[11],[65,1],[65,2],[15]],
2960
2960
  params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
2961
2961
  locals:[127,127,127,127,127,127,127],localNames:["_this","_this#type","searchString","searchString#type","endPosition","endPosition#type","i","j","searchLen","len","endPtr","chr","expected"],
2962
2962
  }
@@ -2966,7 +2966,7 @@ params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
2966
2966
  locals:[127,127,127,127,127,127,127],localNames:["_this","_this#type","searchString","searchString#type","endPosition","endPosition#type","i","j","searchLen","len","endPtr","chr","expected"],
2967
2967
  }
2968
2968
  this.__String_prototype_indexOf = {
2969
- wasm:()=>[[32,0],[33,6],[32,2],[33,7],[32,2],[40,1,0],[65,2],[108],[33,8],[32,0],[40,1,0],[33,9],[32,4],[65,0],[74],[4,64],[32,4],[32,9],[74],[4,64],[32,9],[33,4],[5],[32,4],[65,0],[114],[33,4],[11],[5],[65,0],[33,4],[11],[32,6],[32,9],[65,2],[108],[106],[32,8],[107],[33,10],[32,6],[32,4],[65,2],[108],[106],[33,6],[3,64],[32,6],[32,10],[76],[4,64],[65,1],[33,11],[65,0],[33,12],[3,64],[32,12],[32,8],[72],[4,64],[2,64],[32,6],[32,12],[106],[47,0,4],[33,13],[32,7],[32,12],[106],[47,0,4],[33,14],[32,13],[32,14],[71],[4,64],[65,0],[33,11],[12,2],[26],[11],[11],[32,12],[65,2],[106],[33,12],[12,1],[11],[11],[32,11],[4,64],[32,6],[32,0],[107],[65,2],[109],[65,1],[15],[26],[11],[32,6],[65,2],[106],[33,6],[12,1],[11],[11],[65,127],[65,1],[15]],
2969
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[33,6],[32,2],[33,7],[32,2],[40,1,0],[65,2],[108],[33,8],[32,0],[40,1,0],[33,9],[32,4],[65,0],[74],[4,64],[32,4],[32,9],[74],[4,64],[32,9],[33,4],[5],[32,4],[65,0],[114],[33,4],[11],[5],[65,0],[33,4],[11],[32,6],[32,9],[65,2],[108],[106],[32,8],[107],[33,10],[32,6],[32,4],[65,2],[108],[106],[33,6],[3,64],[32,6],[32,10],[76],[4,64],[65,1],[33,11],[65,0],[33,12],[3,64],[32,12],[32,8],[72],[4,64],[2,64],[32,6],[32,12],[106],[47,0,4],[33,13],[32,7],[32,12],[106],[47,0,4],[33,14],[32,13],[32,14],[71],[4,64],[65,0],[33,11],[12,2],[26],[11],[11],[32,12],[65,2],[106],[33,12],[12,1],[11],[11],[32,11],[4,64],[32,6],[32,0],[107],[65,2],[109],[65,1],[15],[26],[11],[32,6],[65,2],[106],[33,6],[12,1],[11],[11],[65,127],[65,1],[15]],
2970
2970
  params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
2971
2971
  locals:[127,127,127,127,127,127,127,127,127],localNames:["_this","_this#type","searchString","searchString#type","position","position#type","thisPtr","searchPtr","searchLenX2","len","thisPtrEnd","match","i","chr","expected"],
2972
2972
  }
@@ -2976,7 +2976,7 @@ params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
2976
2976
  locals:[127,127,127,127,127,127,127,127,127],localNames:["_this","_this#type","searchString","searchString#type","position","position#type","thisPtr","searchPtr","searchLen","len","thisPtrEnd","match","i","chr","expected"],
2977
2977
  }
2978
2978
  this.__String_prototype_lastIndexOf = {
2979
- wasm:()=>[[32,0],[33,6],[32,2],[33,7],[32,2],[40,1,0],[34,8],[65,2],[108],[33,9],[32,0],[40,1,0],[33,10],[32,5],[65,128,1],[70],[4,64],[32,10],[32,8],[107],[33,4],[11],[32,4],[65,0],[74],[4,64],[32,10],[32,8],[107],[33,11],[32,4],[32,11],[74],[4,64],[32,11],[33,4],[5],[32,4],[65,0],[114],[33,4],[11],[5],[65,0],[33,4],[11],[32,6],[33,12],[32,6],[32,4],[65,2],[108],[106],[33,6],[3,64],[32,6],[32,12],[78],[4,64],[65,1],[33,13],[65,0],[33,14],[3,64],[32,14],[32,9],[72],[4,64],[2,64],[32,6],[32,14],[106],[45,0,4],[33,15],[32,7],[32,14],[106],[45,0,4],[33,16],[32,15],[32,16],[71],[4,64],[65,0],[33,13],[12,2],[26],[11],[11],[32,14],[65,2],[106],[33,14],[12,1],[11],[11],[32,13],[4,64],[32,6],[32,0],[107],[65,2],[109],[65,1],[15],[26],[11],[32,6],[65,2],[107],[33,6],[12,1],[11],[11],[65,127],[65,1],[15]],
2979
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[33,6],[32,2],[33,7],[32,2],[40,1,0],[34,8],[65,2],[108],[33,9],[32,0],[40,1,0],[33,10],[32,5],[65,128,1],[70],[4,64],[32,10],[32,8],[107],[33,4],[11],[32,4],[65,0],[74],[4,64],[32,10],[32,8],[107],[33,11],[32,4],[32,11],[74],[4,64],[32,11],[33,4],[5],[32,4],[65,0],[114],[33,4],[11],[5],[65,0],[33,4],[11],[32,6],[33,12],[32,6],[32,4],[65,2],[108],[106],[33,6],[3,64],[32,6],[32,12],[78],[4,64],[65,1],[33,13],[65,0],[33,14],[3,64],[32,14],[32,9],[72],[4,64],[2,64],[32,6],[32,14],[106],[45,0,4],[33,15],[32,7],[32,14],[106],[45,0,4],[33,16],[32,15],[32,16],[71],[4,64],[65,0],[33,13],[12,2],[26],[11],[11],[32,14],[65,2],[106],[33,14],[12,1],[11],[11],[32,13],[4,64],[32,6],[32,0],[107],[65,2],[109],[65,1],[15],[26],[11],[32,6],[65,2],[107],[33,6],[12,1],[11],[11],[65,127],[65,1],[15]],
2980
2980
  params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
2981
2981
  locals:[127,127,127,127,127,127,127,127,127,127,127],localNames:["_this","_this#type","searchString","searchString#type","position","position#type","thisPtr","searchPtr","searchLen","searchLenX2","len","max","thisPtrStart","match","i","chr","expected"],
2982
2982
  }
@@ -2986,7 +2986,7 @@ params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
2986
2986
  locals:[127,127,127,127,127,127,127,127,127,127],localNames:["_this","_this#type","searchString","searchString#type","position","position#type","thisPtr","searchPtr","searchLen","len","max","thisPtrStart","match","i","chr","expected"],
2987
2987
  }
2988
2988
  this.__String_prototype_includes = {
2989
- wasm:()=>[[32,0],[33,6],[32,2],[33,7],[32,2],[40,1,0],[65,2],[108],[33,8],[32,0],[40,1,0],[33,9],[32,4],[65,0],[74],[4,64],[32,4],[32,9],[74],[4,64],[32,9],[33,4],[5],[32,4],[65,0],[114],[33,4],[11],[5],[65,0],[33,4],[11],[32,6],[32,9],[65,2],[108],[106],[32,8],[107],[33,10],[32,6],[32,4],[65,2],[108],[106],[33,6],[3,64],[32,6],[32,10],[76],[4,64],[65,1],[33,11],[65,0],[33,12],[3,64],[32,12],[32,8],[72],[4,64],[2,64],[32,6],[32,12],[106],[47,0,4],[33,13],[32,7],[32,12],[106],[47,0,4],[33,14],[32,13],[32,14],[71],[4,64],[65,0],[33,11],[12,2],[26],[11],[11],[32,12],[65,2],[106],[33,12],[12,1],[11],[11],[32,11],[4,64],[65,1],[65,2],[15],[26],[11],[32,6],[65,2],[106],[33,6],[12,1],[11],[11],[65,0],[65,2],[15]],
2989
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[33,6],[32,2],[33,7],[32,2],[40,1,0],[65,2],[108],[33,8],[32,0],[40,1,0],[33,9],[32,4],[65,0],[74],[4,64],[32,4],[32,9],[74],[4,64],[32,9],[33,4],[5],[32,4],[65,0],[114],[33,4],[11],[5],[65,0],[33,4],[11],[32,6],[32,9],[65,2],[108],[106],[32,8],[107],[33,10],[32,6],[32,4],[65,2],[108],[106],[33,6],[3,64],[32,6],[32,10],[76],[4,64],[65,1],[33,11],[65,0],[33,12],[3,64],[32,12],[32,8],[72],[4,64],[2,64],[32,6],[32,12],[106],[47,0,4],[33,13],[32,7],[32,12],[106],[47,0,4],[33,14],[32,13],[32,14],[71],[4,64],[65,0],[33,11],[12,2],[26],[11],[11],[32,12],[65,2],[106],[33,12],[12,1],[11],[11],[32,11],[4,64],[65,1],[65,2],[15],[26],[11],[32,6],[65,2],[106],[33,6],[12,1],[11],[11],[65,0],[65,2],[15]],
2990
2990
  params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
2991
2991
  locals:[127,127,127,127,127,127,127,127,127],localNames:["_this","_this#type","searchString","searchString#type","position","position#type","thisPtr","searchPtr","searchLenX2","len","thisPtrEnd","match","i","chr","expected"],
2992
2992
  }
@@ -2996,7 +2996,7 @@ params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
2996
2996
  locals:[127,127,127,127,127,127,127,127,127],localNames:["_this","_this#type","searchString","searchString#type","position","position#type","thisPtr","searchPtr","searchLen","len","thisPtrEnd","match","i","chr","expected"],
2997
2997
  }
2998
2998
  this.__String_prototype_padStart = {
2999
- wasm:(_,{builtin})=>[[16,builtin('__Porffor_allocate')],[34,6],[33,7],[32,0],[33,8],[32,0],[40,1,0],[33,9],[32,2],[65,0],[114],[34,2],[32,9],[107],[34,10],[65,0],[74],[4,64],[32,5],[65,128,1],[70],[4,64],[65,0],[33,11],[3,64],[32,11],[32,10],[72],[4,64],[32,7],[65,32],[59,0,4],[32,7],[65,2],[106],[33,7],[32,11],[65,1],[106],[33,11],[12,1],[11],[11],[32,6],[32,2],[54,1,0],[5],[32,4],[40,1,0],[34,12],[65,0],[74],[4,64],[65,0],[33,11],[3,64],[32,11],[32,10],[72],[4,64],[32,7],[32,4],[40,1,0],[33,13],[32,11],[32,12],[111],[65,2],[108],[32,4],[106],[47,0,4],[59,0,4],[32,7],[65,2],[106],[33,7],[32,11],[65,1],[106],[33,11],[12,1],[11],[11],[32,6],[32,2],[54,1,0],[5],[32,6],[32,9],[54,1,0],[11],[11],[5],[32,6],[32,9],[54,1,0],[11],[32,8],[32,9],[65,2],[108],[106],[33,17],[3,64],[32,8],[32,17],[72],[4,64],[32,7],[32,8],[47,0,4],[59,0,4],[32,8],[65,2],[106],[33,8],[32,7],[65,2],[106],[33,7],[12,1],[11],[11],[32,6],[65,195,0],[15]],
2999
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[16,builtin('__Porffor_allocate')],[34,6],[33,7],[32,0],[33,8],[32,0],[40,1,0],[33,9],[32,2],[65,0],[114],[34,2],[32,9],[107],[34,10],[65,0],[74],[4,64],[32,5],[65,128,1],[70],[4,64],[65,0],[33,11],[3,64],[32,11],[32,10],[72],[4,64],[32,7],[65,32],[59,0,4],[32,7],[65,2],[106],[33,7],[32,11],[65,1],[106],[33,11],[12,1],[11],[11],[32,6],[32,2],[54,1,0],[5],[32,4],[40,1,0],[34,12],[65,0],[74],[4,64],[65,0],[33,11],[3,64],[32,11],[32,10],[72],[4,64],[32,7],[32,4],[40,1,0],[33,13],[32,11],[32,12],[111],[65,2],[108],[32,4],[106],[47,0,4],[59,0,4],[32,7],[65,2],[106],[33,7],[32,11],[65,1],[106],[33,11],[12,1],[11],[11],[32,6],[32,2],[54,1,0],[5],[32,6],[32,9],[54,1,0],[11],[11],[5],[32,6],[32,9],[54,1,0],[11],[32,8],[32,9],[65,2],[108],[106],[33,17],[3,64],[32,8],[32,17],[72],[4,64],[32,7],[32,8],[47,0,4],[59,0,4],[32,8],[65,2],[106],[33,8],[32,7],[65,2],[106],[33,7],[12,1],[11],[11],[32,6],[65,195,0],[15]],
3000
3000
  params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
3001
3001
  locals:[127,127,127,127,127,127,127,127,127,127,127,127],localNames:["_this","_this#type","targetLength","targetLength#type","padString","padString#type","out","outPtr","thisPtr","len","todo","i","padStringLen","__proto_length_cache","__proto_pointer_cache","__charCodeAt_tmp","#last_type","thisPtrEnd"],
3002
3002
  usedTypes:[67],
@@ -3008,7 +3008,7 @@ locals:[127,127,127,127,127,127,127,127,127],localNames:["_this","_this#type","t
3008
3008
  usedTypes:[195],
3009
3009
  }
3010
3010
  this.__String_prototype_padEnd = {
3011
- wasm:(_,{builtin})=>[[16,builtin('__Porffor_allocate')],[34,6],[33,7],[32,0],[33,8],[32,0],[40,1,0],[33,9],[32,8],[32,9],[65,2],[108],[106],[33,10],[3,64],[32,8],[32,10],[72],[4,64],[32,7],[32,8],[47,0,4],[59,0,4],[32,8],[65,2],[106],[33,8],[32,7],[65,2],[106],[33,7],[12,1],[11],[11],[32,2],[65,0],[114],[34,2],[32,9],[107],[34,11],[65,0],[74],[4,64],[32,5],[65,128,1],[70],[4,64],[65,0],[33,12],[3,64],[32,12],[32,11],[72],[4,64],[32,7],[65,32],[59,0,4],[32,7],[65,2],[106],[33,7],[32,12],[65,1],[106],[33,12],[12,1],[11],[11],[32,6],[32,2],[54,1,0],[5],[32,4],[40,1,0],[34,13],[65,0],[74],[4,64],[65,0],[33,12],[3,64],[32,12],[32,11],[72],[4,64],[32,7],[32,4],[40,1,0],[33,14],[32,12],[32,13],[111],[65,2],[108],[32,4],[106],[47,0,4],[59,0,4],[32,7],[65,2],[106],[33,7],[32,12],[65,1],[106],[33,12],[12,1],[11],[11],[32,6],[32,2],[54,1,0],[5],[32,6],[32,9],[54,1,0],[11],[11],[5],[32,6],[32,9],[54,1,0],[11],[32,6],[65,195,0],[15]],
3011
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[16,builtin('__Porffor_allocate')],[34,6],[33,7],[32,0],[33,8],[32,0],[40,1,0],[33,9],[32,8],[32,9],[65,2],[108],[106],[33,10],[3,64],[32,8],[32,10],[72],[4,64],[32,7],[32,8],[47,0,4],[59,0,4],[32,8],[65,2],[106],[33,8],[32,7],[65,2],[106],[33,7],[12,1],[11],[11],[32,2],[65,0],[114],[34,2],[32,9],[107],[34,11],[65,0],[74],[4,64],[32,5],[65,128,1],[70],[4,64],[65,0],[33,12],[3,64],[32,12],[32,11],[72],[4,64],[32,7],[65,32],[59,0,4],[32,7],[65,2],[106],[33,7],[32,12],[65,1],[106],[33,12],[12,1],[11],[11],[32,6],[32,2],[54,1,0],[5],[32,4],[40,1,0],[34,13],[65,0],[74],[4,64],[65,0],[33,12],[3,64],[32,12],[32,11],[72],[4,64],[32,7],[32,4],[40,1,0],[33,14],[32,12],[32,13],[111],[65,2],[108],[32,4],[106],[47,0,4],[59,0,4],[32,7],[65,2],[106],[33,7],[32,12],[65,1],[106],[33,12],[12,1],[11],[11],[32,6],[32,2],[54,1,0],[5],[32,6],[32,9],[54,1,0],[11],[11],[5],[32,6],[32,9],[54,1,0],[11],[32,6],[65,195,0],[15]],
3012
3012
  params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
3013
3013
  locals:[127,127,127,127,127,127,127,127,127,127,127,127],localNames:["_this","_this#type","targetLength","targetLength#type","padString","padString#type","out","outPtr","thisPtr","len","thisPtrEnd","todo","i","padStringLen","__proto_length_cache","__proto_pointer_cache","__charCodeAt_tmp","#last_type"],
3014
3014
  usedTypes:[67],
@@ -3020,7 +3020,7 @@ locals:[127,127,127,127,127,127,127,127,127],localNames:["_this","_this#type","t
3020
3020
  usedTypes:[195],
3021
3021
  }
3022
3022
  this.__String_prototype_substring = {
3023
- wasm:(_,{builtin})=>[[32,0],[40,1,0],[33,6],[32,5],[65,128,1],[70],[4,64],[32,6],[33,4],[5],[32,2],[32,4],[74],[4,64],[32,4],[33,7],[32,2],[33,4],[32,7],[33,2],[11],[11],[32,2],[65,0],[114],[33,2],[32,4],[65,0],[114],[33,4],[32,2],[65,0],[72],[4,64],[65,0],[33,2],[11],[32,2],[32,6],[74],[4,64],[32,6],[33,2],[11],[32,4],[65,0],[72],[4,64],[65,0],[33,4],[11],[32,4],[32,6],[74],[4,64],[32,6],[33,4],[11],[16,builtin('__Porffor_allocate')],[34,8],[33,9],[32,0],[34,10],[32,4],[65,2],[108],[106],[33,11],[32,10],[32,2],[65,2],[108],[106],[33,10],[3,64],[32,10],[32,11],[72],[4,64],[32,9],[32,10],[47,0,4],[59,0,4],[32,10],[65,2],[106],[33,10],[32,9],[65,2],[106],[33,9],[12,1],[11],[11],[32,8],[32,4],[32,2],[107],[54,1,0],[32,8],[65,195,0],[15]],
3023
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[40,1,0],[33,6],[32,5],[65,128,1],[70],[4,64],[32,6],[33,4],[5],[32,2],[32,4],[74],[4,64],[32,4],[33,7],[32,2],[33,4],[32,7],[33,2],[11],[11],[32,2],[65,0],[114],[33,2],[32,4],[65,0],[114],[33,4],[32,2],[65,0],[72],[4,64],[65,0],[33,2],[11],[32,2],[32,6],[74],[4,64],[32,6],[33,2],[11],[32,4],[65,0],[72],[4,64],[65,0],[33,4],[11],[32,4],[32,6],[74],[4,64],[32,6],[33,4],[11],[16,builtin('__Porffor_allocate')],[34,8],[33,9],[32,0],[34,10],[32,4],[65,2],[108],[106],[33,11],[32,10],[32,2],[65,2],[108],[106],[33,10],[3,64],[32,10],[32,11],[72],[4,64],[32,9],[32,10],[47,0,4],[59,0,4],[32,10],[65,2],[106],[33,10],[32,9],[65,2],[106],[33,9],[12,1],[11],[11],[32,8],[32,4],[32,2],[107],[54,1,0],[32,8],[65,195,0],[15]],
3024
3024
  params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
3025
3025
  locals:[127,127,127,127,127,127],localNames:["_this","_this#type","start","start#type","end","end#type","len","tmp","out","outPtr","thisPtr","thisPtrEnd"],
3026
3026
  usedTypes:[67],
@@ -3032,19 +3032,19 @@ locals:[127,127,127,127,127,127],localNames:["_this","_this#type","start","start
3032
3032
  usedTypes:[195],
3033
3033
  }
3034
3034
  this.__String_prototype_substr = {
3035
- wasm:(_,{builtin})=>[[32,0],[40,1,0],[33,6],[32,2],[65,0],[114],[34,2],[65,0],[72],[4,64],[32,6],[32,2],[106],[34,2],[65,0],[72],[4,64],[65,0],[33,2],[11],[11],[32,5],[65,128,1],[70],[4,64],[32,6],[32,2],[107],[33,4],[11],[32,4],[65,0],[114],[33,4],[32,2],[32,4],[106],[32,6],[74],[4,64],[32,6],[32,2],[107],[33,4],[11],[16,builtin('__Porffor_allocate')],[34,7],[33,8],[32,0],[34,9],[32,2],[65,2],[108],[106],[34,9],[32,4],[65,2],[108],[106],[33,10],[3,64],[32,9],[32,10],[72],[4,64],[32,8],[32,9],[47,0,4],[59,0,4],[32,9],[65,2],[106],[33,9],[32,8],[65,2],[106],[33,8],[12,1],[11],[11],[32,7],[32,4],[54,1,0],[32,7],[65,195,0],[15]],
3035
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[40,1,0],[33,6],[32,2],[65,0],[114],[34,2],[65,0],[72],[4,64],[32,6],[32,2],[106],[34,2],[65,0],[72],[4,64],[65,0],[33,2],[11],[11],[32,5],[65,128,1],[70],[4,64],[32,6],[32,2],[107],[33,4],[11],[32,4],[65,0],[114],[33,4],[32,2],[32,4],[106],[32,6],[74],[4,64],[32,6],[32,2],[107],[33,4],[11],[16,builtin('__Porffor_allocate')],[34,7],[33,8],[32,0],[34,9],[32,2],[65,2],[108],[106],[34,9],[32,4],[65,2],[108],[106],[33,10],[3,64],[32,9],[32,10],[72],[4,64],[32,8],[32,9],[47,0,4],[59,0,4],[32,9],[65,2],[106],[33,9],[32,8],[65,2],[106],[33,8],[12,1],[11],[11],[32,7],[32,4],[54,1,0],[32,7],[65,195,0],[15]],
3036
3036
  params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
3037
3037
  locals:[127,127,127,127,127],localNames:["_this","_this#type","start","start#type","length","length#type","len","out","outPtr","thisPtr","thisPtrEnd"],
3038
3038
  usedTypes:[67],
3039
3039
  }
3040
3040
  this.__ByteString_prototype_substr = {
3041
- wasm:(_,{builtin})=>[[32,0],[40,1,0],[33,6],[32,2],[65,0],[114],[34,2],[65,0],[72],[4,64],[32,6],[32,2],[106],[34,2],[65,0],[72],[4,64],[65,0],[33,2],[11],[11],[32,5],[65,128,1],[70],[4,64],[32,6],[32,2],[107],[33,4],[11],[32,4],[65,0],[114],[33,4],[32,2],[32,4],[106],[32,6],[74],[4,64],[32,6],[32,2],[107],[33,4],[11],[16,builtin('__Porffor_allocate')],[34,7],[33,8],[32,0],[34,9],[32,2],[106],[34,9],[32,4],[106],[33,10],[3,64],[32,9],[32,10],[72],[4,64],[32,8],[32,8],[65,1],[106],[33,8],[32,9],[32,9],[65,1],[106],[33,9],[45,0,4],[58,0,4],[12,1],[11],[11],[32,7],[32,4],[54,1,0],[32,7],[65,195,1],[15]],
3041
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[40,1,0],[33,6],[32,2],[65,0],[114],[34,2],[65,0],[72],[4,64],[32,6],[32,2],[106],[34,2],[65,0],[72],[4,64],[65,0],[33,2],[11],[11],[32,5],[65,128,1],[70],[4,64],[32,6],[32,2],[107],[33,4],[11],[32,4],[65,0],[114],[33,4],[32,2],[32,4],[106],[32,6],[74],[4,64],[32,6],[32,2],[107],[33,4],[11],[16,builtin('__Porffor_allocate')],[34,7],[33,8],[32,0],[34,9],[32,2],[106],[34,9],[32,4],[106],[33,10],[3,64],[32,9],[32,10],[72],[4,64],[32,8],[32,8],[65,1],[106],[33,8],[32,9],[32,9],[65,1],[106],[33,9],[45,0,4],[58,0,4],[12,1],[11],[11],[32,7],[32,4],[54,1,0],[32,7],[65,195,1],[15]],
3042
3042
  params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
3043
3043
  locals:[127,127,127,127,127],localNames:["_this","_this#type","start","start#type","length","length#type","len","out","outPtr","thisPtr","thisPtrEnd"],
3044
3044
  usedTypes:[195],
3045
3045
  }
3046
3046
  this.__String_prototype_slice = {
3047
- wasm:(_,{builtin})=>[[32,0],[40,1,0],[33,6],[32,5],[65,128,1],[70],[4,64],[32,6],[33,4],[11],[32,2],[65,0],[114],[33,2],[32,4],[65,0],[114],[33,4],[32,2],[65,0],[72],[4,64],[32,6],[32,2],[106],[34,2],[65,0],[72],[4,64],[65,0],[33,2],[11],[11],[32,2],[32,6],[74],[4,64],[32,6],[33,2],[11],[32,4],[65,0],[72],[4,64],[32,6],[32,4],[106],[34,4],[65,0],[72],[4,64],[65,0],[33,4],[11],[11],[32,4],[32,6],[74],[4,64],[32,6],[33,4],[11],[16,builtin('__Porffor_allocate')],[33,7],[32,2],[32,4],[74],[4,64],[32,7],[65,195,0],[15],[26],[11],[32,7],[33,8],[32,0],[34,9],[32,4],[65,2],[108],[106],[33,10],[32,9],[32,2],[65,2],[108],[106],[33,9],[3,64],[32,9],[32,10],[72],[4,64],[32,8],[32,9],[47,0,4],[59,0,4],[32,9],[65,2],[106],[33,9],[32,8],[65,2],[106],[33,8],[12,1],[11],[11],[32,7],[32,4],[32,2],[107],[54,1,0],[32,7],[65,195,0],[15]],
3047
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[40,1,0],[33,6],[32,5],[65,128,1],[70],[4,64],[32,6],[33,4],[11],[32,2],[65,0],[114],[33,2],[32,4],[65,0],[114],[33,4],[32,2],[65,0],[72],[4,64],[32,6],[32,2],[106],[34,2],[65,0],[72],[4,64],[65,0],[33,2],[11],[11],[32,2],[32,6],[74],[4,64],[32,6],[33,2],[11],[32,4],[65,0],[72],[4,64],[32,6],[32,4],[106],[34,4],[65,0],[72],[4,64],[65,0],[33,4],[11],[11],[32,4],[32,6],[74],[4,64],[32,6],[33,4],[11],[16,builtin('__Porffor_allocate')],[33,7],[32,2],[32,4],[74],[4,64],[32,7],[65,195,0],[15],[26],[11],[32,7],[33,8],[32,0],[34,9],[32,4],[65,2],[108],[106],[33,10],[32,9],[32,2],[65,2],[108],[106],[33,9],[3,64],[32,9],[32,10],[72],[4,64],[32,8],[32,9],[47,0,4],[59,0,4],[32,9],[65,2],[106],[33,9],[32,8],[65,2],[106],[33,8],[12,1],[11],[11],[32,7],[32,4],[32,2],[107],[54,1,0],[32,7],[65,195,0],[15]],
3048
3048
  params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
3049
3049
  locals:[127,127,127,127,127],localNames:["_this","_this#type","start","start#type","end","end#type","len","out","outPtr","thisPtr","thisPtrEnd"],
3050
3050
  usedTypes:[67],
@@ -3056,7 +3056,7 @@ locals:[127,127,127,127,127],localNames:["_this","_this#type","start","start#typ
3056
3056
  usedTypes:[195],
3057
3057
  }
3058
3058
  this.__String_prototype_trimStart = {
3059
- wasm:(_,{builtin})=>[[16,builtin('__Porffor_allocate')],[34,2],[33,3],[32,0],[33,4],[32,0],[40,1,0],[33,5],[32,4],[32,5],[65,2],[108],[106],[33,6],[65,0],[33,7],[65,1],[33,8],[3,64],[32,4],[32,6],[72],[4,64],[32,4],[47,0,4],[33,9],[32,4],[65,2],[106],[33,4],[32,8],[4,64],[32,9],[65,9],[70],[32,9],[65,11],[70],[114],[32,9],[65,12],[70],[114],[32,9],[65,255,253,3],[70],[114],[32,9],[65,32],[70],[114],[32,9],[65,160,1],[70],[114],[32,9],[65,128,45],[70],[114],[32,9],[65,128,192,0],[70],[114],[32,9],[65,129,192,0],[70],[114],[32,9],[65,130,192,0],[70],[114],[32,9],[65,131,192,0],[70],[114],[32,9],[65,132,192,0],[70],[114],[32,9],[65,133,192,0],[70],[114],[32,9],[65,134,192,0],[70],[114],[32,9],[65,135,192,0],[70],[114],[32,9],[65,136,192,0],[70],[114],[32,9],[65,137,192,0],[70],[114],[32,9],[65,138,192,0],[70],[114],[32,9],[65,175,192,0],[70],[114],[32,9],[65,223,192,0],[70],[114],[32,9],[65,128,224,0],[70],[114],[32,9],[65,10],[70],[114],[32,9],[65,13],[70],[114],[32,9],[65,168,192,0],[70],[114],[32,9],[65,169,192,0],[70],[114],[4,64],[32,7],[65,1],[106],[33,7],[12,3],[26],[11],[65,0],[33,8],[11],[32,3],[32,9],[59,0,4],[32,3],[65,2],[106],[33,3],[12,1],[11],[11],[32,2],[32,5],[32,7],[107],[54,1,0],[32,2],[65,195,0],[15]],
3059
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[16,builtin('__Porffor_allocate')],[34,2],[33,3],[32,0],[33,4],[32,0],[40,1,0],[33,5],[32,4],[32,5],[65,2],[108],[106],[33,6],[65,0],[33,7],[65,1],[33,8],[3,64],[32,4],[32,6],[72],[4,64],[32,4],[47,0,4],[33,9],[32,4],[65,2],[106],[33,4],[32,8],[4,64],[32,9],[65,9],[70],[32,9],[65,11],[70],[114],[32,9],[65,12],[70],[114],[32,9],[65,255,253,3],[70],[114],[32,9],[65,32],[70],[114],[32,9],[65,160,1],[70],[114],[32,9],[65,128,45],[70],[114],[32,9],[65,128,192,0],[70],[114],[32,9],[65,129,192,0],[70],[114],[32,9],[65,130,192,0],[70],[114],[32,9],[65,131,192,0],[70],[114],[32,9],[65,132,192,0],[70],[114],[32,9],[65,133,192,0],[70],[114],[32,9],[65,134,192,0],[70],[114],[32,9],[65,135,192,0],[70],[114],[32,9],[65,136,192,0],[70],[114],[32,9],[65,137,192,0],[70],[114],[32,9],[65,138,192,0],[70],[114],[32,9],[65,175,192,0],[70],[114],[32,9],[65,223,192,0],[70],[114],[32,9],[65,128,224,0],[70],[114],[32,9],[65,10],[70],[114],[32,9],[65,13],[70],[114],[32,9],[65,168,192,0],[70],[114],[32,9],[65,169,192,0],[70],[114],[4,64],[32,7],[65,1],[106],[33,7],[12,3],[26],[11],[65,0],[33,8],[11],[32,3],[32,9],[59,0,4],[32,3],[65,2],[106],[33,3],[12,1],[11],[11],[32,2],[32,5],[32,7],[107],[54,1,0],[32,2],[65,195,0],[15]],
3060
3060
  params:[127,127],typedParams:1,returns:[127,127],
3061
3061
  locals:[127,127,127,127,127,127,127,127],localNames:["_this","_this#type","out","outPtr","thisPtr","len","thisPtrEnd","n","start","chr"],
3062
3062
  usedTypes:[67],
@@ -3068,7 +3068,7 @@ locals:[127,127,127,127,127,127,127,127],localNames:["_this","_this#type","out",
3068
3068
  usedTypes:[195],
3069
3069
  }
3070
3070
  this.__String_prototype_trimEnd = {
3071
- wasm:(_,{builtin})=>[[16,builtin('__Porffor_allocate')],[34,2],[33,3],[32,0],[33,4],[32,0],[40,1,0],[33,5],[32,4],[33,6],[32,4],[32,5],[65,2],[108],[106],[33,4],[32,3],[32,5],[65,2],[108],[106],[33,3],[65,0],[33,7],[65,1],[33,8],[3,64],[32,4],[32,6],[74],[4,64],[32,4],[65,2],[107],[34,4],[47,0,4],[33,9],[32,3],[65,2],[107],[33,3],[32,8],[4,64],[32,9],[65,9],[70],[32,9],[65,11],[70],[114],[32,9],[65,12],[70],[114],[32,9],[65,255,253,3],[70],[114],[32,9],[65,32],[70],[114],[32,9],[65,160,1],[70],[114],[32,9],[65,128,45],[70],[114],[32,9],[65,128,192,0],[70],[114],[32,9],[65,129,192,0],[70],[114],[32,9],[65,130,192,0],[70],[114],[32,9],[65,131,192,0],[70],[114],[32,9],[65,132,192,0],[70],[114],[32,9],[65,133,192,0],[70],[114],[32,9],[65,134,192,0],[70],[114],[32,9],[65,135,192,0],[70],[114],[32,9],[65,136,192,0],[70],[114],[32,9],[65,137,192,0],[70],[114],[32,9],[65,138,192,0],[70],[114],[32,9],[65,175,192,0],[70],[114],[32,9],[65,223,192,0],[70],[114],[32,9],[65,128,224,0],[70],[114],[32,9],[65,10],[70],[114],[32,9],[65,13],[70],[114],[32,9],[65,168,192,0],[70],[114],[32,9],[65,169,192,0],[70],[114],[4,64],[32,7],[65,1],[106],[33,7],[12,3],[26],[11],[65,0],[33,8],[11],[32,3],[32,9],[59,0,4],[12,1],[11],[11],[32,2],[32,5],[32,7],[107],[54,1,0],[32,2],[65,195,0],[15]],
3071
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[16,builtin('__Porffor_allocate')],[34,2],[33,3],[32,0],[33,4],[32,0],[40,1,0],[33,5],[32,4],[33,6],[32,4],[32,5],[65,2],[108],[106],[33,4],[32,3],[32,5],[65,2],[108],[106],[33,3],[65,0],[33,7],[65,1],[33,8],[3,64],[32,4],[32,6],[74],[4,64],[32,4],[65,2],[107],[34,4],[47,0,4],[33,9],[32,3],[65,2],[107],[33,3],[32,8],[4,64],[32,9],[65,9],[70],[32,9],[65,11],[70],[114],[32,9],[65,12],[70],[114],[32,9],[65,255,253,3],[70],[114],[32,9],[65,32],[70],[114],[32,9],[65,160,1],[70],[114],[32,9],[65,128,45],[70],[114],[32,9],[65,128,192,0],[70],[114],[32,9],[65,129,192,0],[70],[114],[32,9],[65,130,192,0],[70],[114],[32,9],[65,131,192,0],[70],[114],[32,9],[65,132,192,0],[70],[114],[32,9],[65,133,192,0],[70],[114],[32,9],[65,134,192,0],[70],[114],[32,9],[65,135,192,0],[70],[114],[32,9],[65,136,192,0],[70],[114],[32,9],[65,137,192,0],[70],[114],[32,9],[65,138,192,0],[70],[114],[32,9],[65,175,192,0],[70],[114],[32,9],[65,223,192,0],[70],[114],[32,9],[65,128,224,0],[70],[114],[32,9],[65,10],[70],[114],[32,9],[65,13],[70],[114],[32,9],[65,168,192,0],[70],[114],[32,9],[65,169,192,0],[70],[114],[4,64],[32,7],[65,1],[106],[33,7],[12,3],[26],[11],[65,0],[33,8],[11],[32,3],[32,9],[59,0,4],[12,1],[11],[11],[32,2],[32,5],[32,7],[107],[54,1,0],[32,2],[65,195,0],[15]],
3072
3072
  params:[127,127],typedParams:1,returns:[127,127],
3073
3073
  locals:[127,127,127,127,127,127,127,127],localNames:["_this","_this#type","out","outPtr","thisPtr","len","thisPtrStart","n","start","chr"],
3074
3074
  usedTypes:[67],
@@ -3080,7 +3080,7 @@ locals:[127,127,127,127,127,127,127,127],localNames:["_this","_this#type","out",
3080
3080
  usedTypes:[195],
3081
3081
  }
3082
3082
  this.__String_prototype_trim = {
3083
- wasm:(_,{builtin})=>[[32,0],[65,195,0],[16,builtin('__String_prototype_trimEnd')],[34,2],[16,builtin('__String_prototype_trimStart')],[34,2],[15]],
3083
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[65,195,0],[16,builtin('__String_prototype_trimEnd')],[34,2],[16,builtin('__String_prototype_trimStart')],[34,2],[15]],
3084
3084
  params:[127,127],typedParams:1,returns:[127,127],
3085
3085
  locals:[127],localNames:["_this","_this#type","#last_type"],
3086
3086
  usedTypes:[67],
@@ -3104,21 +3104,21 @@ locals:[127,127,127,127],localNames:["_this","_this#type","vals","vals#type","ou
3104
3104
  hasRestArgument:1,
3105
3105
  }
3106
3106
  this.__String_prototype_repeat = {
3107
- wasm:(_,{builtin,internalThrow})=>[[32,2],[183],[32,3],[16,builtin('__ecma262_ToIntegerOrInfinity')],[252,2],[34,4],[65,0],[72],[4,64],...internalThrow(_,'RangeError',`Invalid count value`),[26],[11],[16,builtin('__Porffor_allocate')],[33,5],[32,0],[40,1,0],[65,2],[108],[34,6],[69],[4,64],[65,0],[65,195,1],[15],[26],[11],[65,0],[33,7],[3,64],[32,7],[32,4],[72],[4,64],[32,5],[65,4],[106],[32,7],[32,6],[108],[106],[32,0],[65,4],[106],[32,6],[252,10,0,0],[32,7],[65,1],[106],[33,7],[12,1],[11],[11],[32,5],[32,6],[32,4],[108],[54,0,0],[32,5],[65,195,0],[15]],
3107
+ wasm:(_,{builtin,internalThrow})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,2],[183],[32,3],[16,builtin('__ecma262_ToIntegerOrInfinity')],[252,2],[34,4],[65,0],[72],[4,64],...internalThrow(_,'RangeError',`Invalid count value`),[26],[11],[16,builtin('__Porffor_allocate')],[33,5],[32,0],[40,1,0],[65,2],[108],[34,6],[69],[4,64],[65,0],[65,195,1],[15],[26],[11],[65,0],[33,7],[3,64],[32,7],[32,4],[72],[4,64],[32,5],[65,4],[106],[32,7],[32,6],[108],[106],[32,0],[65,4],[106],[32,6],[252,10,0,0],[32,7],[65,1],[106],[33,7],[12,1],[11],[11],[32,5],[32,6],[32,4],[108],[54,0,0],[32,5],[65,195,0],[15]],
3108
3108
  params:[127,127,127,127],typedParams:1,returns:[127,127],
3109
3109
  locals:[127,127,127,127],localNames:["_this","_this#type","cnt","cnt#type","count","out","thisLen","i"],
3110
3110
  usedTypes:[195,67],
3111
3111
  usesTag:1,
3112
3112
  }
3113
3113
  this.__ByteString_prototype_repeat = {
3114
- wasm:(_,{builtin,internalThrow})=>[[32,2],[183],[32,3],[16,builtin('__ecma262_ToIntegerOrInfinity')],[252,2],[34,4],[65,0],[72],[4,64],...internalThrow(_,'RangeError',`Invalid count value`),[26],[11],[16,builtin('__Porffor_allocate')],[33,5],[32,0],[40,1,0],[34,6],[69],[4,64],[65,0],[65,195,1],[15],[26],[11],[65,0],[33,7],[3,64],[32,7],[32,4],[72],[4,64],[32,5],[65,4],[106],[32,7],[32,6],[108],[106],[32,0],[65,4],[106],[32,6],[252,10,0,0],[32,7],[65,1],[106],[33,7],[12,1],[11],[11],[32,5],[32,6],[32,4],[108],[54,0,0],[32,5],[65,195,1],[15]],
3114
+ wasm:(_,{builtin,internalThrow})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,2],[183],[32,3],[16,builtin('__ecma262_ToIntegerOrInfinity')],[252,2],[34,4],[65,0],[72],[4,64],...internalThrow(_,'RangeError',`Invalid count value`),[26],[11],[16,builtin('__Porffor_allocate')],[33,5],[32,0],[40,1,0],[34,6],[69],[4,64],[65,0],[65,195,1],[15],[26],[11],[65,0],[33,7],[3,64],[32,7],[32,4],[72],[4,64],[32,5],[65,4],[106],[32,7],[32,6],[108],[106],[32,0],[65,4],[106],[32,6],[252,10,0,0],[32,7],[65,1],[106],[33,7],[12,1],[11],[11],[32,5],[32,6],[32,4],[108],[54,0,0],[32,5],[65,195,1],[15]],
3115
3115
  params:[127,127,127,127],typedParams:1,returns:[127,127],
3116
3116
  locals:[127,127,127,127],localNames:["_this","_this#type","cnt","cnt#type","count","out","thisLen","i"],
3117
3117
  usedTypes:[195],
3118
3118
  usesTag:1,
3119
3119
  }
3120
3120
  this.__String_prototype_split = {
3121
- wasm:(_,{t,builtin,internalThrow})=>[[16,builtin('__Porffor_allocate')],[33,6],[65,0],[33,7],[65,195,0],[33,8],[32,5],[65,128,1],[70],[4,64],[65,255,255,255,255,7],[33,4],[65,1],[33,5],[11],[32,4],[65,0],[114],[33,4],[65,1],[33,5],[32,4],[65,0],[72],[4,64],[65,255,255,255,255,7],[33,4],[65,1],[33,5],[11],[16,builtin('__Porffor_allocate')],[33,9],[65,0],[33,10],[32,0],[40,1,0],[65,2],[108],[33,11],[32,2],[40,1,0],[34,12],[65,1],[70],[4,64],[32,2],[40,1,0],[33,14],[32,3],[33,16],[2,127],...t([31],()=>[[32,16],[65,31],[70],[4,64],[65,1],[33,18],[65,0],[65,2],[108],[32,2],[106],[47,0,4],[12,1],[11]]),...t([67],()=>[[32,16],[65,195,0],[70],[4,64],[65,1],[33,18],[65,0],[65,2],[108],[32,2],[106],[47,0,4],[12,1],[11]]),...t([195],()=>[[32,16],[65,195,1],[70],[4,64],[65,1],[33,18],[65,0],[32,2],[106],[45,0,4],[12,1],[11]]),...internalThrow(_,'TypeError',`'charCodeAt' proto func tried to be called on a type without an impl`),[65,0],[11],[33,13],[65,0],[33,19],[3,64],[32,19],[32,11],[72],[4,64],[2,64],[32,0],[32,19],[106],[47,0,4],[34,20],[32,13],[70],[4,64],[32,7],[32,4],[78],[4,64],[32,6],[32,7],[54,1,0],[32,6],[65,200,0],[15],[26],[11],[32,9],[32,10],[54,1,0],[32,6],[32,7],[65,9],[108],[106],[32,9],[184],[57,0,4],[32,6],[32,7],[65,9],[108],[106],[32,8],[58,0,12],[32,7],[65,1],[106],[33,7],[16,builtin('__Porffor_allocate')],[33,9],[65,0],[33,10],[12,1],[26],[11],[32,9],[32,10],[65,2],[108],[106],[32,20],[59,0,4],[32,10],[65,1],[106],[33,10],[11],[32,19],[65,2],[106],[33,19],[12,1],[11],[11],[5],[65,0],[33,21],[65,0],[33,19],[3,64],[32,19],[32,11],[72],[4,64],[2,64],[32,0],[32,19],[106],[47,0,4],[34,20],[32,2],[40,1,0],[33,14],[32,3],[33,16],[2,127],...t([31],()=>[[32,16],[65,31],[70],[4,64],[65,1],[33,18],[32,21],[65,2],[108],[32,2],[106],[47,0,4],[12,1],[11]]),...t([67],()=>[[32,16],[65,195,0],[70],[4,64],[65,1],[33,18],[32,21],[65,2],[108],[32,2],[106],[47,0,4],[12,1],[11]]),...t([195],()=>[[32,16],[65,195,1],[70],[4,64],[65,1],[33,18],[32,21],[32,2],[106],[45,0,4],[12,1],[11]]),...internalThrow(_,'TypeError',`'charCodeAt' proto func tried to be called on a type without an impl`),[65,0],[11],[70],[4,64],[32,21],[65,1],[106],[34,21],[32,12],[70],[4,64],[32,7],[32,4],[78],[4,64],[32,6],[32,7],[54,1,0],[32,6],[65,200,0],[15],[26],[11],[32,9],[32,10],[32,12],[65,1],[107],[107],[54,1,0],[32,6],[32,7],[65,9],[108],[106],[32,9],[184],[57,0,4],[32,6],[32,7],[65,9],[108],[106],[32,8],[58,0,12],[32,7],[65,1],[106],[33,7],[16,builtin('__Porffor_allocate')],[33,9],[65,0],[33,10],[12,2],[26],[11],[5],[65,0],[33,21],[11],[32,9],[32,10],[106],[32,20],[59,0,4],[32,10],[65,1],[106],[33,10],[11],[32,19],[65,2],[106],[33,19],[12,1],[11],[11],[11],[32,10],[65,0],[74],[34,22],[4,127],[32,7],[32,4],[72],[65,2],[33,18],[5],[32,22],[65,2],[33,18],[11],[33,23],[32,18],[33,16],[2,127],...t([67,195],()=>[[32,16],[65,195,0],[70],[32,16],[65,195,1],[70],[114],[4,64],[32,23],[40,1,0],[12,1],[11]]),[32,23],[11],[4,64],[32,9],[32,10],[54,1,0],[32,6],[32,7],[65,9],[108],[106],[32,9],[184],[57,0,4],[32,6],[32,7],[65,9],[108],[106],[32,8],[58,0,12],[32,7],[65,1],[106],[33,7],[11],[32,6],[32,7],[54,1,0],[32,6],[65,200,0],[15]],
3121
+ wasm:(_,{t,builtin,internalThrow})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[16,builtin('__Porffor_allocate')],[33,6],[65,0],[33,7],[65,195,0],[33,8],[32,5],[65,128,1],[70],[4,64],[65,255,255,255,255,7],[33,4],[65,1],[33,5],[11],[32,4],[65,0],[114],[33,4],[65,1],[33,5],[32,4],[65,0],[72],[4,64],[65,255,255,255,255,7],[33,4],[65,1],[33,5],[11],[16,builtin('__Porffor_allocate')],[33,9],[65,0],[33,10],[32,0],[40,1,0],[65,2],[108],[33,11],[32,2],[40,1,0],[34,12],[65,1],[70],[4,64],[32,2],[40,1,0],[33,14],[32,3],[33,16],[2,127],...t([31],()=>[[32,16],[65,31],[70],[4,64],[65,1],[33,18],[65,0],[65,2],[108],[32,2],[106],[47,0,4],[12,1],[11]]),...t([67],()=>[[32,16],[65,195,0],[70],[4,64],[65,1],[33,18],[65,0],[65,2],[108],[32,2],[106],[47,0,4],[12,1],[11]]),...t([195],()=>[[32,16],[65,195,1],[70],[4,64],[65,1],[33,18],[65,0],[32,2],[106],[45,0,4],[12,1],[11]]),...internalThrow(_,'TypeError',`'charCodeAt' proto func tried to be called on a type without an impl`),[65,0],[11],[33,13],[65,0],[33,19],[3,64],[32,19],[32,11],[72],[4,64],[2,64],[32,0],[32,19],[106],[47,0,4],[34,20],[32,13],[70],[4,64],[32,7],[32,4],[78],[4,64],[32,6],[32,7],[54,1,0],[32,6],[65,200,0],[15],[26],[11],[32,9],[32,10],[54,1,0],[32,6],[32,7],[65,9],[108],[106],[32,9],[184],[57,0,4],[32,6],[32,7],[65,9],[108],[106],[32,8],[58,0,12],[32,7],[65,1],[106],[33,7],[16,builtin('__Porffor_allocate')],[33,9],[65,0],[33,10],[12,1],[26],[11],[32,9],[32,10],[65,2],[108],[106],[32,20],[59,0,4],[32,10],[65,1],[106],[33,10],[11],[32,19],[65,2],[106],[33,19],[12,1],[11],[11],[5],[65,0],[33,21],[65,0],[33,19],[3,64],[32,19],[32,11],[72],[4,64],[2,64],[32,0],[32,19],[106],[47,0,4],[34,20],[32,2],[40,1,0],[33,14],[32,3],[33,16],[2,127],...t([31],()=>[[32,16],[65,31],[70],[4,64],[65,1],[33,18],[32,21],[65,2],[108],[32,2],[106],[47,0,4],[12,1],[11]]),...t([67],()=>[[32,16],[65,195,0],[70],[4,64],[65,1],[33,18],[32,21],[65,2],[108],[32,2],[106],[47,0,4],[12,1],[11]]),...t([195],()=>[[32,16],[65,195,1],[70],[4,64],[65,1],[33,18],[32,21],[32,2],[106],[45,0,4],[12,1],[11]]),...internalThrow(_,'TypeError',`'charCodeAt' proto func tried to be called on a type without an impl`),[65,0],[11],[70],[4,64],[32,21],[65,1],[106],[34,21],[32,12],[70],[4,64],[32,7],[32,4],[78],[4,64],[32,6],[32,7],[54,1,0],[32,6],[65,200,0],[15],[26],[11],[32,9],[32,10],[32,12],[65,1],[107],[107],[54,1,0],[32,6],[32,7],[65,9],[108],[106],[32,9],[184],[57,0,4],[32,6],[32,7],[65,9],[108],[106],[32,8],[58,0,12],[32,7],[65,1],[106],[33,7],[16,builtin('__Porffor_allocate')],[33,9],[65,0],[33,10],[12,2],[26],[11],[5],[65,0],[33,21],[11],[32,9],[32,10],[106],[32,20],[59,0,4],[32,10],[65,1],[106],[33,10],[11],[32,19],[65,2],[106],[33,19],[12,1],[11],[11],[11],[32,10],[65,0],[74],[34,22],[4,127],[32,7],[32,4],[72],[65,2],[33,18],[5],[32,22],[65,2],[33,18],[11],[33,23],[32,18],[33,16],[2,127],...t([67,195],()=>[[32,16],[65,195,0],[70],[32,16],[65,195,1],[70],[114],[4,64],[32,23],[40,1,0],[12,1],[11]]),[32,23],[11],[4,64],[32,9],[32,10],[54,1,0],[32,6],[32,7],[65,9],[108],[106],[32,9],[184],[57,0,4],[32,6],[32,7],[65,9],[108],[106],[32,8],[58,0,12],[32,7],[65,1],[106],[33,7],[11],[32,6],[32,7],[54,1,0],[32,6],[65,200,0],[15]],
3122
3122
  params:[127,127,127,127,127,127],typedParams:1,returns:[127,127],
3123
3123
  locals:[127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127],localNames:["_this","_this#type","separator","separator#type","limit","limit#type","out","outLen","sType","tmp","tmpLen","thisLen","sepLen","sepChar","__proto_length_cache","__proto_pointer_cache","#typeswitch_tmp1","__charCodeAt_tmp","#last_type","i","x","sepInd","logictmp","#logicinner_tmp"],
3124
3124
  usedTypes:[72,67],
@@ -3132,7 +3132,7 @@ usedTypes:[72,195],
3132
3132
  usesTag:1,
3133
3133
  }
3134
3134
  this.__String_prototype_localeCompare = {
3135
- wasm:(_,{t,builtin,internalThrow})=>[[32,2],[183],[32,3],[16,builtin('__ecma262_ToString')],[33,4],[252,2],[33,2],[32,4],[33,3],[32,0],[40,1,0],[33,5],[32,2],[40,1,0],[33,6],[32,5],[32,6],[74],[4,127],[32,5],[65,1],[33,4],[5],[32,6],[65,1],[33,4],[11],[33,7],[65,0],[33,8],[3,64],[32,8],[32,7],[72],[4,64],[2,64],[32,0],[40,1,0],[33,10],[65,1],[33,4],[32,8],[65,2],[108],[32,0],[106],[47,0,4],[33,9],[32,2],[40,1,0],[33,10],[32,3],[33,14],[2,127],...t([31],()=>[[32,14],[65,31],[70],[4,64],[65,1],[33,4],[32,8],[65,2],[108],[32,2],[106],[47,0,4],[12,1],[11]]),...t([67],()=>[[32,14],[65,195,0],[70],[4,64],[65,1],[33,4],[32,8],[65,2],[108],[32,2],[106],[47,0,4],[12,1],[11]]),...t([195],()=>[[32,14],[65,195,1],[70],[4,64],[65,1],[33,4],[32,8],[32,2],[106],[45,0,4],[12,1],[11]]),...internalThrow(_,'TypeError',`'charCodeAt' proto func tried to be called on a type without an impl`),[65,0],[11],[33,13],[32,9],[32,13],[74],[4,64],[65,1],[65,1],[15],[26],[11],[32,13],[32,9],[74],[4,64],[65,127],[65,1],[15],[26],[11],[11],[32,8],[65,1],[106],[33,8],[12,1],[11],[11],[32,5],[32,6],[74],[4,64],[65,1],[65,1],[15],[26],[11],[32,6],[32,5],[74],[4,64],[65,127],[65,1],[15],[26],[11],[65,0],[65,1],[15]],
3135
+ wasm:(_,{t,builtin,internalThrow})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,2],[183],[32,3],[16,builtin('__ecma262_ToString')],[33,4],[252,2],[33,2],[32,4],[33,3],[32,0],[40,1,0],[33,5],[32,2],[40,1,0],[33,6],[32,5],[32,6],[74],[4,127],[32,5],[65,1],[33,4],[5],[32,6],[65,1],[33,4],[11],[33,7],[65,0],[33,8],[3,64],[32,8],[32,7],[72],[4,64],[2,64],[32,0],[40,1,0],[33,10],[65,1],[33,4],[32,8],[65,2],[108],[32,0],[106],[47,0,4],[33,9],[32,2],[40,1,0],[33,10],[32,3],[33,14],[2,127],...t([31],()=>[[32,14],[65,31],[70],[4,64],[65,1],[33,4],[32,8],[65,2],[108],[32,2],[106],[47,0,4],[12,1],[11]]),...t([67],()=>[[32,14],[65,195,0],[70],[4,64],[65,1],[33,4],[32,8],[65,2],[108],[32,2],[106],[47,0,4],[12,1],[11]]),...t([195],()=>[[32,14],[65,195,1],[70],[4,64],[65,1],[33,4],[32,8],[32,2],[106],[45,0,4],[12,1],[11]]),...internalThrow(_,'TypeError',`'charCodeAt' proto func tried to be called on a type without an impl`),[65,0],[11],[33,13],[32,9],[32,13],[74],[4,64],[65,1],[65,1],[15],[26],[11],[32,13],[32,9],[74],[4,64],[65,127],[65,1],[15],[26],[11],[11],[32,8],[65,1],[106],[33,8],[12,1],[11],[11],[32,5],[32,6],[74],[4,64],[65,1],[65,1],[15],[26],[11],[32,6],[32,5],[74],[4,64],[65,127],[65,1],[15],[26],[11],[65,0],[65,1],[15]],
3136
3136
  params:[127,127,127,127],typedParams:1,returns:[127,127],
3137
3137
  locals:[127,127,127,127,127,127,127,127,127,127,127],localNames:["_this","_this#type","compareString","compareString#type","#last_type","thisLen","compareLen","maxLen","i","a","__proto_length_cache","__proto_pointer_cache","__charCodeAt_tmp","b","#typeswitch_tmp1"],
3138
3138
  usedTypes:[67],
@@ -3146,7 +3146,7 @@ usedTypes:[195],
3146
3146
  usesTag:1,
3147
3147
  }
3148
3148
  this.__String_prototype_isWellFormed = {
3149
- wasm:()=>[[32,0],[34,2],[32,0],[40,1,0],[65,2],[108],[106],[33,3],[3,64],[32,2],[32,3],[72],[4,64],[32,2],[47,0,4],[34,4],[65,128,184,3],[78],[32,4],[65,255,191,3],[76],[113],[4,64],[65,0],[65,2],[15],[26],[11],[32,4],[65,128,176,3],[78],[32,4],[65,255,183,3],[76],[113],[4,64],[32,2],[65,2],[106],[32,3],[72],[4,127],[32,2],[65,2],[106],[47,0,4],[65,1],[33,6],[5],[65,0],[65,1],[33,6],[11],[34,5],[65,128,184,3],[78],[32,5],[65,255,191,3],[76],[113],[4,64],[32,2],[65,2],[106],[33,2],[5],[65,0],[65,2],[15],[26],[11],[11],[32,2],[65,2],[106],[33,2],[12,1],[11],[11],[65,1],[65,2],[15]],
3149
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[34,2],[32,0],[40,1,0],[65,2],[108],[106],[33,3],[3,64],[32,2],[32,3],[72],[4,64],[32,2],[47,0,4],[34,4],[65,128,184,3],[78],[32,4],[65,255,191,3],[76],[113],[4,64],[65,0],[65,2],[15],[26],[11],[32,4],[65,128,176,3],[78],[32,4],[65,255,183,3],[76],[113],[4,64],[32,2],[65,2],[106],[32,3],[72],[4,127],[32,2],[65,2],[106],[47,0,4],[65,1],[33,6],[5],[65,0],[65,1],[33,6],[11],[34,5],[65,128,184,3],[78],[32,5],[65,255,191,3],[76],[113],[4,64],[32,2],[65,2],[106],[33,2],[5],[65,0],[65,2],[15],[26],[11],[11],[32,2],[65,2],[106],[33,2],[12,1],[11],[11],[65,1],[65,2],[15]],
3150
3150
  params:[127,127],typedParams:1,returns:[127,127],
3151
3151
  locals:[127,127,127,127,127],localNames:["_this","_this#type","ptr","endPtr","c1","c2","#last_type"],
3152
3152
  }
@@ -3156,7 +3156,7 @@ params:[127,127],typedParams:1,returns:[127,127],
3156
3156
  locals:[],localNames:["_this","_this#type"],
3157
3157
  }
3158
3158
  this.__String_prototype_toWellFormed = {
3159
- wasm:(_,{builtin})=>[[16,builtin('__Porffor_allocate')],[33,2],[32,0],[32,2],[16,builtin('__Porffor_clone')],[32,2],[34,3],[32,2],[40,1,0],[65,2],[108],[106],[33,4],[3,64],[32,3],[32,4],[72],[4,64],[32,3],[47,0,4],[34,5],[65,128,184,3],[78],[32,5],[65,255,191,3],[76],[113],[4,64],[32,3],[65,253,255,3],[59,0,4],[11],[32,5],[65,128,176,3],[78],[32,5],[65,255,183,3],[76],[113],[4,64],[32,3],[65,2],[106],[32,4],[72],[4,127],[32,3],[65,2],[106],[47,0,4],[65,1],[33,7],[5],[65,0],[65,1],[33,7],[11],[34,6],[65,128,184,3],[78],[32,6],[65,255,191,3],[76],[113],[4,64],[32,3],[65,2],[106],[33,3],[5],[32,3],[65,253,255,3],[59,0,4],[11],[11],[32,3],[65,2],[106],[33,3],[12,1],[11],[11],[32,2],[65,195,0],[15]],
3159
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[16,builtin('__Porffor_allocate')],[33,2],[32,0],[32,2],[16,builtin('__Porffor_clone')],[32,2],[34,3],[32,2],[40,1,0],[65,2],[108],[106],[33,4],[3,64],[32,3],[32,4],[72],[4,64],[32,3],[47,0,4],[34,5],[65,128,184,3],[78],[32,5],[65,255,191,3],[76],[113],[4,64],[32,3],[65,253,255,3],[59,0,4],[11],[32,5],[65,128,176,3],[78],[32,5],[65,255,183,3],[76],[113],[4,64],[32,3],[65,2],[106],[32,4],[72],[4,127],[32,3],[65,2],[106],[47,0,4],[65,1],[33,7],[5],[65,0],[65,1],[33,7],[11],[34,6],[65,128,184,3],[78],[32,6],[65,255,191,3],[76],[113],[4,64],[32,3],[65,2],[106],[33,3],[5],[32,3],[65,253,255,3],[59,0,4],[11],[11],[32,3],[65,2],[106],[33,3],[12,1],[11],[11],[32,2],[65,195,0],[15]],
3160
3160
  params:[127,127],typedParams:1,returns:[127,127],
3161
3161
  locals:[127,127,127,127,127,127],localNames:["_this","_this#type","out","ptr","endPtr","c1","c2","#last_type"],
3162
3162
  usedTypes:[67],
@@ -3168,7 +3168,7 @@ locals:[127],localNames:["_this","_this#type","out"],
3168
3168
  usedTypes:[195],
3169
3169
  }
3170
3170
  this.__String_prototype_toString = {
3171
- wasm:()=>[[32,0],[65,195,0],[15]],
3171
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[65,195,0],[15]],
3172
3172
  params:[127,127],typedParams:1,returns:[127,127],
3173
3173
  locals:[],localNames:["_this","_this#type"],
3174
3174
  usedTypes:[67],
@@ -3180,7 +3180,7 @@ locals:[],localNames:["_this","_this#type"],
3180
3180
  usedTypes:[195],
3181
3181
  }
3182
3182
  this.__String_prototype_toLocaleString = {
3183
- wasm:(_,{builtin})=>[[32,0],[65,195,0],[16,builtin('__String_prototype_toString')],[34,2],[15]],
3183
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[65,195,0],[16,builtin('__String_prototype_toString')],[34,2],[15]],
3184
3184
  params:[127,127],typedParams:1,returns:[127,127],
3185
3185
  locals:[127],localNames:["_this","_this#type","#last_type"],
3186
3186
  usedTypes:[67],
@@ -3192,7 +3192,7 @@ locals:[127],localNames:["_this","_this#type","#last_type"],
3192
3192
  usedTypes:[195],
3193
3193
  }
3194
3194
  this.__String_prototype_valueOf = {
3195
- wasm:()=>[[32,0],[65,195,0],[15]],
3195
+ wasm:(_,{builtin})=>[[32,1],[65,195,0],[71],[4,64],[32,0],[183],[32,1],[16,builtin('__ecma262_ToString')],[33,1],[252,2],[33,0],[32,1],[65,195,1],[70],[4,64],[32,0],[16,builtin('__Porffor_bytestringToString')],[33,0],[11],[11],[32,0],[65,195,0],[15]],
3196
3196
  params:[127,127],typedParams:1,returns:[127,127],
3197
3197
  locals:[],localNames:["_this","_this#type"],
3198
3198
  usedTypes:[67],
@@ -3204,7 +3204,7 @@ locals:[],localNames:["_this","_this#type"],
3204
3204
  usedTypes:[195],
3205
3205
  }
3206
3206
  this.String = {
3207
- wasm:(_,{t,builtin})=>[[68,0],[33,6],[65,195,1],[33,7],[32,4],[252,3],[40,1,0],[184],[68,0],[100],[4,64],[68,0],[33,11],[32,4],[33,10],[32,11],[252,3],[65,9],[108],[32,10],[252,3],[106],[34,13],[43,0,4],[32,13],[45,0,12],[34,12],[33,9],[33,8],[32,0],[33,14],[32,1],[33,15],[2,124],...t([67,195],()=>[[32,15],[65,195,0],[70],[32,15],[65,195,1],[70],[114],[4,64],[32,14],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,14],[68,0],[97],[184],[11],[34,16],[252,3],[4,124],[32,9],[184],[68,5],[97],[184],[65,2],[33,12],[5],[32,16],[65,2],[33,12],[11],[33,14],[32,12],[33,15],[2,127],...t([67,195],()=>[[32,15],[65,195,0],[70],[32,15],[65,195,1],[70],[114],[4,64],[32,14],[252,3],[40,1,0],[12,1],[11]]),[32,14],[252,3],[11],[4,64],[32,8],[32,9],[16,builtin('__Symbol_prototype_toString')],[34,12],[15],[26],[11],[32,8],[32,9],[16,builtin('__ecma262_ToString')],[34,12],[33,7],[33,6],[11],[32,0],[33,14],[32,1],[33,15],[2,124],...t([67,195],()=>[[32,15],[65,195,0],[70],[32,15],[65,195,1],[70],[114],[4,64],[32,14],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,14],[68,0],[97],[184],[11],[252,3],[4,64],[32,6],[32,7],[15],[26],[11],[32,7],[184],[68,195],[97],[4,64],[32,6],[252,2],[32,6],[252,3],[40,1,0],[16,builtin('__Porffor_bytestringToString')],[183],[33,6],[65,195,0],[33,7],[11],[32,6],[65,31],[15]],
3207
+ wasm:(_,{t,builtin})=>[[68,0],[33,6],[65,195,1],[33,7],[32,4],[252,3],[40,1,0],[184],[68,0],[100],[4,64],[68,0],[33,11],[32,4],[33,10],[32,11],[252,3],[65,9],[108],[32,10],[252,3],[106],[34,13],[43,0,4],[32,13],[45,0,12],[34,12],[33,9],[33,8],[32,0],[33,14],[32,1],[33,15],[2,124],...t([67,195],()=>[[32,15],[65,195,0],[70],[32,15],[65,195,1],[70],[114],[4,64],[32,14],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,14],[68,0],[97],[184],[11],[34,16],[252,3],[4,124],[32,9],[184],[68,5],[97],[184],[65,2],[33,12],[5],[32,16],[65,2],[33,12],[11],[33,14],[32,12],[33,15],[2,127],...t([67,195],()=>[[32,15],[65,195,0],[70],[32,15],[65,195,1],[70],[114],[4,64],[32,14],[252,3],[40,1,0],[12,1],[11]]),[32,14],[252,3],[11],[4,64],[32,8],[32,9],[16,builtin('__Symbol_prototype_toString')],[34,12],[15],[26],[11],[32,8],[32,9],[16,builtin('__ecma262_ToString')],[34,12],[33,7],[33,6],[11],[32,0],[33,14],[32,1],[33,15],[2,124],...t([67,195],()=>[[32,15],[65,195,0],[70],[32,15],[65,195,1],[70],[114],[4,64],[32,14],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,14],[68,0],[97],[184],[11],[252,3],[4,64],[32,6],[32,7],[15],[26],[11],[32,7],[184],[68,195],[97],[4,64],[32,6],[252,2],[16,builtin('__Porffor_bytestringToString')],[183],[33,6],[65,195,0],[33,7],[11],[32,6],[65,31],[15]],
3208
3208
  params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],
3209
3209
  locals:[124,127,124,127,124,124,127,127,124,127,124],localNames:["#newtarget","#newtarget#type","#this","#this#type","args","args#type","s","s#type","value","value#type","#member_obj_356","#member_prop_356","#last_type","#loadArray_offset","#logicinner_tmp","#typeswitch_tmp1","logictmp"],
3210
3210
  usedTypes:[195,72,67,31],
@@ -93,7 +93,7 @@ const funcRef = func => {
93
93
  }
94
94
 
95
95
  const wasm = [];
96
- const offset = func.constr ? 0 : 4;
96
+ const offset = func.constr ? 0 : (func.method ? 2 : 4);
97
97
  for (let i = 0; i < func.params.length; i++) {
98
98
  if (func.internal && func.name.includes('_prototype_') && i < 2) {
99
99
  // special case: use real this for prototype internals
@@ -433,8 +433,6 @@ const lookup = (scope, name, failEarly = false) => {
433
433
  let local = scope.locals[name];
434
434
 
435
435
  if (Object.hasOwn(builtinVars, name)) {
436
- if (builtinVars[name].floatOnly && valtype[0] === 'i') throw new Error(`Cannot use ${unhackName(name)} with integer valtype`);
437
-
438
436
  let wasm = builtinVars[name];
439
437
  if (wasm.usesImports) scope.usesImports = true;
440
438
 
@@ -456,7 +454,7 @@ const lookup = (scope, name, failEarly = false) => {
456
454
  // todo: not compliant
457
455
  let len = countLength(scope);
458
456
  const names = new Array(len);
459
- const off = scope.constr ? 4 : 0;
457
+ const off = scope.constr ? 4 : (scope.method ? 2 : 0);
460
458
  for (const x in scope.locals) {
461
459
  const i = scope.locals[x].idx - off;
462
460
  if (i >= 0 && i % 2 === 0 && i < len * 2) {
@@ -1716,7 +1714,7 @@ const getNodeType = (scope, node) => {
1716
1714
 
1717
1715
  if (node.type === 'ThisExpression') {
1718
1716
  if (scope.overrideThisType) return scope.overrideThisType;
1719
- if (!scope.constr) return getType(scope, 'globalThis');
1717
+ if (!scope.constr && !scope.method) return getType(scope, 'globalThis');
1720
1718
  return [ [ Opcodes.local_get, scope.locals['#this#type'].idx ] ];
1721
1719
  }
1722
1720
 
@@ -2452,7 +2450,6 @@ const generateCall = (scope, decl, _global, _name, unusedValue = false) => {
2452
2450
  idx = importedFuncs[name];
2453
2451
  scope.usesImports = true;
2454
2452
  } else if (Object.hasOwn(builtinFuncs, name)) {
2455
- if (builtinFuncs[name].floatOnly && valtype !== 'f64') throw new Error(`Cannot use built-in ${unhackName(name)} with integer valtype`);
2456
2453
  if (decl._new && !builtinFuncs[name].constr) return internalThrow(scope, 'TypeError', `${unhackName(name)} is not a constructor`, true);
2457
2454
 
2458
2455
  includeBuiltin(scope, name);
@@ -2636,6 +2633,11 @@ const generateCall = (scope, decl, _global, _name, unusedValue = false) => {
2636
2633
  paramOffset += 4;
2637
2634
  }
2638
2635
 
2636
+ if (func && func.method) {
2637
+ out.push(...(decl._thisWasm ?? createThisArg(scope, decl)));
2638
+ paramOffset += 2;
2639
+ }
2640
+
2639
2641
  if (func && args.length < paramCount) {
2640
2642
  // too little args, push undefineds
2641
2643
  const underflow = paramCount - (func.hasRestArgument ? 1 : 0) - args.length;
@@ -2720,7 +2722,7 @@ const generateCall = (scope, decl, _global, _name, unusedValue = false) => {
2720
2722
  const generateThis = (scope, decl) => {
2721
2723
  if (scope.overrideThis) return scope.overrideThis;
2722
2724
 
2723
- if (!scope.constr) {
2725
+ if (!scope.constr && !scope.method) {
2724
2726
  // this in a non-constructor context is a reference to globalThis
2725
2727
  return [
2726
2728
  ...generate(scope, { type: 'Identifier', name: 'globalThis' })
@@ -5527,7 +5529,10 @@ const generateObject = (scope, decl, global = false, name = '$undeclared') => {
5527
5529
 
5528
5530
  for (const x of decl.properties) {
5529
5531
  // method, shorthand are made into useful values by parser for us :)
5530
- let { type, argument, computed, kind, value } = x;
5532
+ let { type, argument, computed, kind, value, method } = x;
5533
+
5534
+ // tag function as not a constructor
5535
+ if (method) value._method = true;
5531
5536
 
5532
5537
  if (type === 'SpreadElement') {
5533
5538
  out.push(
@@ -5620,6 +5625,7 @@ const countParams = (func, name = undefined) => {
5620
5625
  name ??= func.name;
5621
5626
  let params = func.params.length;
5622
5627
  if (func.constr) params -= 4;
5628
+ if (func.method) params -= 2;
5623
5629
  if (!func.internal || builtinFuncs[name]?.typedParams) params = Math.floor(params / 2);
5624
5630
 
5625
5631
  return func.argc = params;
@@ -6123,6 +6129,9 @@ const generateClass = (scope, decl) => {
6123
6129
  let { type, value, kind, static: _static, computed } = x;
6124
6130
  if (kind === 'constructor') continue;
6125
6131
 
6132
+ // tag function as not a constructor
6133
+ if (type === 'MethodDefinition') value._method = true;
6134
+
6126
6135
  if (type === 'StaticBlock') {
6127
6136
  // todo: make this more compliant
6128
6137
  out.push(
@@ -6448,7 +6457,8 @@ const generateFunc = (scope, decl, forceNoExpr = false) => {
6448
6457
  name,
6449
6458
  index: currentFuncIndex++,
6450
6459
  arrow,
6451
- constr: !arrow && !decl.generator && !decl.async,
6460
+ constr: !arrow && !decl.generator && !decl.async && !decl._method, // constructable
6461
+ method: !arrow && (decl._method || decl.generator || decl.async), // has this but not constructable
6452
6462
  async: decl.async,
6453
6463
  subclass: decl._subclass, _onlyConstr: decl._onlyConstr, _onlyThisMethod: decl._onlyThisMethod,
6454
6464
  strict: scope.strict || decl.strict,
@@ -6527,10 +6537,34 @@ const generateFunc = (scope, decl, forceNoExpr = false) => {
6527
6537
  );
6528
6538
  }
6529
6539
 
6540
+ if (typeAnno.type === TYPES.string) {
6541
+ wasm.push(
6542
+ [ Opcodes.local_get, func.locals[name].idx + 1 ],
6543
+ number(TYPES.string, Valtype.i32),
6544
+ [ Opcodes.i32_ne ],
6545
+ [ Opcodes.if, Blocktype.void ],
6546
+ [ Opcodes.local_get, func.locals[name].idx ],
6547
+ [ Opcodes.f64_convert_i32_s ],
6548
+ [ Opcodes.local_get, func.locals[name].idx + 1 ],
6549
+ [ Opcodes.call, includeBuiltin(scope, '__ecma262_ToString').index ],
6550
+ [ Opcodes.local_set, func.locals[name].idx + 1 ],
6551
+ Opcodes.i32_trunc_sat_f64_s,
6552
+ [ Opcodes.local_set, func.locals[name].idx ],
6553
+ [ Opcodes.local_get, func.locals[name].idx + 1 ],
6554
+ number(TYPES.bytestring, Valtype.i32),
6555
+ [ Opcodes.i32_eq ],
6556
+ [ Opcodes.if, Blocktype.void ],
6557
+ [ Opcodes.local_get, func.locals[name].idx ],
6558
+ [ Opcodes.call, includeBuiltin(scope, '__Porffor_bytestringToString').index ],
6559
+ [ Opcodes.local_set, func.locals[name].idx ],
6560
+ [ Opcodes.end ],
6561
+ [ Opcodes.end ]
6562
+ );
6563
+ }
6564
+
6530
6565
  if ([
6531
6566
  TYPES.date, TYPES.number, TYPES.promise, TYPES.symbol, TYPES.function,
6532
- TYPES.set, TYPES.map,
6533
- TYPES.weakref, TYPES.weakset, TYPES.weakmap,
6567
+ TYPES.set, TYPES.map, TYPES.weakref, TYPES.weakset, TYPES.weakmap,
6534
6568
  TYPES.arraybuffer, TYPES.sharedarraybuffer, TYPES.dataview
6535
6569
  ].includes(typeAnno.type)) {
6536
6570
  let types = [ typeAnno.type ];
@@ -6545,8 +6579,6 @@ const generateFunc = (scope, decl, forceNoExpr = false) => {
6545
6579
  );
6546
6580
  }
6547
6581
  }
6548
-
6549
- // todo: if string, try converting to it to one
6550
6582
  }
6551
6583
 
6552
6584
  if (def) wasm.push(
@@ -6679,6 +6711,7 @@ const generateFunc = (scope, decl, forceNoExpr = false) => {
6679
6711
 
6680
6712
  const args = [];
6681
6713
  if (func.constr) args.push({ name: '#newtarget' }, { name: '#this' });
6714
+ if (func.method) args.push({ name: '#this' });
6682
6715
 
6683
6716
  let jsLength = 0;
6684
6717
  for (let i = 0; i < params.length; i++) {
@@ -6719,7 +6752,7 @@ const generateFunc = (scope, decl, forceNoExpr = false) => {
6719
6752
  args.push({ name, def, destr, type: typedInput && params[i].typeAnnotation });
6720
6753
  }
6721
6754
 
6722
- func.params = new Array((params.length + (func.constr ? 2 : 0)) * 2).fill(0).map((_, i) => i % 2 ? Valtype.i32 : valtypeBinary);
6755
+ func.params = new Array((params.length + (func.constr ? 2 : (func.method ? 1 : 0))) * 2).fill(0).map((_, i) => i % 2 ? Valtype.i32 : valtypeBinary);
6723
6756
  func.jsLength = jsLength;
6724
6757
 
6725
6758
  // force generate for main
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "porffor",
3
3
  "description": "An ahead-of-time JavaScript compiler",
4
- "version": "0.56.0",
4
+ "version": "0.56.2",
5
5
  "author": "Oliver Medhurst <honk@goose.icu>",
6
6
  "license": "MIT",
7
7
  "scripts": {},
8
8
  "dependencies": {
9
- "acorn": "^8.14.0",
9
+ "acorn": "^8.14.1",
10
10
  "node-repl-polyfill": "github:CanadaHonk/node-repl-polyfill"
11
11
  },
12
12
  "optionalDependencies": {
package/r.cjs CHANGED
@@ -1,107 +1,8 @@
1
- var assert = mustBeTrue => {
2
- if (mustBeTrue === true) {
3
- return;
4
- }
5
-
6
- throw new Test262Error('assert failed');
1
+ let obj = {
2
+ wow() {}
7
3
  };
8
4
 
9
- function isConfigurable(obj, name) {
10
- if (Object.hasOwn(obj, name)) return Object.getOwnPropertyDescriptor(obj, name).configurable;
11
- return true;
12
- }
13
-
14
- function isEnumerable(obj, name) {
15
- return Object.hasOwn(obj, name) && Object.getOwnPropertyDescriptor(obj, name).enumerable;
16
- }
17
-
18
- function isSameValue(a, b) {
19
- if (a === 0 && b === 0) return 1 / a === 1 / b;
20
- if (a !== a && b !== b) return true;
21
-
22
- return a === b;
23
- }
24
-
25
- function isWritable(obj, name, verifyProp, value) {
26
- if (Object.hasOwn(obj, name) && Object.getOwnPropertyDescriptor(obj, name).writable != null) return Object.getOwnPropertyDescriptor(obj, name).writable;
27
- if (!Object.hasOwn(obj, name) && Object.isExtensible(obj)) return true;
28
-
29
- var unlikelyValue = Array.isArray(obj) && name === "length" ?
30
- Math.pow(2, 32) - 1 :
31
- "unlikelyValue";
32
- var newValue = value || unlikelyValue;
33
- var hadValue = Object.hasOwn(obj, name);
34
- var oldValue = obj[name];
35
- var writeSucceeded;
36
-
37
- try {
38
- obj[name] = newValue;
39
- } catch {}
40
-
41
- writeSucceeded = isSameValue(obj[verifyProp || name], newValue);
42
-
43
- if (writeSucceeded) {
44
- if (hadValue) {
45
- obj[name] = oldValue;
46
- } else {
47
- delete obj[name];
48
- }
49
- }
50
-
51
- return writeSucceeded;
52
- }
53
-
54
- function verifyProperty(obj, name, desc, options) {
55
- var originalDesc = Object.getOwnPropertyDescriptor(obj, name);
56
-
57
- if (desc === undefined) {
58
- if (originalDesc !== undefined) {
59
- throw new Test262Error('verifyProperty: expected undefined descriptor');
60
- }
61
-
62
- return true;
63
- }
64
-
65
- if (!Object.hasOwn(obj, name)) throw new Test262Error('verifyProperty: obj should have own property');
66
-
67
- if (Object.hasOwn(desc, 'value')) {
68
- const v = desc.value;
69
- if (!isSameValue(originalDesc.value, v)) throw new Test262Error('verifyProperty: descriptor value mismatch');
70
- // if (!isSameValue(obj[name], v)) throw new Test262Error('verifyProperty: object value mismatch');
71
- }
72
-
73
- if (Object.hasOwn(desc, 'enumerable')) {
74
- if (desc.enumerable !== originalDesc.enumerable ||
75
- desc.enumerable !== isEnumerable(obj, name)) {
76
- throw new Test262Error('enumerable fail');
77
- }
78
- }
79
-
80
- if (Object.hasOwn(desc, 'writable')) {
81
- if (desc.writable !== originalDesc.writable ||
82
- desc.writable !== isWritable(obj, name)) {
83
- throw new Test262Error('writable fail');
84
- }
85
- }
86
-
87
- if (Object.hasOwn(desc, 'configurable')) {
88
- if (desc.configurable !== originalDesc.configurable ||
89
- desc.configurable !== isConfigurable(obj, name)) {
90
- throw new Test262Error('configurable fail');
91
- }
92
- }
93
-
94
- if (options && options.restore) {
95
- Object.defineProperty(obj, name, originalDesc);
96
- }
97
-
98
- return true;
99
- }
100
-
101
- const desc = { enumerable: true, configurable: true, writable: true };
102
- const obj = Object.defineProperty({}, 'wow', desc);
103
- assert(verifyProperty(obj, 'wow', desc));
104
-
5
+ console.log(obj.wow.prototype);
105
6
 
106
7
  // var EQUAL = 1;
107
8
  // var NOT_EQUAL = -1;
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.56.0';
3
+ globalThis.version = '0.56.2';
4
4
 
5
5
  // deno compat
6
6
  if (typeof process === 'undefined' && typeof Deno !== 'undefined') {