Skip to content

Commit 3b9f946

Browse files
committed
try other approach
1 parent 76f7b9b commit 3b9f946

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+24668
-24426
lines changed

Diff for: cli/asc.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -720,10 +720,10 @@ exports.main = function main(argv, options, callback) {
720720
add("post-assemblyscript");
721721
}
722722
add("dce");
723+
add("inlining"); // differs
723724
add("remove-unused-brs");
724725
add("remove-unused-names");
725-
add("optimize-instructions");
726-
add("inlining"); // differs
726+
add("optimize-instructions"); // differs
727727
if (optimizeLevel >= 2 || shrinkLevel >= 1) {
728728
add("pick-load-signs");
729729
add("simplify-globals-optimizing"); // differs
@@ -743,6 +743,7 @@ exports.main = function main(argv, options, callback) {
743743
}
744744
add("simplify-locals-nostructure");
745745
add("vacuum");
746+
add("inlining-optimizing"); // differs
746747
add("reorder-locals");
747748
add("remove-unused-brs");
748749
// if (optimizeLevel >= 3 || shrinkLevel >= 2) { // do it later

Diff for: tests/compiler/assert-nonnull.optimized.wat

+6-8
Original file line numberDiff line numberDiff line change
@@ -140,10 +140,9 @@
140140
(local $1 i32)
141141
block $folding-inner0
142142
local.get $0
143-
local.tee $1
144143
i32.eqz
145144
br_if $folding-inner0
146-
local.get $1
145+
local.get $0
147146
call $~lib/array/Array<assert-nonnull/Foo | null>#__get
148147
local.tee $0
149148
local.get $0
@@ -167,10 +166,9 @@
167166
(local $1 i32)
168167
block $folding-inner0
169168
local.get $0
170-
local.tee $1
171169
i32.eqz
172170
br_if $folding-inner0
173-
local.get $1
171+
local.get $0
174172
call $~lib/array/Array<assert-nonnull/Foo | null>#__get
175173
local.tee $0
176174
local.get $0
@@ -215,8 +213,8 @@
215213
(local $1 i32)
216214
local.get $0
217215
call_indirect (type $none_=>_i32)
218-
local.tee $1
219-
local.get $1
216+
local.tee $0
217+
local.get $0
220218
i32.eqz
221219
if
222220
i32.const 0
@@ -237,8 +235,8 @@
237235
local.get $0
238236
i32.load offset=4
239237
call_indirect (type $none_=>_i32)
240-
local.tee $1
241-
local.get $1
238+
local.tee $0
239+
local.get $0
242240
i32.eqz
243241
if
244242
i32.const 0

Diff for: tests/compiler/do.optimized.wat

+16-17
Original file line numberDiff line numberDiff line change
@@ -1047,6 +1047,7 @@
10471047
(local $0 i32)
10481048
(local $1 i32)
10491049
(local $2 i32)
1050+
(local $3 i32)
10501051
i32.const 0
10511052
global.set $do/ran
10521053
i32.const 10
@@ -1187,14 +1188,14 @@
11871188
global.set $do/ran
11881189
i32.const 0
11891190
local.set $1
1190-
loop $do-continue|03
1191+
loop $do-continue|06
11911192
local.get $1
11921193
i32.const 1
11931194
i32.add
11941195
local.tee $1
11951196
i32.const 10
11961197
i32.ne
1197-
br_if $do-continue|03
1198+
br_if $do-continue|06
11981199
end
11991200
local.get $1
12001201
i32.const 10
@@ -1215,7 +1216,7 @@
12151216
local.set $0
12161217
i32.const 0
12171218
local.set $1
1218-
loop $do-continue|04
1219+
loop $do-continue|03
12191220
local.get $0
12201221
i32.const 1
12211222
i32.add
@@ -1232,7 +1233,7 @@
12321233
i32.rem_s
12331234
br_if $do-continue|1
12341235
end
1235-
br $do-continue|04
1236+
br $do-continue|03
12361237
end
12371238
end
12381239
local.get $0
@@ -1263,11 +1264,11 @@
12631264
global.set $do/ran
12641265
call $do/Ref#constructor
12651266
local.set $0
1266-
loop $do-continue|05
1267-
local.get $2
1267+
loop $do-continue|04
1268+
local.get $3
12681269
i32.const 1
12691270
i32.add
1270-
local.tee $2
1271+
local.tee $3
12711272
i32.const 10
12721273
i32.eq
12731274
if
@@ -1286,9 +1287,9 @@
12861287
end
12871288
local.get $1
12881289
local.tee $0
1289-
br_if $do-continue|05
1290+
br_if $do-continue|04
12901291
end
1291-
local.get $2
1292+
local.get $3
12921293
i32.const 10
12931294
i32.ne
12941295
if
@@ -1324,12 +1325,10 @@
13241325
end
13251326
i32.const 0
13261327
global.set $do/ran
1327-
i32.const 0
1328-
local.set $2
13291328
call $do/Ref#constructor
13301329
local.set $0
1331-
loop $do-continue|06
1332-
block $do-break|0
1330+
loop $do-continue|045
1331+
block $do-break|05
13331332
local.get $2
13341333
i32.const 1
13351334
i32.add
@@ -1344,13 +1343,13 @@
13441343
end
13451344
i32.const 0
13461345
local.set $0
1347-
br $do-break|0
1346+
br $do-break|05
13481347
end
13491348
call $do/Ref#constructor
1350-
local.tee $1
1349+
local.tee $3
13511350
call $~lib/rt/pure/__release
1352-
local.get $1
1353-
br_if $do-continue|06
1351+
local.get $3
1352+
br_if $do-continue|045
13541353
end
13551354
end
13561355
local.get $2

Diff for: tests/compiler/extends-baseaggregate.optimized.wat

+22-22
Original file line numberDiff line numberDiff line change
@@ -916,9 +916,9 @@
916916
local.get $0
917917
local.get $1
918918
call $~lib/rt/tlsf/prepareSize
919-
local.tee $4
920-
call $~lib/rt/tlsf/searchBlock
921919
local.tee $3
920+
call $~lib/rt/tlsf/searchBlock
921+
local.tee $4
922922
i32.eqz
923923
if
924924
i32.const 1
@@ -927,14 +927,14 @@
927927
i32.const 0
928928
global.set $~lib/rt/tlsf/collectLock
929929
local.get $0
930-
local.get $4
930+
local.get $3
931931
call $~lib/rt/tlsf/searchBlock
932-
local.tee $3
932+
local.tee $4
933933
i32.eqz
934934
if
935935
i32.const 16
936936
memory.size
937-
local.tee $3
937+
local.tee $4
938938
i32.const 16
939939
i32.shl
940940
i32.const 16
@@ -943,18 +943,18 @@
943943
i32.load offset=1568
944944
i32.ne
945945
i32.shl
946-
local.get $4
947946
i32.const 1
948947
i32.const 27
949-
local.get $4
948+
local.get $3
950949
i32.clz
951950
i32.sub
952951
i32.shl
953952
i32.const 1
954953
i32.sub
954+
local.get $3
955955
i32.add
956-
local.get $4
957-
local.get $4
956+
local.get $3
957+
local.get $3
958958
i32.const 536870904
959959
i32.lt_u
960960
select
@@ -966,9 +966,9 @@
966966
i32.const 16
967967
i32.shr_u
968968
local.set $5
969-
local.get $3
969+
local.get $4
970970
local.get $5
971-
local.get $3
971+
local.get $4
972972
local.get $5
973973
i32.gt_s
974974
select
@@ -985,17 +985,17 @@
985985
end
986986
end
987987
local.get $0
988-
local.get $3
988+
local.get $4
989989
i32.const 16
990990
i32.shl
991991
memory.size
992992
i32.const 16
993993
i32.shl
994994
call $~lib/rt/tlsf/addMemory
995995
local.get $0
996-
local.get $4
996+
local.get $3
997997
call $~lib/rt/tlsf/searchBlock
998-
local.tee $3
998+
local.tee $4
999999
i32.eqz
10001000
if
10011001
i32.const 0
@@ -1007,11 +1007,11 @@
10071007
end
10081008
end
10091009
end
1010-
local.get $3
1010+
local.get $4
10111011
i32.load
10121012
i32.const -4
10131013
i32.and
1014-
local.get $4
1014+
local.get $3
10151015
i32.lt_u
10161016
if
10171017
i32.const 0
@@ -1021,23 +1021,23 @@
10211021
call $~lib/builtins/abort
10221022
unreachable
10231023
end
1024-
local.get $3
1024+
local.get $4
10251025
i32.const 0
10261026
i32.store offset=4
1027-
local.get $3
1027+
local.get $4
10281028
local.get $2
10291029
i32.store offset=8
1030-
local.get $3
1030+
local.get $4
10311031
local.get $1
10321032
i32.store offset=12
10331033
local.get $0
1034-
local.get $3
1034+
local.get $4
10351035
call $~lib/rt/tlsf/removeBlock
10361036
local.get $0
1037-
local.get $3
10381037
local.get $4
1039-
call $~lib/rt/tlsf/prepareBlock
10401038
local.get $3
1039+
call $~lib/rt/tlsf/prepareBlock
1040+
local.get $4
10411041
)
10421042
(func $~lib/rt/tlsf/__alloc (param $0 i32) (param $1 i32) (result i32)
10431043
call $~lib/rt/tlsf/maybeInitialize

0 commit comments

Comments
 (0)