Commit 6224c98
feat: add recursion check and separate threads table
Align with upstream canonical ABI changes:
- Add ComponentInstance::parent for component hierarchy tracking
- Add reflexive_ancestors() and is_reflexive_ancestor_of() methods
- Add call_might_be_recursive() to detect recursive cross-component calls
- Separate thread entries into dedicated ComponentInstance::threads table
- Wrap Store::invoke caller in host Supertask with instance=nullptr
- Update all thread operations to use threads table instead of table
- Add tests for ancestry methods and recursion detection
- Bump canonical reference submodules
Refs: component-model commits 3a00c74, 5f49720
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent d66bc32 commit 6224c98
File tree
6 files changed
+215
-15
lines changed- include/cmcpp
- ref
- test
6 files changed
+215
-15
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
1475 | 1476 | | |
1476 | 1477 | | |
1477 | 1478 | | |
| 1479 | + | |
1478 | 1480 | | |
1479 | 1481 | | |
1480 | 1482 | | |
1481 | 1483 | | |
1482 | 1484 | | |
1483 | 1485 | | |
1484 | 1486 | | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
1485 | 1513 | | |
1486 | 1514 | | |
1487 | 1515 | | |
| |||
1509 | 1537 | | |
1510 | 1538 | | |
1511 | 1539 | | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
1512 | 1574 | | |
1513 | 1575 | | |
1514 | 1576 | | |
| |||
1796 | 1858 | | |
1797 | 1859 | | |
1798 | 1860 | | |
1799 | | - | |
| 1861 | + | |
1800 | 1862 | | |
1801 | 1863 | | |
1802 | 1864 | | |
| |||
1810 | 1872 | | |
1811 | 1873 | | |
1812 | 1874 | | |
1813 | | - | |
| 1875 | + | |
1814 | 1876 | | |
1815 | 1877 | | |
1816 | 1878 | | |
| |||
1836 | 1898 | | |
1837 | 1899 | | |
1838 | 1900 | | |
1839 | | - | |
| 1901 | + | |
1840 | 1902 | | |
1841 | 1903 | | |
1842 | 1904 | | |
| |||
1881 | 1943 | | |
1882 | 1944 | | |
1883 | 1945 | | |
1884 | | - | |
| 1946 | + | |
1885 | 1947 | | |
1886 | 1948 | | |
1887 | 1949 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
443 | 443 | | |
444 | 444 | | |
445 | 445 | | |
446 | | - | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
447 | 450 | | |
448 | 451 | | |
449 | 452 | | |
| |||
Submodule component-model updated 30 files
- LICENSE+1-10
- LICENSE-APACHE
- design/mvp/Binary.md+2
- design/mvp/CanonicalABI.md+289-170
- design/mvp/Concurrency.md+5-5
- design/mvp/Explainer.md+34-11
- design/mvp/WIT.md+1-1
- design/mvp/canonical-abi/definitions.py+83-57
- design/mvp/canonical-abi/run_tests.py+85-45
- test/README.md+2-2
- test/async/async-calls-sync.wast+16-16
- test/async/cancel-stream.wast+2-2
- test/async/cancellable.wast+361
- test/async/cross-abi-calls.wast+514
- test/async/dont-block-start.wast+50
- test/async/drop-cross-task-borrow.wast+309
- test/async/drop-stream.wast+2-2
- test/async/drop-waitable-set.wast+2-2
- test/async/empty-wait.wast+3-3
- test/async/futures-must-write.wast+2-2
- test/async/partial-stream-copies.wast+7-7
- test/async/passing-resources.wast+3-3
- test/async/trap-if-block-and-sync.wast+27-1
- test/async/trap-on-reenter.wast+45
- test/resources/multiple-resources.wast+4-4
- test/wasm-tools/definedtypes.wast+2-41
- test/wasmtime/LICENSE-Apache-2.0_WITH_LLVM-exception+220
- test/wasmtime/adapter.wast+1-1
- test/wasmtime/fused.wast+197-165
- test/wasmtime/resources.wast+12-12
Submodule wasm-micro-runtime updated 262 files
Submodule wit-bindgen updated 427 files
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
800 | 800 | | |
801 | 801 | | |
802 | 802 | | |
803 | | - | |
| 803 | + | |
804 | 804 | | |
805 | 805 | | |
806 | 806 | | |
| |||
855 | 855 | | |
856 | 856 | | |
857 | 857 | | |
858 | | - | |
| 858 | + | |
859 | 859 | | |
860 | 860 | | |
861 | 861 | | |
| |||
912 | 912 | | |
913 | 913 | | |
914 | 914 | | |
915 | | - | |
| 915 | + | |
916 | 916 | | |
917 | 917 | | |
918 | 918 | | |
| |||
964 | 964 | | |
965 | 965 | | |
966 | 966 | | |
967 | | - | |
| 967 | + | |
968 | 968 | | |
969 | 969 | | |
970 | 970 | | |
| |||
973 | 973 | | |
974 | 974 | | |
975 | 975 | | |
976 | | - | |
| 976 | + | |
977 | 977 | | |
978 | 978 | | |
979 | 979 | | |
| |||
1025 | 1025 | | |
1026 | 1026 | | |
1027 | 1027 | | |
1028 | | - | |
| 1028 | + | |
1029 | 1029 | | |
1030 | 1030 | | |
1031 | 1031 | | |
| |||
1089 | 1089 | | |
1090 | 1090 | | |
1091 | 1091 | | |
1092 | | - | |
| 1092 | + | |
1093 | 1093 | | |
1094 | 1094 | | |
1095 | 1095 | | |
| |||
1362 | 1362 | | |
1363 | 1363 | | |
1364 | 1364 | | |
| 1365 | + | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
| 1369 | + | |
| 1370 | + | |
| 1371 | + | |
| 1372 | + | |
| 1373 | + | |
| 1374 | + | |
| 1375 | + | |
| 1376 | + | |
| 1377 | + | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
| 1381 | + | |
| 1382 | + | |
| 1383 | + | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
| 1394 | + | |
| 1395 | + | |
| 1396 | + | |
| 1397 | + | |
| 1398 | + | |
| 1399 | + | |
| 1400 | + | |
| 1401 | + | |
| 1402 | + | |
| 1403 | + | |
| 1404 | + | |
| 1405 | + | |
| 1406 | + | |
| 1407 | + | |
| 1408 | + | |
| 1409 | + | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
| 1415 | + | |
| 1416 | + | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
| 1420 | + | |
| 1421 | + | |
| 1422 | + | |
| 1423 | + | |
| 1424 | + | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
| 1430 | + | |
| 1431 | + | |
| 1432 | + | |
| 1433 | + | |
| 1434 | + | |
| 1435 | + | |
| 1436 | + | |
| 1437 | + | |
| 1438 | + | |
| 1439 | + | |
| 1440 | + | |
| 1441 | + | |
| 1442 | + | |
| 1443 | + | |
| 1444 | + | |
| 1445 | + | |
| 1446 | + | |
| 1447 | + | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
1365 | 1500 | | |
1366 | 1501 | | |
1367 | 1502 | | |
| |||
0 commit comments