Commit 799fdb6
authored
fix(core): async return instruction usage (#1414)
This commit fixes a few issues in the async return machinery:
1. `Instruction::Return` calculation of `amt` for functions with no
return values
2. Missing use of `Instruction::AsyncTaskReturn`
3. Determination of whether to pass a pointer or flat params for async functions
Both issues were in the function with no result case:
For (1), the code did not take into account that the async
functions *always* return at least the async state (a single i64).
For (2), the code did not use an `Instruction::AsyncTaskReturn`, rather
than a regular `Instruction::Return`
For (3), the code did not take into account whether the number of
results was lower than the max flattened values or not1 parent 04f6257 commit 799fdb6
1 file changed
+18
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1271 | 1271 | | |
1272 | 1272 | | |
1273 | 1273 | | |
1274 | | - | |
| 1274 | + | |
1275 | 1275 | | |
1276 | 1276 | | |
1277 | 1277 | | |
| |||
1281 | 1281 | | |
1282 | 1282 | | |
1283 | 1283 | | |
1284 | | - | |
1285 | | - | |
1286 | | - | |
| 1284 | + | |
1287 | 1285 | | |
1288 | | - | |
1289 | | - | |
1290 | | - | |
1291 | | - | |
| 1286 | + | |
| 1287 | + | |
| 1288 | + | |
| 1289 | + | |
| 1290 | + | |
| 1291 | + | |
| 1292 | + | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
1292 | 1302 | | |
1293 | 1303 | | |
1294 | 1304 | | |
| |||
0 commit comments