Commit 4e8be12
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 4e8be12
File tree
6 files changed
+298
-96
lines changed- include/cmcpp
- ref
- test
6 files changed
+298
-96
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 | | |
| |||
757 | 758 | | |
758 | 759 | | |
759 | 760 | | |
760 | | - | |
761 | | - | |
762 | | - | |
763 | | - | |
764 | | - | |
| 761 | + | |
765 | 762 | | |
766 | 763 | | |
767 | 764 | | |
| |||
902 | 899 | | |
903 | 900 | | |
904 | 901 | | |
905 | | - | |
906 | | - | |
907 | | - | |
908 | | - | |
909 | | - | |
910 | 902 | | |
911 | 903 | | |
912 | 904 | | |
| |||
1025 | 1017 | | |
1026 | 1018 | | |
1027 | 1019 | | |
1028 | | - | |
1029 | | - | |
1030 | | - | |
1031 | | - | |
1032 | | - | |
1033 | 1020 | | |
1034 | 1021 | | |
1035 | 1022 | | |
| |||
1240 | 1227 | | |
1241 | 1228 | | |
1242 | 1229 | | |
1243 | | - | |
1244 | | - | |
1245 | | - | |
1246 | | - | |
1247 | 1230 | | |
1248 | 1231 | | |
1249 | 1232 | | |
| |||
1328 | 1311 | | |
1329 | 1312 | | |
1330 | 1313 | | |
1331 | | - | |
1332 | | - | |
1333 | | - | |
1334 | | - | |
1335 | | - | |
| 1314 | + | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
1336 | 1323 | | |
1337 | 1324 | | |
1338 | 1325 | | |
| |||
1475 | 1462 | | |
1476 | 1463 | | |
1477 | 1464 | | |
| 1465 | + | |
1478 | 1466 | | |
1479 | 1467 | | |
1480 | 1468 | | |
1481 | 1469 | | |
1482 | 1470 | | |
1483 | 1471 | | |
1484 | 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 | + | |
1485 | 1499 | | |
1486 | 1500 | | |
1487 | 1501 | | |
| |||
1509 | 1523 | | |
1510 | 1524 | | |
1511 | 1525 | | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
1512 | 1560 | | |
1513 | 1561 | | |
1514 | 1562 | | |
| |||
1656 | 1704 | | |
1657 | 1705 | | |
1658 | 1706 | | |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
| 1710 | + | |
| 1711 | + | |
| 1712 | + | |
| 1713 | + | |
| 1714 | + | |
| 1715 | + | |
| 1716 | + | |
| 1717 | + | |
| 1718 | + | |
| 1719 | + | |
| 1720 | + | |
| 1721 | + | |
| 1722 | + | |
| 1723 | + | |
| 1724 | + | |
| 1725 | + | |
| 1726 | + | |
| 1727 | + | |
| 1728 | + | |
| 1729 | + | |
| 1730 | + | |
| 1731 | + | |
| 1732 | + | |
| 1733 | + | |
| 1734 | + | |
| 1735 | + | |
| 1736 | + | |
1659 | 1737 | | |
1660 | 1738 | | |
1661 | 1739 | | |
| |||
1796 | 1874 | | |
1797 | 1875 | | |
1798 | 1876 | | |
1799 | | - | |
| 1877 | + | |
1800 | 1878 | | |
1801 | 1879 | | |
1802 | 1880 | | |
| |||
1810 | 1888 | | |
1811 | 1889 | | |
1812 | 1890 | | |
1813 | | - | |
| 1891 | + | |
1814 | 1892 | | |
1815 | 1893 | | |
1816 | 1894 | | |
| |||
1836 | 1914 | | |
1837 | 1915 | | |
1838 | 1916 | | |
1839 | | - | |
| 1917 | + | |
1840 | 1918 | | |
1841 | 1919 | | |
1842 | 1920 | | |
| |||
1881 | 1959 | | |
1882 | 1960 | | |
1883 | 1961 | | |
1884 | | - | |
| 1962 | + | |
1885 | 1963 | | |
1886 | 1964 | | |
1887 | 1965 | | |
| |||
1959 | 2037 | | |
1960 | 2038 | | |
1961 | 2039 | | |
1962 | | - | |
| 2040 | + | |
1963 | 2041 | | |
1964 | 2042 | | |
1965 | 2043 | | |
| |||
1970 | 2048 | | |
1971 | 2049 | | |
1972 | 2050 | | |
| 2051 | + | |
1973 | 2052 | | |
1974 | 2053 | | |
1975 | | - | |
1976 | | - | |
1977 | | - | |
1978 | | - | |
1979 | | - | |
1980 | | - | |
1981 | | - | |
1982 | | - | |
1983 | | - | |
| 2054 | + | |
| 2055 | + | |
| 2056 | + | |
| 2057 | + | |
| 2058 | + | |
| 2059 | + | |
1984 | 2060 | | |
1985 | 2061 | | |
1986 | 2062 | | |
| |||
| 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
0 commit comments