|
1 | 1 | (module |
2 | 2 | (type $i32_=>_none (func (param i32))) |
3 | | - (type $i32_i32_=>_none (func (param i32 i32))) |
4 | | - (type $none_=>_i32 (func (result i32))) |
5 | 3 | (type $i32_=>_i32 (func (param i32) (result i32))) |
6 | 4 | (type $none_=>_none (func)) |
| 5 | + (type $i32_i32_=>_none (func (param i32 i32))) |
| 6 | + (type $none_=>_i32 (func (result i32))) |
7 | 7 | (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) |
8 | 8 | (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) |
9 | 9 | (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) |
|
891 | 891 | call $~lib/rt/rtrace/onalloc |
892 | 892 | local.get $1 |
893 | 893 | ) |
894 | | - (func $logical/Obj#constructor (result i32) |
895 | | - (local $0 i32) |
| 894 | + (func $~lib/rt/pure/__retain (param $0 i32) (result i32) |
896 | 895 | (local $1 i32) |
897 | 896 | (local $2 i32) |
898 | | - call $~lib/rt/tlsf/maybeInitialize |
899 | | - call $~lib/rt/tlsf/allocateBlock |
900 | | - i32.const 16 |
901 | | - i32.add |
902 | | - local.tee $1 |
| 897 | + local.get $0 |
903 | 898 | i32.const 1232 |
904 | 899 | i32.gt_u |
905 | 900 | if |
906 | | - local.get $1 |
| 901 | + local.get $0 |
907 | 902 | i32.const 16 |
908 | 903 | i32.sub |
909 | | - local.tee $0 |
| 904 | + local.tee $1 |
910 | 905 | i32.load offset=4 |
911 | 906 | local.tee $2 |
912 | 907 | i32.const -268435456 |
|
925 | 920 | call $~lib/builtins/abort |
926 | 921 | unreachable |
927 | 922 | end |
928 | | - local.get $0 |
| 923 | + local.get $1 |
929 | 924 | local.get $2 |
930 | 925 | i32.const 1 |
931 | 926 | i32.add |
932 | 927 | i32.store offset=4 |
933 | | - local.get $0 |
| 928 | + local.get $1 |
934 | 929 | call $~lib/rt/rtrace/onincrement |
935 | | - local.get $0 |
| 930 | + local.get $1 |
936 | 931 | i32.load |
937 | 932 | i32.const 1 |
938 | 933 | i32.and |
|
945 | 940 | unreachable |
946 | 941 | end |
947 | 942 | end |
948 | | - local.get $1 |
| 943 | + local.get $0 |
| 944 | + ) |
| 945 | + (func $logical/Obj#constructor (result i32) |
| 946 | + call $~lib/rt/tlsf/maybeInitialize |
| 947 | + call $~lib/rt/tlsf/allocateBlock |
| 948 | + i32.const 16 |
| 949 | + i32.add |
| 950 | + call $~lib/rt/pure/__retain |
949 | 951 | ) |
950 | 952 | (func $~lib/rt/pure/__release (param $0 i32) |
951 | 953 | local.get $0 |
|
958 | 960 | call $~lib/rt/pure/decrement |
959 | 961 | end |
960 | 962 | ) |
961 | | - (func $~start |
962 | | - (local $0 i32) |
| 963 | + (func $start:logical |
| 964 | + (local $0 f64) |
963 | 965 | (local $1 i32) |
| 966 | + (local $2 i32) |
| 967 | + (local $3 f32) |
| 968 | + (local $4 i32) |
| 969 | + (local $5 i32) |
964 | 970 | call $logical/Obj#constructor |
965 | | - local.tee $0 |
966 | | - if (result i32) |
| 971 | + local.tee $4 |
| 972 | + call $~lib/rt/pure/__retain |
| 973 | + local.tee $2 |
| 974 | + if |
967 | 975 | i32.const 1 |
968 | | - else |
969 | | - i32.const 0 |
| 976 | + local.set $1 |
970 | 977 | end |
| 978 | + local.get $2 |
| 979 | + call $~lib/rt/pure/__release |
| 980 | + local.get $1 |
971 | 981 | i32.eqz |
972 | 982 | if |
973 | 983 | i32.const 0 |
|
978 | 988 | unreachable |
979 | 989 | end |
980 | 990 | call $logical/Obj#constructor |
981 | | - local.tee $1 |
| 991 | + local.tee $2 |
| 992 | + call $~lib/rt/pure/__retain |
| 993 | + local.tee $5 |
982 | 994 | if (result i32) |
983 | 995 | i32.const 1 |
984 | 996 | else |
985 | 997 | i32.const 0 |
986 | 998 | end |
| 999 | + local.get $5 |
| 1000 | + call $~lib/rt/pure/__release |
987 | 1001 | i32.eqz |
988 | 1002 | if |
989 | 1003 | i32.const 0 |
|
993 | 1007 | call $~lib/builtins/abort |
994 | 1008 | unreachable |
995 | 1009 | end |
996 | | - local.get $0 |
| 1010 | + local.get $4 |
997 | 1011 | call $~lib/rt/pure/__release |
998 | | - local.get $1 |
| 1012 | + local.get $2 |
999 | 1013 | call $~lib/rt/pure/__release |
1000 | 1014 | ) |
| 1015 | + (func $~start |
| 1016 | + call $start:logical |
| 1017 | + ) |
1001 | 1018 | (func $~lib/rt/pure/decrement (param $0 i32) |
1002 | 1019 | (local $1 i32) |
1003 | 1020 | (local $2 i32) |
|
0 commit comments