-
-
Notifications
You must be signed in to change notification settings - Fork 675
Commit 6165368
committed
feat: optimize string literal tostack behavior
String literals are widely used static data, and our GC algorithm does not recycle them (see https://github.com/AssemblyScript/assemblyscript/blob/7e2a62d9615d2ae02b593af87ee4920a3c57b0bd/std/assembly/rt/itcms.ts#L244). Recording the addresses of all string literals and preventing the emission of tostack code can effectively improve performance1 parent 7e2a62d commit 6165368
File tree
74 files changed
+3214
-17715
lines changed- src
- tests/compiler
- bindings
- issues
- std
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
74 files changed
+3214
-17715
lines changedLines changed: 31 additions & 6 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
59 | 59 |
| |
60 | 60 |
| |
61 | 61 |
| |
62 | - | ||
62 | + | ||
63 | + | ||
63 | 64 |
| |
64 | 65 |
| |
65 | 66 |
| |
| |||
451 | 452 |
| |
452 | 453 |
| |
453 | 454 |
| |
455 | + | ||
456 | + | ||
454 | 457 |
| |
455 | 458 |
| |
456 | 459 |
| |
| |||
1939 | 1942 |
| |
1940 | 1943 |
| |
1941 | 1944 |
| |
1942 | - | ||
1945 | + | ||
1946 | + | ||
1947 | + | ||
1948 | + | ||
1949 | + | ||
1950 | + | ||
1951 | + | ||
1952 | + | ||
1953 | + | ||
1954 | + | ||
1943 | 1955 |
| |
1944 | 1956 |
| |
1945 | 1957 |
| |
| |||
6754 | 6766 |
| |
6755 | 6767 |
| |
6756 | 6768 |
| |
6769 | + | ||
6770 | + | ||
6771 | + | ||
6772 | + | ||
6773 | + | ||
6774 | + | ||
6775 | + | ||
6776 | + | ||
6777 | + | ||
6778 | + | ||
6779 | + | ||
6780 | + | ||
6781 | + | ||
6782 | + | ||
6783 | + | ||
6757 | 6784 |
| |
6758 | 6785 |
| |
6759 | 6786 |
| |
| |||
6763 | 6790 |
| |
6764 | 6791 |
| |
6765 | 6792 |
| |
6766 | - | ||
6767 | - | ||
6793 | + | ||
6768 | 6794 |
| |
6769 | 6795 |
| |
6770 | 6796 |
| |
| |||
6777 | 6803 |
| |
6778 | 6804 |
| |
6779 | 6805 |
| |
6780 | - | ||
6781 | - | ||
6806 | + | ||
6782 | 6807 |
| |
6783 | 6808 |
| |
6784 | 6809 |
| |
|
Lines changed: 12 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3038 | 3038 |
| |
3039 | 3039 |
| |
3040 | 3040 |
| |
3041 | + | ||
3042 | + | ||
3043 | + | ||
3044 | + | ||
3045 | + | ||
3046 | + | ||
3047 | + | ||
3048 | + | ||
3049 | + | ||
3050 | + | ||
3051 | + | ||
3052 | + | ||
3041 | 3053 |
| |
3042 | 3054 |
| |
3043 | 3055 |
| |
|
Lines changed: 3 additions & 36 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
357 | 357 |
| |
358 | 358 |
| |
359 | 359 |
| |
360 | - | ||
360 | + | ||
361 | 361 |
| |
362 | 362 |
| |
363 | 363 |
| |
364 | 364 |
| |
365 | 365 |
| |
366 | 366 |
| |
367 | - | ||
368 | - | ||
369 | - | ||
370 | 367 |
| |
371 | - | ||
372 | - | ||
373 | - | ||
374 | - | ||
375 | - | ||
376 | 368 |
| |
377 | - | ||
378 | - | ||
379 | - | ||
380 | - | ||
381 | - | ||
382 | 369 |
| |
383 | 370 |
| |
384 | 371 |
| |
| |||
390 | 377 |
| |
391 | 378 |
| |
392 | 379 |
| |
393 | - | ||
394 | - | ||
395 | - | ||
396 | - | ||
397 | - | ||
398 | 380 |
| |
399 | - | ||
400 | - | ||
401 | - | ||
402 | - | ||
403 | - | ||
404 | 381 |
| |
405 | 382 |
| |
406 | 383 |
| |
| |||
412 | 389 |
| |
413 | 390 |
| |
414 | 391 |
| |
415 | - | ||
416 | - | ||
417 | - | ||
418 | - | ||
419 | - | ||
420 | 392 |
| |
421 | - | ||
422 | - | ||
423 | - | ||
424 | - | ||
425 | - | ||
426 | 393 |
| |
427 | 394 |
| |
428 | 395 |
| |
| |||
436 | 403 |
| |
437 | 404 |
| |
438 | 405 |
| |
439 | - | ||
406 | + | ||
440 | 407 |
| |
441 | 408 |
| |
442 | 409 |
| |
| |||
462 | 429 |
| |
463 | 430 |
| |
464 | 431 |
| |
465 | - | ||
432 | + | ||
466 | 433 |
| |
467 | 434 |
| |
468 | 435 |
| |
|
Lines changed: 3 additions & 24 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
22 | 22 |
| |
23 | 23 |
| |
24 | 24 |
| |
25 | - | ||
25 | + | ||
26 | 26 |
| |
27 | 27 |
| |
28 | 28 |
| |
| |||
33 | 33 |
| |
34 | 34 |
| |
35 | 35 |
| |
36 | - | ||
37 | - | ||
38 | - | ||
39 | - | ||
40 | - | ||
41 | - | ||
42 | - | ||
43 | - | ||
44 | - | ||
45 | 36 |
| |
46 | 37 |
| |
47 | 38 |
| |
| |||
54 | 45 |
| |
55 | 46 |
| |
56 | 47 |
| |
57 | - | ||
58 | - | ||
59 | - | ||
60 | - | ||
61 | - | ||
62 | - | ||
63 | 48 |
| |
64 | 49 |
| |
65 | 50 |
| |
| |||
72 | 57 |
| |
73 | 58 |
| |
74 | 59 |
| |
75 | - | ||
76 | - | ||
77 | - | ||
78 | - | ||
79 | - | ||
80 | - | ||
81 | 60 |
| |
82 | 61 |
| |
83 | 62 |
| |
| |||
92 | 71 |
| |
93 | 72 |
| |
94 | 73 |
| |
95 | - | ||
74 | + | ||
96 | 75 |
| |
97 | 76 |
| |
98 | 77 |
| |
| |||
126 | 105 |
| |
127 | 106 |
| |
128 | 107 |
| |
129 | - | ||
108 | + | ||
130 | 109 |
| |
131 | 110 |
| |
132 | 111 |
| |
|
Lines changed: 21 additions & 44 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
124 | 124 |
| |
125 | 125 |
| |
126 | 126 |
| |
127 | + | ||
128 | + | ||
129 | + | ||
130 | + | ||
131 | + | ||
132 | + | ||
133 | + | ||
134 | + | ||
135 | + | ||
136 | + | ||
137 | + | ||
138 | + | ||
139 | + | ||
140 | + | ||
141 | + | ||
142 | + | ||
143 | + | ||
144 | + | ||
145 | + | ||
146 | + | ||
147 | + | ||
127 | 148 |
| |
128 | 149 |
| |
129 | 150 |
| |
| |||
3081 | 3102 |
| |
3082 | 3103 |
| |
3083 | 3104 |
| |
3084 | - | ||
3085 | - | ||
3086 | - | ||
3087 | - | ||
3088 | - | ||
3089 | - | ||
3090 | - | ||
3091 | - | ||
3092 | - | ||
3093 | - | ||
3094 | - | ||
3095 | - | ||
3096 | - | ||
3097 | - | ||
3098 | - | ||
3099 | - | ||
3100 | - | ||
3101 | - | ||
3102 | - | ||
3103 | - | ||
3104 | - | ||
3105 | - | ||
3106 | - | ||
3107 | - | ||
3108 | - | ||
3109 | - | ||
3110 | - | ||
3111 | - | ||
3112 | - | ||
3113 | - | ||
3114 | - | ||
3115 | - | ||
3116 | - | ||
3117 | - | ||
3118 | - | ||
3119 | - | ||
3120 | - | ||
3121 | - | ||
3122 | - | ||
3123 | - | ||
3124 | - | ||
3125 | - | ||
3126 | - | ||
3127 | - | ||
3128 | 3105 |
| |
3129 | 3106 |
| |
3130 | 3107 |
| |
|
0 commit comments