porffor 0.43.1 → 0.46.0
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/.hermes.cjs +1 -1
- package/compiler/builtins/array.ts +10 -4
- package/compiler/builtins/generator.ts +40 -7
- package/compiler/builtins_precompiled.js +79 -46
- package/compiler/codegen.js +42 -45
- package/compiler/types.js +2 -1
- package/package.json +1 -1
- package/runner/index.js +1 -1
package/.hermes.cjs
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
const uniq = [...new Set(require('../hermes.json').pass.map(x => x.slice(5))).difference(new Set(require('./test262/results.json').passes))];
|
2
2
|
console.log([...uniq.reduce((acc, x) => { let k = x.split('/').slice(0, -1).join('/'); return acc.set(k, (acc.get(k) || 0) + 1); }, new Map()).entries()].sort((a, b) => a[1] - b[1]).slice(-20).map(x => x[0] + ': ' + x[1]).join('\n'));
|
3
|
-
console.log(uniq.filter(x => x.startsWith('built-ins/
|
3
|
+
console.log(uniq.filter(x => x.startsWith('built-ins/Array/prototype/reduceRight')).join('\n'))
|
@@ -558,10 +558,13 @@ export const __Array_prototype_some = (_this: any[], callbackFn: any) => {
|
|
558
558
|
|
559
559
|
// @porf-typed-array
|
560
560
|
export const __Array_prototype_reduce = (_this: any[], callbackFn: any, initialValue: any) => {
|
561
|
-
let acc: any = initialValue ?? _this[0];
|
562
|
-
|
563
561
|
const len: i32 = _this.length;
|
562
|
+
let acc: any = initialValue;
|
564
563
|
let i: i32 = 0;
|
564
|
+
if (acc === undefined) {
|
565
|
+
acc = _this[i++];
|
566
|
+
}
|
567
|
+
|
565
568
|
while (i < len) {
|
566
569
|
acc = callbackFn(acc, _this[i], i++, _this);
|
567
570
|
}
|
@@ -572,9 +575,12 @@ export const __Array_prototype_reduce = (_this: any[], callbackFn: any, initialV
|
|
572
575
|
// @porf-typed-array
|
573
576
|
export const __Array_prototype_reduceRight = (_this: any[], callbackFn: any, initialValue: any) => {
|
574
577
|
const len: i32 = _this.length;
|
575
|
-
let acc: any = initialValue
|
576
|
-
|
578
|
+
let acc: any = initialValue;
|
577
579
|
let i: i32 = len;
|
580
|
+
if (acc === undefined) {
|
581
|
+
acc = _this[--i];
|
582
|
+
}
|
583
|
+
|
578
584
|
while (i > 0) {
|
579
585
|
acc = callbackFn(acc, _this[--i], i, _this);
|
580
586
|
}
|
@@ -1,16 +1,16 @@
|
|
1
|
-
export const
|
2
|
-
const gen:
|
1
|
+
export const __Porffor_Generator = (values: any[]): __Porffor_Generator => {
|
2
|
+
const gen: __Porffor_Generator = values;
|
3
3
|
return gen;
|
4
4
|
};
|
5
5
|
|
6
|
-
export const
|
6
|
+
export const __Porffor_Generator_yield = (vals: any[], value: any): void => {
|
7
7
|
const len: i32 = Porffor.array.fastPush(vals, value);
|
8
8
|
|
9
9
|
// add 1 to length so done is not true until after yields
|
10
10
|
vals.length = len + 1;
|
11
11
|
};
|
12
12
|
|
13
|
-
export const
|
13
|
+
export const __Porffor_Generator_prototype_next = (vals: any[]): object => {
|
14
14
|
const obj: object = {};
|
15
15
|
obj.next = vals.shift();
|
16
16
|
obj.done = vals.length == 0;
|
@@ -18,14 +18,47 @@ export const __Porffor_generator_prototype_next = (vals: any[]): object => {
|
|
18
18
|
return obj;
|
19
19
|
};
|
20
20
|
|
21
|
-
export const
|
21
|
+
export const __Porffor_Generator_prototype_return = (vals: any[], value: any): object => {
|
22
22
|
vals.length = 1;
|
23
23
|
vals[0] = value;
|
24
24
|
|
25
|
-
return
|
25
|
+
return __Porffor_Generator_prototype_next(vals);
|
26
26
|
};
|
27
27
|
|
28
|
-
export const
|
28
|
+
export const __Porffor_Generator_prototype_throw = (vals: any[], value: any): object => {
|
29
29
|
vals.length = 0;
|
30
30
|
throw value;
|
31
|
+
};
|
32
|
+
|
33
|
+
|
34
|
+
export const __Porffor_AsyncGenerator = (values: any[]): __Porffor_AsyncGenerator => {
|
35
|
+
const gen: __Porffor_AsyncGenerator = values;
|
36
|
+
return gen;
|
37
|
+
};
|
38
|
+
|
39
|
+
export const __Porffor_AsyncGenerator_yield = (vals: any[], value: any): void => {
|
40
|
+
const len: i32 = Porffor.array.fastPush(vals, value);
|
41
|
+
|
42
|
+
// add 1 to length so done is not true until after yields
|
43
|
+
vals.length = len + 1;
|
44
|
+
};
|
45
|
+
|
46
|
+
export const __Porffor_AsyncGenerator_prototype_next = async (vals: any[]): object => {
|
47
|
+
const obj: object = {};
|
48
|
+
obj.next = await vals.shift();
|
49
|
+
obj.done = vals.length == 0;
|
50
|
+
|
51
|
+
return obj;
|
52
|
+
};
|
53
|
+
|
54
|
+
export const __Porffor_AsyncGenerator_prototype_return = async (vals: any[], value: any): object => {
|
55
|
+
vals.length = 1;
|
56
|
+
vals[0] = await value;
|
57
|
+
|
58
|
+
return await __Porffor_AsyncGenerator_prototype_next(vals);
|
59
|
+
};
|
60
|
+
|
61
|
+
export const __Porffor_AsyncGenerator_prototype_throw = async (vals: any[], value: any): object => {
|
62
|
+
vals.length = 0;
|
63
|
+
throw await value;
|
31
64
|
};
|
@@ -506,16 +506,16 @@ usedTypes:[80],
|
|
506
506
|
table:1,usesTag:1,
|
507
507
|
}
|
508
508
|
this.__Array_prototype_reduce = {
|
509
|
-
wasm:(_,{t,internalThrow})=>[[32,
|
509
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[68,0],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[32,9],[68,1],[160],[33,9],[34,11],[252,3],[65,9],[108],[32,10],[252,3],[106],[34,13],[43,0,4],[32,13],[45,0,12],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[32,6],[99],[4,64],[32,2],[33,14],[32,3],[33,15],[2,124],...t([6],()=>[[32,15],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[34,11],[252,3],[65,9],[108],[32,10],[252,3],[106],[34,13],[43,0,4],[32,13],[45,0,12],[34,12],[32,9],[32,9],[68,1],[160],[33,9],[65,1],[32,0],[65,208,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,14],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
510
510
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
511
|
-
locals:[124,
|
511
|
+
locals:[124,124,127,124,124,124,127,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#loadArray_offset","#indirect_callee","#typeswitch_tmp1"],
|
512
512
|
usedTypes:[80],
|
513
513
|
table:1,usesTag:1,
|
514
514
|
}
|
515
515
|
this.__Array_prototype_reduceRight = {
|
516
|
-
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[
|
516
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[32,6],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[34,11],[252,3],[65,9],[108],[32,10],[252,3],[106],[34,13],[43,0,4],[32,13],[45,0,12],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[68,0],[100],[4,64],[32,2],[33,14],[32,3],[33,15],[2,124],...t([6],()=>[[32,15],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[34,11],[252,3],[65,9],[108],[32,10],[252,3],[106],[34,13],[43,0,4],[32,13],[45,0,12],[34,12],[32,9],[65,1],[32,0],[65,208,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,14],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
517
517
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
518
|
-
locals:[124,124,127,124,124,127,127,124,
|
518
|
+
locals:[124,124,127,124,124,124,127,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#loadArray_offset","#indirect_callee","#typeswitch_tmp1"],
|
519
519
|
usedTypes:[80],
|
520
520
|
table:1,usesTag:1,
|
521
521
|
}
|
@@ -1739,37 +1739,70 @@ locals:[124],localNames:["_this","_this#type","out"],
|
|
1739
1739
|
usedTypes:[195],
|
1740
1740
|
data:{"bytestring: __Function_prototype_toString/out":[14,0,0,0,102,117,110,99,116,105,111,110,32,40,41,32,123,125]},
|
1741
1741
|
}
|
1742
|
-
this.
|
1742
|
+
this.__Porffor_Generator = {
|
1743
1743
|
wasm:()=>[[32,0],[34,2],[65,50],[15]],
|
1744
1744
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1745
1745
|
locals:[124],localNames:["values","values#type","gen"],
|
1746
1746
|
usedTypes:[80,50],
|
1747
1747
|
}
|
1748
|
-
this.
|
1748
|
+
this.__Porffor_Generator_yield = {
|
1749
1749
|
wasm:(_,{builtin})=>[[32,0],[65,208,0],[32,2],[32,3],[16,builtin('__Porffor_array_fastPush')],[33,5],[33,4],[32,0],[252,3],[34,7],[32,4],[68,1],[160],[34,6],[252,3],[54,1,0],[68,0],[65,128,1],[15]],
|
1750
1750
|
params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1751
1751
|
locals:[124,127,124,127],localNames:["vals","vals#type","value","value#type","len","#last_type","__length_setter_tmp","__member_setter_ptr_tmp"],
|
1752
1752
|
usedTypes:[80],
|
1753
1753
|
}
|
1754
|
-
this.
|
1754
|
+
this.__Porffor_Generator_prototype_next = {
|
1755
1755
|
wasm:(_,{builtin})=>[[16,builtin('__Porffor_allocate')],[184],[34,2],[33,5],[16,builtin('__Porffor_allocate')],[184],[34,6],[252,3],[34,7],[65,4],[54,1,0],[32,7],[65,238,0],[58,0,4],[32,7],[65,229,0],[58,0,5],[32,7],[65,248,0],[58,0,6],[32,7],[65,244,0],[58,0,7],[32,7],[184],[33,6],[32,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[32,0],[252,3],[34,9],[40,1,0],[33,8],[2,124],[32,8],[69],[4,64],[68,0],[12,1],[11],[32,9],[32,8],[65,1],[107],[34,8],[54,1,0],[32,9],[43,0,4],[32,9],[45,0,12],[65,4],[32,9],[106],[65,13],[32,9],[106],[32,8],[65,9],[108],[252,10,0,0],[33,10],[11],[32,10],[16,builtin('__Porffor_object_set')],[26],[26],[32,2],[33,5],[16,builtin('__Porffor_allocate')],[184],[34,6],[252,3],[34,7],[65,4],[54,1,0],[32,7],[65,228,0],[58,0,4],[32,7],[65,239,0],[58,0,5],[32,7],[65,238,0],[58,0,6],[32,7],[65,229,0],[58,0,7],[32,7],[184],[33,6],[32,5],[252,2],[65,7],[32,6],[252,3],[65,195,1],[32,0],[252,3],[40,1,0],[184],[68,0],[97],[184],[65,2],[16,builtin('__Porffor_object_set')],[26],[26],[32,2],[65,7],[15]],
|
1756
1756
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1757
1757
|
locals:[124,124,127,124,124,127,127,127,127],localNames:["vals","vals#type","obj","#member_setter_val_tmp","#member_setter_ptr_tmp","#member_obj","#member_prop_assign","#makearray_pointer_tmp","__proto_length_cache","__proto_pointer_cache","#last_type"],
|
1758
1758
|
usedTypes:[7,195,80],
|
1759
1759
|
}
|
1760
|
-
this.
|
1761
|
-
wasm:(_,{builtin})=>[[32,0],[252,3],[34,5],[68,1],[34,4],[252,3],[54,1,0],[32,0],[33,8],[68,0],[33,9],[32,8],[252,3],[32,9],[252,3],[65,9],[108],[106],[34,7],[32,2],[34,6],[57,0,4],[32,7],[32,3],[58,0,12],[32,0],[65,208,0],[16,builtin('
|
1760
|
+
this.__Porffor_Generator_prototype_return = {
|
1761
|
+
wasm:(_,{builtin})=>[[32,0],[252,3],[34,5],[68,1],[34,4],[252,3],[54,1,0],[32,0],[33,8],[68,0],[33,9],[32,8],[252,3],[32,9],[252,3],[65,9],[108],[106],[34,7],[32,2],[34,6],[57,0,4],[32,7],[32,3],[58,0,12],[32,0],[65,208,0],[16,builtin('__Porffor_Generator_prototype_next')],[34,10],[15]],
|
1762
1762
|
params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1763
1763
|
locals:[124,127,124,127,124,124,127],localNames:["vals","vals#type","value","value#type","__length_setter_tmp","__member_setter_ptr_tmp","#member_setter_val_tmp","#member_setter_ptr_tmp","#member_obj","#member_prop_assign","#last_type"],
|
1764
1764
|
usedTypes:[80],
|
1765
1765
|
}
|
1766
|
-
this.
|
1766
|
+
this.__Porffor_Generator_prototype_throw = {
|
1767
1767
|
wasm:()=>[[32,0],[252,3],[34,5],[68,0],[34,4],[252,3],[54,1,0],[32,2],[32,3],[8,0]],
|
1768
1768
|
params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1769
1769
|
locals:[124,127],localNames:["vals","vals#type","value","value#type","__length_setter_tmp","__member_setter_ptr_tmp"],
|
1770
1770
|
usedTypes:[80],
|
1771
1771
|
usesTag:1,
|
1772
1772
|
}
|
1773
|
+
this.__Porffor_AsyncGenerator = {
|
1774
|
+
wasm:()=>[[32,0],[34,2],[65,51],[15]],
|
1775
|
+
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1776
|
+
locals:[124],localNames:["values","values#type","gen"],
|
1777
|
+
usedTypes:[80,51],
|
1778
|
+
}
|
1779
|
+
this.__Porffor_AsyncGenerator_yield = {
|
1780
|
+
wasm:(_,{builtin})=>[[32,0],[65,208,0],[32,2],[32,3],[16,builtin('__Porffor_array_fastPush')],[33,5],[33,4],[32,0],[252,3],[34,7],[32,4],[68,1],[160],[34,6],[252,3],[54,1,0],[68,0],[65,128,1],[15]],
|
1781
|
+
params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1782
|
+
locals:[124,127,124,127],localNames:["vals","vals#type","value","value#type","len","#last_type","__length_setter_tmp","__member_setter_ptr_tmp"],
|
1783
|
+
usedTypes:[80],
|
1784
|
+
}
|
1785
|
+
this.__Porffor_AsyncGenerator_prototype_next = {
|
1786
|
+
wasm:(_,{builtin})=>[[16,builtin('__Porffor_promise_create')],[26],[33,2],[6,64],[16,builtin('__Porffor_allocate')],[184],[34,3],[33,6],[16,builtin('__Porffor_allocate')],[184],[34,7],[252,3],[34,8],[65,4],[54,1,0],[32,8],[65,238,0],[58,0,4],[32,8],[65,229,0],[58,0,5],[32,8],[65,248,0],[58,0,6],[32,8],[65,244,0],[58,0,7],[32,8],[184],[33,7],[32,6],[252,2],[65,7],[32,7],[252,3],[65,195,1],[32,0],[252,3],[34,10],[40,1,0],[33,9],[2,124],[32,9],[69],[4,64],[68,0],[12,1],[11],[32,10],[32,9],[65,1],[107],[34,9],[54,1,0],[32,10],[43,0,4],[32,10],[45,0,12],[65,4],[32,10],[106],[65,13],[32,10],[106],[32,9],[65,9],[108],[252,10,0,0],[33,11],[11],[32,11],[16,builtin('__Porffor_promise_await')],[34,11],[16,builtin('__Porffor_object_set')],[26],[26],[32,3],[33,6],[16,builtin('__Porffor_allocate')],[184],[34,7],[252,3],[34,8],[65,4],[54,1,0],[32,8],[65,228,0],[58,0,4],[32,8],[65,239,0],[58,0,5],[32,8],[65,238,0],[58,0,6],[32,8],[65,229,0],[58,0,7],[32,8],[184],[33,7],[32,6],[252,2],[65,7],[32,7],[252,3],[65,195,1],[32,0],[252,3],[40,1,0],[184],[68,0],[97],[184],[65,2],[16,builtin('__Porffor_object_set')],[26],[26],[32,3],[65,7],[32,2],[65,36],[16,builtin('__Porffor_promise_resolve')],[26],[26],[32,2],[65,36],[15],[7,0],[32,2],[65,36],[16,builtin('__Porffor_promise_reject')],[26],[26],[11],[32,2],[65,36],[15]],
|
1787
|
+
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1788
|
+
locals:[124,124,124,127,124,124,127,127,127,127],localNames:["vals","vals#type","#async_out_promise","obj","#member_setter_val_tmp","#member_setter_ptr_tmp","#member_obj","#member_prop_assign","#makearray_pointer_tmp","__proto_length_cache","__proto_pointer_cache","#last_type"],
|
1789
|
+
usedTypes:[36,7,195,80],
|
1790
|
+
usesTag:1,
|
1791
|
+
}
|
1792
|
+
this.__Porffor_AsyncGenerator_prototype_return = {
|
1793
|
+
wasm:(_,{builtin})=>[[16,builtin('__Porffor_promise_create')],[26],[33,4],[6,64],[32,0],[252,3],[34,6],[68,1],[34,5],[252,3],[54,1,0],[32,0],[33,9],[68,0],[33,10],[32,9],[252,3],[32,10],[252,3],[65,9],[108],[106],[34,8],[32,2],[32,3],[16,builtin('__Porffor_promise_await')],[33,11],[34,7],[57,0,4],[32,8],[32,11],[58,0,12],[32,0],[65,208,0],[16,builtin('__Porffor_AsyncGenerator_prototype_next')],[34,11],[16,builtin('__Porffor_promise_await')],[34,11],[32,4],[65,36],[16,builtin('__Porffor_promise_resolve')],[26],[26],[32,4],[65,36],[15],[7,0],[32,4],[65,36],[16,builtin('__Porffor_promise_reject')],[26],[26],[11],[32,4],[65,36],[15]],
|
1794
|
+
params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1795
|
+
locals:[124,124,127,124,127,124,124,127],localNames:["vals","vals#type","value","value#type","#async_out_promise","__length_setter_tmp","__member_setter_ptr_tmp","#member_setter_val_tmp","#member_setter_ptr_tmp","#member_obj","#member_prop_assign","#last_type"],
|
1796
|
+
usedTypes:[36,80],
|
1797
|
+
usesTag:1,
|
1798
|
+
}
|
1799
|
+
this.__Porffor_AsyncGenerator_prototype_throw = {
|
1800
|
+
wasm:(_,{builtin})=>[[16,builtin('__Porffor_promise_create')],[26],[33,4],[6,64],[32,0],[252,3],[34,6],[68,0],[34,5],[252,3],[54,1,0],[32,2],[32,3],[16,builtin('__Porffor_promise_await')],[34,7],[8,0],[7,0],[32,4],[65,36],[16,builtin('__Porffor_promise_reject')],[26],[26],[11],[32,4],[65,36],[15]],
|
1801
|
+
params:[124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
1802
|
+
locals:[124,124,127,127],localNames:["vals","vals#type","value","value#type","#async_out_promise","__length_setter_tmp","__member_setter_ptr_tmp","#last_type"],
|
1803
|
+
usedTypes:[36,80],
|
1804
|
+
usesTag:1,
|
1805
|
+
}
|
1773
1806
|
this.__Math_exp = {
|
1774
1807
|
wasm:(_,{builtin})=>[[32,0],[16,builtin('__Number_isFinite')],[68,0],[97],[4,64],[32,0],[68,"Infinity"],[154],[97],[4,64],[68,0],[65,1],[15],[11],[32,0],[65,1],[15],[11],[32,0],[68,0],[99],[4,64],[68,1],[32,0],[154],[65,1],[16,builtin('__Math_exp')],[33,2],[163],[65,1],[15],[11],[32,0],[68,0.6931471805599453],[163],[16,builtin('__Math_floor')],[33,3],[32,0],[32,3],[68,0.6931471805599453],[162],[161],[34,4],[33,5],[68,1],[32,4],[160],[33,6],[68,2],[33,7],[3,64],[32,5],[16,builtin('__Math_abs')],[68,1e-15],[100],[4,64],[32,5],[32,4],[32,7],[163],[162],[33,5],[32,6],[32,5],[160],[33,6],[32,7],[68,1],[160],[33,7],[12,1],[11],[11],[3,64],[32,3],[32,3],[68,1],[161],[33,3],[68,0],[100],[4,64],[32,6],[68,2],[162],[33,6],[12,1],[11],[11],[32,6],[65,1],[15]],
|
1775
1808
|
params:[124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
@@ -3223,16 +3256,16 @@ usedTypes:[88],
|
|
3223
3256
|
table:1,usesTag:1,
|
3224
3257
|
}
|
3225
3258
|
this.__Uint8Array_prototype_reduce = {
|
3226
|
-
wasm:(_,{t,internalThrow})=>[[32,
|
3259
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[68,0],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[32,9],[68,1],[160],[33,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[45,0,4],[184],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[32,6],[99],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[45,0,4],[184],[65,1],[34,12],[32,9],[32,9],[68,1],[160],[33,9],[65,1],[32,0],[65,216,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
3227
3260
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
3228
|
-
locals:[124,127,124,124,
|
3261
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
3229
3262
|
usedTypes:[88],
|
3230
3263
|
table:1,usesTag:1,
|
3231
3264
|
}
|
3232
3265
|
this.__Uint8Array_prototype_reduceRight = {
|
3233
|
-
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[
|
3266
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[32,6],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[45,0,4],[184],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[68,0],[100],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[45,0,4],[184],[65,1],[34,12],[32,9],[65,1],[32,0],[65,216,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
3234
3267
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
3235
|
-
locals:[124,124,127,124,124,
|
3268
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
3236
3269
|
usedTypes:[88],
|
3237
3270
|
table:1,usesTag:1,
|
3238
3271
|
}
|
@@ -3448,16 +3481,16 @@ usedTypes:[89],
|
|
3448
3481
|
table:1,usesTag:1,
|
3449
3482
|
}
|
3450
3483
|
this.__Int8Array_prototype_reduce = {
|
3451
|
-
wasm:(_,{t,internalThrow})=>[[32,
|
3484
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[68,0],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[32,9],[68,1],[160],[33,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[44,0,4],[183],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[32,6],[99],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[44,0,4],[183],[65,1],[34,12],[32,9],[32,9],[68,1],[160],[33,9],[65,1],[32,0],[65,217,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
3452
3485
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
3453
|
-
locals:[124,127,124,124,
|
3486
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
3454
3487
|
usedTypes:[89],
|
3455
3488
|
table:1,usesTag:1,
|
3456
3489
|
}
|
3457
3490
|
this.__Int8Array_prototype_reduceRight = {
|
3458
|
-
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[
|
3491
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[32,6],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[44,0,4],[183],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[68,0],[100],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[44,0,4],[183],[65,1],[34,12],[32,9],[65,1],[32,0],[65,217,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
3459
3492
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
3460
|
-
locals:[124,124,127,124,124,
|
3493
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
3461
3494
|
usedTypes:[89],
|
3462
3495
|
table:1,usesTag:1,
|
3463
3496
|
}
|
@@ -3673,16 +3706,16 @@ usedTypes:[90],
|
|
3673
3706
|
table:1,usesTag:1,
|
3674
3707
|
}
|
3675
3708
|
this.__Uint8ClampedArray_prototype_reduce = {
|
3676
|
-
wasm:(_,{t,internalThrow})=>[[32,
|
3709
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[68,0],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[32,9],[68,1],[160],[33,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[45,0,4],[184],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[32,6],[99],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[45,0,4],[184],[65,1],[34,12],[32,9],[32,9],[68,1],[160],[33,9],[65,1],[32,0],[65,218,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
3677
3710
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
3678
|
-
locals:[124,127,124,124,
|
3711
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
3679
3712
|
usedTypes:[90],
|
3680
3713
|
table:1,usesTag:1,
|
3681
3714
|
}
|
3682
3715
|
this.__Uint8ClampedArray_prototype_reduceRight = {
|
3683
|
-
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[
|
3716
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[32,6],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[45,0,4],[184],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[68,0],[100],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[106],[45,0,4],[184],[65,1],[34,12],[32,9],[65,1],[32,0],[65,218,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
3684
3717
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
3685
|
-
locals:[124,124,127,124,124,
|
3718
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
3686
3719
|
usedTypes:[90],
|
3687
3720
|
table:1,usesTag:1,
|
3688
3721
|
}
|
@@ -3898,16 +3931,16 @@ usedTypes:[91],
|
|
3898
3931
|
table:1,usesTag:1,
|
3899
3932
|
}
|
3900
3933
|
this.__Uint16Array_prototype_reduce = {
|
3901
|
-
wasm:(_,{t,internalThrow})=>[[32,
|
3934
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[68,0],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[32,9],[68,1],[160],[33,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,2],[108],[106],[47,0,4],[184],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[32,6],[99],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,2],[108],[106],[47,0,4],[184],[65,1],[34,12],[32,9],[32,9],[68,1],[160],[33,9],[65,1],[32,0],[65,219,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
3902
3935
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
3903
|
-
locals:[124,127,124,124,
|
3936
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
3904
3937
|
usedTypes:[91],
|
3905
3938
|
table:1,usesTag:1,
|
3906
3939
|
}
|
3907
3940
|
this.__Uint16Array_prototype_reduceRight = {
|
3908
|
-
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[
|
3941
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[32,6],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,2],[108],[106],[47,0,4],[184],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[68,0],[100],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,2],[108],[106],[47,0,4],[184],[65,1],[34,12],[32,9],[65,1],[32,0],[65,219,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
3909
3942
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
3910
|
-
locals:[124,124,127,124,124,
|
3943
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
3911
3944
|
usedTypes:[91],
|
3912
3945
|
table:1,usesTag:1,
|
3913
3946
|
}
|
@@ -4123,16 +4156,16 @@ usedTypes:[92],
|
|
4123
4156
|
table:1,usesTag:1,
|
4124
4157
|
}
|
4125
4158
|
this.__Int16Array_prototype_reduce = {
|
4126
|
-
wasm:(_,{t,internalThrow})=>[[32,
|
4159
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[68,0],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[32,9],[68,1],[160],[33,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,2],[108],[106],[46,0,4],[183],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[32,6],[99],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,2],[108],[106],[46,0,4],[183],[65,1],[34,12],[32,9],[32,9],[68,1],[160],[33,9],[65,1],[32,0],[65,220,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
4127
4160
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
4128
|
-
locals:[124,127,124,124,
|
4161
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
4129
4162
|
usedTypes:[92],
|
4130
4163
|
table:1,usesTag:1,
|
4131
4164
|
}
|
4132
4165
|
this.__Int16Array_prototype_reduceRight = {
|
4133
|
-
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[
|
4166
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[32,6],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,2],[108],[106],[46,0,4],[183],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[68,0],[100],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,2],[108],[106],[46,0,4],[183],[65,1],[34,12],[32,9],[65,1],[32,0],[65,220,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
4134
4167
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
4135
|
-
locals:[124,124,127,124,124,
|
4168
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
4136
4169
|
usedTypes:[92],
|
4137
4170
|
table:1,usesTag:1,
|
4138
4171
|
}
|
@@ -4348,16 +4381,16 @@ usedTypes:[93],
|
|
4348
4381
|
table:1,usesTag:1,
|
4349
4382
|
}
|
4350
4383
|
this.__Uint32Array_prototype_reduce = {
|
4351
|
-
wasm:(_,{t,internalThrow})=>[[32,
|
4384
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[68,0],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[32,9],[68,1],[160],[33,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[40,0,4],[184],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[32,6],[99],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[40,0,4],[184],[65,1],[34,12],[32,9],[32,9],[68,1],[160],[33,9],[65,1],[32,0],[65,221,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
4352
4385
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
4353
|
-
locals:[124,127,124,124,
|
4386
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
4354
4387
|
usedTypes:[93],
|
4355
4388
|
table:1,usesTag:1,
|
4356
4389
|
}
|
4357
4390
|
this.__Uint32Array_prototype_reduceRight = {
|
4358
|
-
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[
|
4391
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[32,6],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[40,0,4],[184],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[68,0],[100],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[40,0,4],[184],[65,1],[34,12],[32,9],[65,1],[32,0],[65,221,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
4359
4392
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
4360
|
-
locals:[124,124,127,124,124,
|
4393
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
4361
4394
|
usedTypes:[93],
|
4362
4395
|
table:1,usesTag:1,
|
4363
4396
|
}
|
@@ -4573,16 +4606,16 @@ usedTypes:[94],
|
|
4573
4606
|
table:1,usesTag:1,
|
4574
4607
|
}
|
4575
4608
|
this.__Int32Array_prototype_reduce = {
|
4576
|
-
wasm:(_,{t,internalThrow})=>[[32,
|
4609
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[68,0],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[32,9],[68,1],[160],[33,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[40,0,4],[183],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[32,6],[99],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[40,0,4],[183],[65,1],[34,12],[32,9],[32,9],[68,1],[160],[33,9],[65,1],[32,0],[65,222,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
4577
4610
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
4578
|
-
locals:[124,127,124,124,
|
4611
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
4579
4612
|
usedTypes:[94],
|
4580
4613
|
table:1,usesTag:1,
|
4581
4614
|
}
|
4582
4615
|
this.__Int32Array_prototype_reduceRight = {
|
4583
|
-
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[
|
4616
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[32,6],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[40,0,4],[183],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[68,0],[100],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[40,0,4],[183],[65,1],[34,12],[32,9],[65,1],[32,0],[65,222,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
4584
4617
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
4585
|
-
locals:[124,124,127,124,124,
|
4618
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
4586
4619
|
usedTypes:[94],
|
4587
4620
|
table:1,usesTag:1,
|
4588
4621
|
}
|
@@ -4798,16 +4831,16 @@ usedTypes:[95],
|
|
4798
4831
|
table:1,usesTag:1,
|
4799
4832
|
}
|
4800
4833
|
this.__Float32Array_prototype_reduce = {
|
4801
|
-
wasm:(_,{t,internalThrow})=>[[32,
|
4834
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[68,0],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[32,9],[68,1],[160],[33,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[42,0,4],[187],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[32,6],[99],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[42,0,4],[187],[65,1],[34,12],[32,9],[32,9],[68,1],[160],[33,9],[65,1],[32,0],[65,223,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
4802
4835
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
4803
|
-
locals:[124,127,124,124,
|
4836
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
4804
4837
|
usedTypes:[95],
|
4805
4838
|
table:1,usesTag:1,
|
4806
4839
|
}
|
4807
4840
|
this.__Float32Array_prototype_reduceRight = {
|
4808
|
-
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[
|
4841
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[32,6],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[42,0,4],[187],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[68,0],[100],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,4],[108],[106],[42,0,4],[187],[65,1],[34,12],[32,9],[65,1],[32,0],[65,223,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
4809
4842
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
4810
|
-
locals:[124,124,127,124,124,
|
4843
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
4811
4844
|
usedTypes:[95],
|
4812
4845
|
table:1,usesTag:1,
|
4813
4846
|
}
|
@@ -5023,16 +5056,16 @@ usedTypes:[96],
|
|
5023
5056
|
table:1,usesTag:1,
|
5024
5057
|
}
|
5025
5058
|
this.__Float64Array_prototype_reduce = {
|
5026
|
-
wasm:(_,{t,internalThrow})=>[[32,
|
5059
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[68,0],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[32,9],[68,1],[160],[33,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,8],[108],[106],[43,0,4],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[32,6],[99],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,8],[108],[106],[43,0,4],[65,1],[34,12],[32,9],[32,9],[68,1],[160],[33,9],[65,1],[32,0],[65,224,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
5027
5060
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
5028
|
-
locals:[124,127,124,124,
|
5061
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
5029
5062
|
usedTypes:[96],
|
5030
5063
|
table:1,usesTag:1,
|
5031
5064
|
}
|
5032
5065
|
this.__Float64Array_prototype_reduceRight = {
|
5033
|
-
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[
|
5066
|
+
wasm:(_,{t,internalThrow})=>[[32,0],[252,3],[40,1,0],[184],[33,6],[32,4],[33,7],[32,5],[33,8],[32,6],[33,9],[32,7],[68,0],[97],[32,8],[65,128,1],[114],[65,128,1],[65,128,1],[114],[70],[113],[4,64],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,8],[108],[106],[43,0,4],[65,1],[34,12],[33,8],[33,7],[11],[3,64],[32,9],[68,0],[100],[4,64],[32,2],[33,13],[32,3],[33,14],[2,124],...t([6],()=>[[32,14],[65,6],[70],[4,64],[68,0],[65,128,1],[68,0],[65,128,1],[32,7],[32,8],[32,0],[33,10],[32,9],[68,1],[161],[34,9],[33,11],[32,10],[252,3],[40,0,4],[32,11],[252,3],[65,8],[108],[106],[43,0,4],[65,1],[34,12],[32,9],[65,1],[32,0],[65,224,0],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[68,0],[65,128,1],[32,13],[252,3],[17,10,0],[33,12],[12,1],[11]]),...internalThrow(_,'TypeError',`callbackFn is not a function`),[68,0],[11],[34,7],[32,12],[33,8],[26],[12,1],[11],[11],[32,7],[32,8],[15]],
|
5034
5067
|
params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],typedReturns:1,
|
5035
|
-
locals:[124,124,127,124,124,
|
5068
|
+
locals:[124,124,127,124,124,124,127,124,127],localNames:["_this","_this#type","callbackFn","callbackFn#type","initialValue","initialValue#type","len","acc","acc#type","i","#member_obj","#member_prop","#last_type","#indirect_callee","#typeswitch_tmp1"],
|
5036
5069
|
usedTypes:[96],
|
5037
5070
|
table:1,usesTag:1,
|
5038
5071
|
}
|
package/compiler/codegen.js
CHANGED
@@ -461,18 +461,18 @@ const generateYield = (scope, decl) => {
|
|
461
461
|
return [
|
462
462
|
// return value in generator
|
463
463
|
[ Opcodes.local_get, scope.locals['#generator_out'].idx ],
|
464
|
-
...number(TYPES.__porffor_generator, Valtype.i32),
|
464
|
+
...number(scope.async ? TYPES.__porffor_asyncgenerator : TYPES.__porffor_generator, Valtype.i32),
|
465
465
|
|
466
466
|
...generate(scope, arg),
|
467
467
|
...getNodeType(scope, arg),
|
468
468
|
|
469
|
-
[ Opcodes.call, includeBuiltin(scope, '
|
469
|
+
[ Opcodes.call, includeBuiltin(scope, scope.async ? '__Porffor_AsyncGenerator_yield' : '__Porffor_Generator_yield').index ],
|
470
470
|
[ Opcodes.drop ],
|
471
471
|
[ Opcodes.drop ],
|
472
472
|
|
473
473
|
// return generator
|
474
474
|
[ Opcodes.local_get, scope.locals['#generator_out'].idx ],
|
475
|
-
...number(TYPES.__porffor_generator, Valtype.i32),
|
475
|
+
...number(scope.async ? TYPES.__porffor_asyncgenerator : TYPES.__porffor_generator, Valtype.i32),
|
476
476
|
[ Opcodes.return ],
|
477
477
|
|
478
478
|
// use undefined as yield expression value
|
@@ -484,42 +484,42 @@ const generateYield = (scope, decl) => {
|
|
484
484
|
const generateReturn = (scope, decl) => {
|
485
485
|
const arg = decl.argument ?? DEFAULT_VALUE();
|
486
486
|
|
487
|
-
if (scope.
|
487
|
+
if (scope.generator) {
|
488
488
|
return [
|
489
|
-
//
|
489
|
+
// return value in generator
|
490
|
+
[ Opcodes.local_get, scope.locals['#generator_out'].idx ],
|
491
|
+
...number(scope.async ? TYPES.__porffor_asyncgenerator : TYPES.__porffor_generator, Valtype.i32),
|
492
|
+
|
490
493
|
...generate(scope, arg),
|
491
494
|
...getNodeType(scope, arg),
|
492
495
|
|
493
|
-
[ Opcodes.
|
494
|
-
...number(TYPES.promise, Valtype.i32),
|
495
|
-
|
496
|
-
[ Opcodes.call, includeBuiltin(scope, '__Porffor_promise_resolve').index ],
|
496
|
+
[ Opcodes.call, includeBuiltin(scope, scope.async ? '__Porffor_AsyncGenerator_prototype_return' : '__Porffor_Generator_prototype_return').index ],
|
497
497
|
[ Opcodes.drop ],
|
498
498
|
[ Opcodes.drop ],
|
499
499
|
|
500
|
-
// return
|
501
|
-
[ Opcodes.local_get, scope.locals['#
|
502
|
-
...number(TYPES.
|
500
|
+
// return generator
|
501
|
+
[ Opcodes.local_get, scope.locals['#generator_out'].idx ],
|
502
|
+
...number(scope.async ? TYPES.__porffor_asyncgenerator : TYPES.__porffor_generator, Valtype.i32),
|
503
503
|
[ Opcodes.return ]
|
504
504
|
];
|
505
505
|
}
|
506
506
|
|
507
|
-
if (scope.
|
507
|
+
if (scope.async) {
|
508
508
|
return [
|
509
|
-
// return value
|
510
|
-
[ Opcodes.local_get, scope.locals['#generator_out'].idx ],
|
511
|
-
...number(TYPES.__porffor_generator, Valtype.i32),
|
512
|
-
|
509
|
+
// resolve promise with return value
|
513
510
|
...generate(scope, arg),
|
514
511
|
...getNodeType(scope, arg),
|
515
512
|
|
516
|
-
[ Opcodes.
|
513
|
+
[ Opcodes.local_get, scope.locals['#async_out_promise'].idx ],
|
514
|
+
...number(TYPES.promise, Valtype.i32),
|
515
|
+
|
516
|
+
[ Opcodes.call, includeBuiltin(scope, '__Porffor_promise_resolve').index ],
|
517
517
|
[ Opcodes.drop ],
|
518
518
|
[ Opcodes.drop ],
|
519
519
|
|
520
|
-
// return
|
521
|
-
[ Opcodes.local_get, scope.locals['#
|
522
|
-
...number(TYPES.
|
520
|
+
// return promise
|
521
|
+
[ Opcodes.local_get, scope.locals['#async_out_promise'].idx ],
|
522
|
+
...number(TYPES.promise, Valtype.i32),
|
523
523
|
[ Opcodes.return ]
|
524
524
|
];
|
525
525
|
}
|
@@ -6113,6 +6113,7 @@ const generateFunc = (scope, decl, forceNoExpr = false) => {
|
|
6113
6113
|
index: currentFuncIndex++,
|
6114
6114
|
arrow,
|
6115
6115
|
constr: !arrow && !decl.generator && !decl.async,
|
6116
|
+
async: decl.async,
|
6116
6117
|
subclass: decl._subclass, _onlyConstr: decl._onlyConstr, _onlyThisMethod: decl._onlyThisMethod,
|
6117
6118
|
strict: scope.strict || decl.strict,
|
6118
6119
|
|
@@ -6199,25 +6200,34 @@ const generateFunc = (scope, decl, forceNoExpr = false) => {
|
|
6199
6200
|
}
|
6200
6201
|
}
|
6201
6202
|
|
6202
|
-
if (decl.async && !decl.generator) {
|
6203
|
-
// make out promise local
|
6204
|
-
allocVar(func, '#async_out_promise', false, false);
|
6205
|
-
|
6206
|
-
func.async = true;
|
6207
|
-
typeUsed(func, TYPES.promise);
|
6208
|
-
}
|
6209
|
-
|
6210
6203
|
if (decl.generator) {
|
6204
|
+
func.generator = true;
|
6205
|
+
|
6211
6206
|
// make out generator local
|
6212
6207
|
allocVar(func, '#generator_out', false, false);
|
6208
|
+
typeUsed(func, func.async ? TYPES.__porffor_asyncgenerator : TYPES.__porffor_generator);
|
6209
|
+
}
|
6213
6210
|
|
6214
|
-
|
6215
|
-
|
6211
|
+
if (func.async && !func.generator) {
|
6212
|
+
// make out promise local
|
6213
|
+
allocVar(func, '#async_out_promise', false, false);
|
6214
|
+
typeUsed(func, TYPES.promise);
|
6216
6215
|
}
|
6217
6216
|
|
6218
6217
|
wasm = wasm.concat(generate(func, body));
|
6219
6218
|
|
6220
|
-
if (func.
|
6219
|
+
if (func.generator) {
|
6220
|
+
// make generator at the start
|
6221
|
+
wasm.unshift(
|
6222
|
+
[ Opcodes.call, includeBuiltin(func, '__Porffor_allocate').index ],
|
6223
|
+
Opcodes.i32_from_u,
|
6224
|
+
...number(TYPES.array, Valtype.i32),
|
6225
|
+
|
6226
|
+
[ Opcodes.call, includeBuiltin(func, func.async ? '__Porffor_AsyncGenerator' : '__Porffor_Generator').index ],
|
6227
|
+
[ Opcodes.drop ],
|
6228
|
+
[ Opcodes.local_set, func.locals['#generator_out'].idx ]
|
6229
|
+
);
|
6230
|
+
} else if (func.async) {
|
6221
6231
|
// make promise at the start
|
6222
6232
|
wasm.unshift(
|
6223
6233
|
[ Opcodes.call, includeBuiltin(func, '__Porffor_promise_create').index ],
|
@@ -6250,19 +6260,6 @@ const generateFunc = (scope, decl, forceNoExpr = false) => {
|
|
6250
6260
|
ensureTag();
|
6251
6261
|
}
|
6252
6262
|
|
6253
|
-
if (func.generator) {
|
6254
|
-
// make generator at the start
|
6255
|
-
wasm.unshift(
|
6256
|
-
[ Opcodes.call, includeBuiltin(func, '__Porffor_allocate').index ],
|
6257
|
-
Opcodes.i32_from_u,
|
6258
|
-
...number(TYPES.array, Valtype.i32),
|
6259
|
-
|
6260
|
-
[ Opcodes.call, includeBuiltin(func, '__Porffor_generator').index ],
|
6261
|
-
[ Opcodes.drop ],
|
6262
|
-
[ Opcodes.local_set, func.locals['#generator_out'].idx ]
|
6263
|
-
);
|
6264
|
-
}
|
6265
|
-
|
6266
6263
|
if (name === 'main') {
|
6267
6264
|
func.gotLastType = true;
|
6268
6265
|
func.export = true;
|
package/compiler/types.js
CHANGED
@@ -89,7 +89,8 @@ registerInternalType('URIError');
|
|
89
89
|
registerInternalType('Test262Error');
|
90
90
|
registerInternalType('__Porffor_TodoError');
|
91
91
|
|
92
|
-
registerInternalType('
|
92
|
+
registerInternalType('__Porffor_Generator');
|
93
|
+
registerInternalType('__Porffor_AsyncGenerator');
|
93
94
|
|
94
95
|
if (Prefs.largestTypes) {
|
95
96
|
const typeKeys = Object.keys(TYPES);
|
package/package.json
CHANGED