chore(execution-engine): more handy way to work with subgraph_complete (#416)

This commit is contained in:
Mike Voronov 2022-12-28 14:09:03 +03:00 committed by GitHub
parent 1fc132d0d0
commit 86fce01e67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 203 additions and 224 deletions

349
Cargo.lock generated
View File

@ -4,9 +4,9 @@ version = 3
[[package]] [[package]]
name = "aho-corasick" name = "aho-corasick"
version = "0.7.19" version = "0.7.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
@ -379,9 +379,9 @@ checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270"
[[package]] [[package]]
name = "base64" name = "base64"
version = "0.13.0" version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
[[package]] [[package]]
name = "bimap" name = "bimap"
@ -463,9 +463,9 @@ dependencies = [
[[package]] [[package]]
name = "bumpalo" name = "bumpalo"
version = "3.11.0" version = "3.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
[[package]] [[package]]
name = "bytecount" name = "bytecount"
@ -496,9 +496,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.0.73" version = "1.0.78"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d"
[[package]] [[package]]
name = "cfg-if" name = "cfg-if"
@ -523,7 +523,7 @@ dependencies = [
"num-integer", "num-integer",
"num-traits", "num-traits",
"serde", "serde",
"time 0.1.44", "time 0.1.45",
"wasm-bindgen", "wasm-bindgen",
"winapi", "winapi",
] ]
@ -581,14 +581,14 @@ dependencies = [
[[package]] [[package]]
name = "clap" name = "clap"
version = "3.2.22" version = "3.2.23"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750" checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"clap_lex 0.2.4", "clap_lex 0.2.4",
"indexmap", "indexmap",
"textwrap 0.15.1", "textwrap 0.16.0",
] ]
[[package]] [[package]]
@ -801,7 +801,7 @@ dependencies = [
"atty", "atty",
"cast", "cast",
"ciborium", "ciborium",
"clap 3.2.22", "clap 3.2.23",
"criterion-plot 0.5.0", "criterion-plot 0.5.0",
"itertools", "itertools",
"lazy_static", "lazy_static",
@ -860,9 +860,9 @@ dependencies = [
[[package]] [[package]]
name = "crossbeam-epoch" name = "crossbeam-epoch"
version = "0.9.11" version = "0.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"cfg-if 1.0.0", "cfg-if 1.0.0",
@ -873,9 +873,9 @@ dependencies = [
[[package]] [[package]]
name = "crossbeam-utils" name = "crossbeam-utils"
version = "0.8.12" version = "0.8.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
] ]
@ -930,9 +930,9 @@ dependencies = [
[[package]] [[package]]
name = "ctor" name = "ctor"
version = "0.1.23" version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cdffe87e1d521a10f9696f833fe502293ea446d7f256c06128293a4119bdf4cb" checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
dependencies = [ dependencies = [
"quote", "quote",
"syn", "syn",
@ -940,9 +940,9 @@ dependencies = [
[[package]] [[package]]
name = "cxx" name = "cxx"
version = "1.0.78" version = "1.0.85"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19f39818dcfc97d45b03953c1292efc4e80954e1583c4aa770bac1383e2310a4" checksum = "5add3fc1717409d029b20c5b6903fc0c0b02fa6741d820054f4a2efa5e5816fd"
dependencies = [ dependencies = [
"cc", "cc",
"cxxbridge-flags", "cxxbridge-flags",
@ -952,9 +952,9 @@ dependencies = [
[[package]] [[package]]
name = "cxx-build" name = "cxx-build"
version = "1.0.78" version = "1.0.85"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e580d70777c116df50c390d1211993f62d40302881e54d4b79727acb83d0199" checksum = "b4c87959ba14bc6fbc61df77c3fcfe180fc32b93538c4f1031dd802ccb5f2ff0"
dependencies = [ dependencies = [
"cc", "cc",
"codespan-reporting", "codespan-reporting",
@ -967,15 +967,15 @@ dependencies = [
[[package]] [[package]]
name = "cxxbridge-flags" name = "cxxbridge-flags"
version = "1.0.78" version = "1.0.85"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56a46460b88d1cec95112c8c363f0e2c39afdb237f60583b0b36343bf627ea9c" checksum = "69a3e162fde4e594ed2b07d0f83c6c67b745e7f28ce58c6df5e6b6bef99dfb59"
[[package]] [[package]]
name = "cxxbridge-macro" name = "cxxbridge-macro"
version = "1.0.78" version = "1.0.85"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "747b608fecf06b0d72d440f27acc99288207324b793be2c17991839f3d4995ea" checksum = "3e7e2adeb6a0d4a282e581096b06e1791532b7d576dcde5ccd9382acf55db8e6"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -984,9 +984,9 @@ dependencies = [
[[package]] [[package]]
name = "darling" name = "darling"
version = "0.14.1" version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4529658bdda7fd6769b8614be250cdcfc3aeb0ee72fe66f9e41e5e5eb73eac02" checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa"
dependencies = [ dependencies = [
"darling_core", "darling_core",
"darling_macro", "darling_macro",
@ -994,9 +994,9 @@ dependencies = [
[[package]] [[package]]
name = "darling_core" name = "darling_core"
version = "0.14.1" version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "649c91bc01e8b1eac09fb91e8dbc7d517684ca6be8ebc75bb9cafc894f9fdb6f" checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f"
dependencies = [ dependencies = [
"fnv", "fnv",
"ident_case", "ident_case",
@ -1008,9 +1008,9 @@ dependencies = [
[[package]] [[package]]
name = "darling_macro" name = "darling_macro"
version = "0.14.1" version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ddfc69c5bfcbd2fc09a0f38451d2daf0e372e367986a83906d1b0dbc88134fb5" checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e"
dependencies = [ dependencies = [
"darling_core", "darling_core",
"quote", "quote",
@ -1019,9 +1019,9 @@ dependencies = [
[[package]] [[package]]
name = "data-encoding" name = "data-encoding"
version = "2.3.2" version = "2.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb"
[[package]] [[package]]
name = "data-encoding-macro" name = "data-encoding-macro"
@ -1075,9 +1075,9 @@ dependencies = [
[[package]] [[package]]
name = "digest" name = "digest"
version = "0.10.5" version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
dependencies = [ dependencies = [
"block-buffer", "block-buffer",
"crypto-common", "crypto-common",
@ -1134,9 +1134,9 @@ dependencies = [
[[package]] [[package]]
name = "erased-serde" name = "erased-serde"
version = "0.3.23" version = "0.3.24"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54558e0ba96fbe24280072642eceb9d7d442e32c7ec0ea9e7ecd7b4ea2cf4e11" checksum = "e4ca605381c017ec7a5fef5e548f1cfaa419ed0f6df6367339300db74c92aa7d"
dependencies = [ dependencies = [
"serde", "serde",
] ]
@ -1180,14 +1180,14 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
[[package]] [[package]]
name = "fluence-app-service" name = "fluence-app-service"
version = "0.22.1" version = "0.22.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a4c8f3b177149f19682f5c1498e61bdb914f79529d3301d971027cd2470617c" checksum = "967bc26939d9a5a0dd09bd8991c9b0df80eacb370723b8d1019184a9c0606936"
dependencies = [ dependencies = [
"log", "log",
"maplit", "maplit",
"marine-min-it-version", "marine-min-it-version",
"marine-runtime 0.23.1", "marine-runtime 0.23.2",
"serde", "serde",
"serde_derive", "serde_derive",
"serde_json", "serde_json",
@ -1278,9 +1278,9 @@ dependencies = [
[[package]] [[package]]
name = "getrandom" name = "getrandom"
version = "0.2.7" version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"libc", "libc",
@ -1289,9 +1289,9 @@ dependencies = [
[[package]] [[package]]
name = "ghost" name = "ghost"
version = "0.1.6" version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb19fe8de3ea0920d282f7b77dd4227aea6b8b999b42cdf0ca41b2472b14443a" checksum = "41973d4c45f7a35af8753ba3457cc99d406d863941fd7f52663cff54a5ab99b3"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -1370,9 +1370,9 @@ dependencies = [
[[package]] [[package]]
name = "iana-time-zone" name = "iana-time-zone"
version = "0.1.51" version = "0.1.53"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed" checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765"
dependencies = [ dependencies = [
"android_system_properties", "android_system_properties",
"core-foundation-sys", "core-foundation-sys",
@ -1384,9 +1384,9 @@ dependencies = [
[[package]] [[package]]
name = "iana-time-zone-haiku" name = "iana-time-zone-haiku"
version = "0.1.0" version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fde6edd6cef363e9359ed3c98ba64590ba9eecba2293eb5a723ab32aee8926aa" checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
dependencies = [ dependencies = [
"cxx", "cxx",
"cxx-build", "cxx-build",
@ -1412,9 +1412,9 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
[[package]] [[package]]
name = "indexmap" name = "indexmap"
version = "1.9.1" version = "1.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"hashbrown", "hashbrown",
@ -1447,19 +1447,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c"
dependencies = [ dependencies = [
"libc", "libc",
"windows-sys 0.42.0", "windows-sys",
] ]
[[package]] [[package]]
name = "is-terminal" name = "is-terminal"
version = "0.4.1" version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330" checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189"
dependencies = [ dependencies = [
"hermit-abi 0.2.6", "hermit-abi 0.2.6",
"io-lifetimes", "io-lifetimes",
"rustix", "rustix",
"windows-sys 0.42.0", "windows-sys",
] ]
[[package]] [[package]]
@ -1520,9 +1520,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
[[package]] [[package]]
name = "itoa" name = "itoa"
version = "1.0.4" version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
[[package]] [[package]]
name = "js-sys" name = "js-sys"
@ -1592,24 +1592,24 @@ dependencies = [
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.134" version = "0.2.139"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb" checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
[[package]] [[package]]
name = "link-cplusplus" name = "link-cplusplus"
version = "1.0.7" version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
dependencies = [ dependencies = [
"cc", "cc",
] ]
[[package]] [[package]]
name = "linux-raw-sys" name = "linux-raw-sys"
version = "0.1.3" version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f" checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
[[package]] [[package]]
name = "lock_api" name = "lock_api"
@ -1647,9 +1647,9 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
[[package]] [[package]]
name = "marine-core" name = "marine-core"
version = "0.18.0" version = "0.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b68e6db433b04a70ebfa7d4f65797863d45d3af0bbbb2865e39ab3de92803c2a" checksum = "16160d8f2db5186ed94b09e6419096c595ad712346f9f384bd6936e0856b366a"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"boolinator", "boolinator",
@ -1848,15 +1848,15 @@ dependencies = [
[[package]] [[package]]
name = "marine-runtime" name = "marine-runtime"
version = "0.23.1" version = "0.23.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93f57e7471e12d4f758f57dc54241fe8a750d2be03725260326f85f18cc0625d" checksum = "ed92c1e296d3790a78347a49d5519f02ab866d8bc7a2140075c09de6b5562a8c"
dependencies = [ dependencies = [
"bytesize", "bytesize",
"it-json-serde", "it-json-serde",
"itertools", "itertools",
"log", "log",
"marine-core 0.18.0", "marine-core 0.18.1",
"marine-module-interface", "marine-module-interface",
"marine-rs-sdk", "marine-rs-sdk",
"marine-rs-sdk-main", "marine-rs-sdk-main",
@ -1945,9 +1945,9 @@ dependencies = [
[[package]] [[package]]
name = "memoffset" name = "memoffset"
version = "0.6.5" version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
dependencies = [ dependencies = [
"autocfg", "autocfg",
] ]
@ -1976,7 +1976,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40"
dependencies = [ dependencies = [
"core2", "core2",
"digest 0.10.5", "digest 0.10.6",
"multihash-derive", "multihash-derive",
"sha2", "sha2",
"unsigned-varint", "unsigned-varint",
@ -2086,20 +2086,11 @@ dependencies = [
[[package]] [[package]]
name = "num_cpus" name = "num_cpus"
version = "1.13.1" version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
dependencies = [
"hermit-abi 0.1.19",
"libc",
]
[[package]]
name = "num_threads"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
dependencies = [ dependencies = [
"hermit-abi 0.2.6",
"libc", "libc",
] ]
@ -2126,9 +2117,9 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
[[package]] [[package]]
name = "os_str_bytes" name = "os_str_bytes"
version = "6.3.0" version = "6.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
[[package]] [[package]]
name = "output_vt100" name = "output_vt100"
@ -2168,7 +2159,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e" checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e"
dependencies = [ dependencies = [
"lock_api 0.3.4", "lock_api 0.3.4",
"parking_lot_core 0.7.2", "parking_lot_core 0.7.3",
] ]
[[package]] [[package]]
@ -2179,7 +2170,7 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
dependencies = [ dependencies = [
"instant", "instant",
"lock_api 0.4.9", "lock_api 0.4.9",
"parking_lot_core 0.8.5", "parking_lot_core 0.8.6",
] ]
[[package]] [[package]]
@ -2189,14 +2180,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [ dependencies = [
"lock_api 0.4.9", "lock_api 0.4.9",
"parking_lot_core 0.9.3", "parking_lot_core 0.9.5",
] ]
[[package]] [[package]]
name = "parking_lot_core" name = "parking_lot_core"
version = "0.7.2" version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3" checksum = "b93f386bb233083c799e6e642a9d73db98c24a5deeb95ffc85bf281255dffc98"
dependencies = [ dependencies = [
"cfg-if 0.1.10", "cfg-if 0.1.10",
"cloudabi", "cloudabi",
@ -2208,9 +2199,9 @@ dependencies = [
[[package]] [[package]]
name = "parking_lot_core" name = "parking_lot_core"
version = "0.8.5" version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"instant", "instant",
@ -2222,22 +2213,22 @@ dependencies = [
[[package]] [[package]]
name = "parking_lot_core" name = "parking_lot_core"
version = "0.9.3" version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"libc", "libc",
"redox_syscall 0.2.16", "redox_syscall 0.2.16",
"smallvec", "smallvec",
"windows-sys 0.36.1", "windows-sys",
] ]
[[package]] [[package]]
name = "paste" name = "paste"
version = "1.0.9" version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba"
[[package]] [[package]]
name = "petgraph" name = "petgraph"
@ -2373,15 +2364,15 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro-hack" name = "proc-macro-hack"
version = "0.5.19" version = "0.5.20+deprecated"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.46" version = "1.0.49"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b" checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
@ -2405,9 +2396,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.21" version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
] ]
@ -2425,21 +2416,19 @@ dependencies = [
[[package]] [[package]]
name = "rayon" name = "rayon"
version = "1.5.3" version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7"
dependencies = [ dependencies = [
"autocfg",
"crossbeam-deque",
"either", "either",
"rayon-core", "rayon-core",
] ]
[[package]] [[package]]
name = "rayon-core" name = "rayon-core"
version = "1.9.3" version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3"
dependencies = [ dependencies = [
"crossbeam-channel", "crossbeam-channel",
"crossbeam-deque", "crossbeam-deque",
@ -2468,7 +2457,7 @@ version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
dependencies = [ dependencies = [
"getrandom 0.2.7", "getrandom 0.2.8",
"redox_syscall 0.2.16", "redox_syscall 0.2.16",
"thiserror", "thiserror",
] ]
@ -2495,9 +2484,9 @@ dependencies = [
[[package]] [[package]]
name = "regex-syntax" name = "regex-syntax"
version = "0.6.27" version = "0.6.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
[[package]] [[package]]
name = "rustc_version" name = "rustc_version"
@ -2510,29 +2499,29 @@ dependencies = [
[[package]] [[package]]
name = "rustix" name = "rustix"
version = "0.36.4" version = "0.36.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb93e85278e08bb5788653183213d3a60fc242b10cb9be96586f5a73dcb67c23" checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"errno", "errno",
"io-lifetimes", "io-lifetimes",
"libc", "libc",
"linux-raw-sys", "linux-raw-sys",
"windows-sys 0.42.0", "windows-sys",
] ]
[[package]] [[package]]
name = "rustversion" name = "rustversion"
version = "1.0.9" version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70"
[[package]] [[package]]
name = "ryu" name = "ryu"
version = "1.0.11" version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
[[package]] [[package]]
name = "safe-transmute" name = "safe-transmute"
@ -2557,9 +2546,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]] [[package]]
name = "scratch" name = "scratch"
version = "1.0.2" version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2"
[[package]] [[package]]
name = "semver" name = "semver"
@ -2587,9 +2576,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.151" version = "1.0.152"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0" checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
@ -2625,9 +2614,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.151" version = "1.0.152"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8" checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -2640,7 +2629,7 @@ version = "1.0.91"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
dependencies = [ dependencies = [
"itoa 1.0.4", "itoa 1.0.5",
"ryu", "ryu",
"serde", "serde",
] ]
@ -2658,7 +2647,7 @@ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
"serde_with_macros", "serde_with_macros",
"time 0.3.15", "time 0.3.17",
] ]
[[package]] [[package]]
@ -2681,7 +2670,7 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"cpufeatures", "cpufeatures",
"digest 0.10.5", "digest 0.10.6",
] ]
[[package]] [[package]]
@ -2818,9 +2807,9 @@ dependencies = [
[[package]] [[package]]
name = "textwrap" name = "textwrap"
version = "0.15.1" version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16" checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
[[package]] [[package]]
name = "thiserror" name = "thiserror"
@ -2853,9 +2842,9 @@ dependencies = [
[[package]] [[package]]
name = "time" name = "time"
version = "0.1.44" version = "0.1.45"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
dependencies = [ dependencies = [
"libc", "libc",
"wasi 0.10.0+wasi-snapshot-preview1", "wasi 0.10.0+wasi-snapshot-preview1",
@ -2864,14 +2853,29 @@ dependencies = [
[[package]] [[package]]
name = "time" name = "time"
version = "0.3.15" version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d634a985c4d4238ec39cacaed2e7ae552fbd3c476b552c1deac3021b7d7eaf0c" checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
dependencies = [ dependencies = [
"itoa 1.0.4", "itoa 1.0.5",
"libc",
"num_threads",
"serde", "serde",
"time-core",
"time-macros",
]
[[package]]
name = "time-core"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
[[package]]
name = "time-macros"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2"
dependencies = [
"time-core",
] ]
[[package]] [[package]]
@ -2895,9 +2899,9 @@ dependencies = [
[[package]] [[package]]
name = "toml" name = "toml"
version = "0.5.9" version = "0.5.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f"
dependencies = [ dependencies = [
"serde", "serde",
] ]
@ -2959,7 +2963,7 @@ dependencies = [
"sharded-slab", "sharded-slab",
"smallvec", "smallvec",
"thread_local", "thread_local",
"time 0.3.15", "time 0.3.17",
"tracing", "tracing",
"tracing-core", "tracing-core",
"tracing-serde", "tracing-serde",
@ -2967,9 +2971,9 @@ dependencies = [
[[package]] [[package]]
name = "typenum" name = "typenum"
version = "1.15.0" version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
[[package]] [[package]]
name = "typetag" name = "typetag"
@ -2997,9 +3001,9 @@ dependencies = [
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.5" version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
[[package]] [[package]]
name = "unicode-segmentation" name = "unicode-segmentation"
@ -3323,7 +3327,7 @@ dependencies = [
"log", "log",
"serde", "serde",
"thiserror", "thiserror",
"time 0.1.44", "time 0.1.45",
"typetag", "typetag",
"wasmer-runtime-core-fl", "wasmer-runtime-core-fl",
"winapi", "winapi",
@ -3403,19 +3407,6 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows-sys"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
dependencies = [
"windows_aarch64_msvc 0.36.1",
"windows_i686_gnu 0.36.1",
"windows_i686_msvc 0.36.1",
"windows_x86_64_gnu 0.36.1",
"windows_x86_64_msvc 0.36.1",
]
[[package]] [[package]]
name = "windows-sys" name = "windows-sys"
version = "0.42.0" version = "0.42.0"
@ -3423,12 +3414,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
dependencies = [ dependencies = [
"windows_aarch64_gnullvm", "windows_aarch64_gnullvm",
"windows_aarch64_msvc 0.42.0", "windows_aarch64_msvc",
"windows_i686_gnu 0.42.0", "windows_i686_gnu",
"windows_i686_msvc 0.42.0", "windows_i686_msvc",
"windows_x86_64_gnu 0.42.0", "windows_x86_64_gnu",
"windows_x86_64_gnullvm", "windows_x86_64_gnullvm",
"windows_x86_64_msvc 0.42.0", "windows_x86_64_msvc",
] ]
[[package]] [[package]]
@ -3437,48 +3428,24 @@ version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
[[package]]
name = "windows_aarch64_msvc"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
[[package]] [[package]]
name = "windows_aarch64_msvc" name = "windows_aarch64_msvc"
version = "0.42.0" version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
[[package]]
name = "windows_i686_gnu"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
[[package]] [[package]]
name = "windows_i686_gnu" name = "windows_i686_gnu"
version = "0.42.0" version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
[[package]]
name = "windows_i686_msvc"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
[[package]] [[package]]
name = "windows_i686_msvc" name = "windows_i686_msvc"
version = "0.42.0" version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
[[package]]
name = "windows_x86_64_gnu"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
[[package]] [[package]]
name = "windows_x86_64_gnu" name = "windows_x86_64_gnu"
version = "0.42.0" version = "0.42.0"
@ -3491,12 +3458,6 @@ version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
[[package]]
name = "windows_x86_64_msvc"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
[[package]] [[package]]
name = "windows_x86_64_msvc" name = "windows_x86_64_msvc"
version = "0.42.0" version = "0.42.0"

View File

@ -55,7 +55,7 @@ pub(crate) struct ExecutionCtx<'i> {
/// - at least one of xor subgraphs is completed without an error /// - at least one of xor subgraphs is completed without an error
/// - all of seq subgraphs are completed /// - all of seq subgraphs are completed
/// - call executed successfully (executed state is Executed) /// - call executed successfully (executed state is Executed)
pub(crate) subgraph_complete: bool, subgraph_completeness: bool,
/// Tracker of all met instructions. /// Tracker of all met instructions.
pub(crate) tracker: InstructionTracker, pub(crate) tracker: InstructionTracker,
@ -92,7 +92,7 @@ impl<'i> ExecutionCtx<'i> {
Self { Self {
run_parameters, run_parameters,
subgraph_complete: true, subgraph_completeness: true,
last_call_request_id: prev_ingredients.last_call_request_id, last_call_request_id: prev_ingredients.last_call_request_id,
call_results, call_results,
streams, streams,
@ -115,6 +115,24 @@ impl<'i> ExecutionCtx<'i> {
} }
} }
impl ExecutionCtx<'_> {
pub(crate) fn make_subgraph_incomplete(&mut self) {
self.subgraph_completeness = false;
}
pub(crate) fn is_subgraph_complete(&self) -> bool {
self.subgraph_completeness
}
pub(crate) fn set_subgraph_completeness(&mut self, subgraph_complete: bool) {
self.subgraph_completeness = subgraph_complete;
}
pub(crate) fn flush_subgraph_completeness(&mut self) {
self.subgraph_completeness = true;
}
}
/// Helper struct for ExecCtx construction. /// Helper struct for ExecCtx construction.
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub(crate) struct ExecCtxIngredients { pub(crate) struct ExecCtxIngredients {
@ -160,7 +178,7 @@ impl<'i> Display for ExecutionCtx<'i> {
writeln!(f, "current peer id: {}", self.run_parameters.current_peer_id)?; writeln!(f, "current peer id: {}", self.run_parameters.current_peer_id)?;
writeln!(f, "init peer id: {}", self.run_parameters.init_peer_id)?; writeln!(f, "init peer id: {}", self.run_parameters.init_peer_id)?;
writeln!(f, "timestamp: {}", self.run_parameters.timestamp)?; writeln!(f, "timestamp: {}", self.run_parameters.timestamp)?;
writeln!(f, "subgraph complete: {}", self.subgraph_complete)?; writeln!(f, "subgraph complete: {}", self.subgraph_completeness)?;
writeln!(f, "next peer public keys: {:?}", self.next_peer_pks)?; writeln!(f, "next peer public keys: {:?}", self.next_peer_pks)?;
Ok(()) Ok(())

View File

@ -108,7 +108,7 @@ pub(crate) fn populate_context_from_data<'i>(
/// Writes an executed state of a particle being sent to remote node. /// Writes an executed state of a particle being sent to remote node.
pub(crate) fn handle_remote_call(peer_pk: String, exec_ctx: &mut ExecutionCtx<'_>, trace_ctx: &mut TraceHandler) { pub(crate) fn handle_remote_call(peer_pk: String, exec_ctx: &mut ExecutionCtx<'_>, trace_ctx: &mut TraceHandler) {
exec_ctx.next_peer_pks.push(peer_pk); exec_ctx.next_peer_pks.push(peer_pk);
exec_ctx.subgraph_complete = false; exec_ctx.make_subgraph_incomplete();
let new_call_result = CallResult::sent_peer_id(exec_ctx.run_parameters.current_peer_id.clone()); let new_call_result = CallResult::sent_peer_id(exec_ctx.run_parameters.current_peer_id.clone());
trace_ctx.meet_call_end(new_call_result); trace_ctx.meet_call_end(new_call_result);

View File

@ -50,7 +50,7 @@ pub(super) fn handle_prev_state<'i>(
// this call was failed on one of the previous executions, // this call was failed on one of the previous executions,
// here it's needed to bubble this special error up // here it's needed to bubble this special error up
CallServiceFailed(ret_code, ref err_msg) => { CallServiceFailed(ret_code, ref err_msg) => {
exec_ctx.subgraph_complete = false; exec_ctx.make_subgraph_incomplete();
let err_msg = err_msg.clone(); let err_msg = err_msg.clone();
trace_ctx.meet_call_end(met_result.result); trace_ctx.meet_call_end(met_result.result);
Err(CatchableError::LocalServiceError(ret_code, err_msg).into()) Err(CatchableError::LocalServiceError(ret_code, err_msg).into())
@ -66,7 +66,7 @@ pub(super) fn handle_prev_state<'i>(
} }
// result hasn't been prepared yet // result hasn't been prepared yet
None => { None => {
exec_ctx.subgraph_complete = false; exec_ctx.make_subgraph_incomplete();
Ok(StateDescriptor::not_ready(met_result.result)) Ok(StateDescriptor::not_ready(met_result.result))
} }
} }
@ -78,7 +78,7 @@ pub(super) fn handle_prev_state<'i>(
return Ok(StateDescriptor::can_execute_now(met_result.result)); return Ok(StateDescriptor::can_execute_now(met_result.result));
} }
exec_ctx.subgraph_complete = false; exec_ctx.make_subgraph_incomplete();
Ok(StateDescriptor::cant_execute_now(met_result.result)) Ok(StateDescriptor::cant_execute_now(met_result.result))
} }
// this instruction's been already executed // this instruction's been already executed

View File

@ -109,7 +109,7 @@ impl<'i> ResolvedCall<'i> {
let call_id = exec_ctx.next_call_request_id(); let call_id = exec_ctx.next_call_request_id();
exec_ctx.call_requests.insert(call_id, request_params); exec_ctx.call_requests.insert(call_id, request_params);
exec_ctx.subgraph_complete = false; exec_ctx.make_subgraph_incomplete();
trace_ctx.meet_call_end(CallResult::sent_peer_id_with_call_id( trace_ctx.meet_call_end(CallResult::sent_peer_id_with_call_id(
exec_ctx.run_parameters.current_peer_id.clone(), exec_ctx.run_parameters.current_peer_id.clone(),
call_id, call_id,

View File

@ -74,7 +74,7 @@ fn handle_unseen_canon(
let peer_id = crate::execution_step::instructions::resolve_peer_id_to_string(&ast_canon.peer_id, exec_ctx)?; let peer_id = crate::execution_step::instructions::resolve_peer_id_to_string(&ast_canon.peer_id, exec_ctx)?;
if exec_ctx.run_parameters.current_peer_id.as_str() != peer_id { if exec_ctx.run_parameters.current_peer_id.as_str() != peer_id {
exec_ctx.subgraph_complete = false; exec_ctx.make_subgraph_incomplete();
exec_ctx.next_peer_pks.push(peer_id); exec_ctx.next_peer_pks.push(peer_id);
//this branch is executed only when //this branch is executed only when
// this canon instruction executes for the first time // this canon instruction executes for the first time

View File

@ -119,7 +119,7 @@ fn fail_with_error_object(
exec_ctx exec_ctx
.last_error_descriptor .last_error_descriptor
.set_from_error_object(error.clone(), tetraplet); .set_from_error_object(error.clone(), tetraplet);
exec_ctx.subgraph_complete = false; exec_ctx.make_subgraph_incomplete();
Err(ExecutionError::Catchable(Rc::new(CatchableError::UserError { error }))) Err(ExecutionError::Catchable(Rc::new(CatchableError::UserError { error })))
} }

View File

@ -42,7 +42,7 @@ impl<'i> ExecutableInstruction<'i> for FoldStream<'i> {
Some(stream) => stream, Some(stream) => stream,
None => { None => {
// having empty streams means that it haven't been met yet, and it's needed to wait // having empty streams means that it haven't been met yet, and it's needed to wait
exec_ctx.subgraph_complete = false; exec_ctx.make_subgraph_incomplete();
return Ok(()); return Ok(());
} }
}; };
@ -107,7 +107,7 @@ fn execute_iterations<'i>(
trace_ctx, trace_ctx,
); );
trace_to_exec_err!(trace_ctx.meet_generation_end(fold_id), fold_stream)?; trace_to_exec_err!(trace_ctx.meet_generation_end(fold_id), fold_stream)?;
generation_observer.observe_generation_results(exec_ctx.subgraph_complete, result); generation_observer.observe_generation_results(exec_ctx.is_subgraph_complete(), result);
} }
Ok(()) Ok(())

View File

@ -39,7 +39,7 @@ impl FoldGenerationObserver {
} }
pub(super) fn update_completeness(&self, exec_ctx: &mut ExecutionCtx<'_>) { pub(super) fn update_completeness(&self, exec_ctx: &mut ExecutionCtx<'_>) {
exec_ctx.subgraph_complete = self.subtree_complete; exec_ctx.set_subgraph_completeness(self.subtree_complete);
} }
pub(super) fn into_result(self) -> ExecutionResult<()> { pub(super) fn into_result(self) -> ExecutionResult<()> {

View File

@ -122,7 +122,7 @@ macro_rules! log_instruction {
log::trace!( log::trace!(
target: air_log_targets::SUBGRAPH_COMPLETE, target: air_log_targets::SUBGRAPH_COMPLETE,
" subgraph complete: {}", " subgraph complete: {}",
$exec_ctx.subgraph_complete $exec_ctx.is_subgraph_complete()
); );
log::trace!( log::trace!(
@ -144,7 +144,7 @@ macro_rules! joinable {
($cmd:expr, $exec_ctx:expr, $ok_result:expr) => { ($cmd:expr, $exec_ctx:expr, $ok_result:expr) => {
match $cmd { match $cmd {
Err(e) if e.is_joinable() => { Err(e) if e.is_joinable() => {
$exec_ctx.subgraph_complete = false; $exec_ctx.make_subgraph_incomplete();
return Ok($ok_result); return Ok($ok_result);
} }
v => v, v => v,

View File

@ -24,7 +24,7 @@ use air_parser::ast::Never;
impl<'i> super::ExecutableInstruction<'i> for Never { impl<'i> super::ExecutableInstruction<'i> for Never {
fn execute(&self, exec_ctx: &mut ExecutionCtx<'i>, trace_ctx: &mut TraceHandler) -> ExecutionResult<()> { fn execute(&self, exec_ctx: &mut ExecutionCtx<'i>, trace_ctx: &mut TraceHandler) -> ExecutionResult<()> {
log_instruction!(null, exec_ctx, trace_ctx); log_instruction!(null, exec_ctx, trace_ctx);
exec_ctx.subgraph_complete = false; exec_ctx.make_subgraph_incomplete();
Ok(()) Ok(())
} }

View File

@ -41,16 +41,16 @@ impl<'i> super::ExecutableInstruction<'i> for Next<'i> {
// execute last instruction if any // execute last instruction if any
if let Some(last_instr) = &fold_state.last_instr_head { if let Some(last_instr) = &fold_state.last_instr_head {
let last_instr = last_instr.clone(); let last_instr = last_instr.clone();
exec_ctx.subgraph_complete = true; // it's needed because of determine_subgraph_complete in par exec_ctx.flush_subgraph_completeness(); // it's needed because of determine_subgraph_complete in par
last_instr.execute(exec_ctx, trace_ctx)?; last_instr.execute(exec_ctx, trace_ctx)?;
} else { } else {
// if no last instruction, execute never as a fallback for fold over stream (it'll be removed in future) // if no last instruction, execute never as a fallback for fold over stream (it'll be removed in future)
let fold_state = exec_ctx.scalars.get_iterable_mut(iterator_name)?; let fold_state = exec_ctx.scalars.get_iterable_mut(iterator_name)?;
if !fold_state.back_iteration_started && matches!(fold_state.iterable_type, IterableType::Stream(_)) { if !fold_state.back_iteration_started && matches!(fold_state.iterable_type, IterableType::Stream(_)) {
fold_state.back_iteration_started = true;
// this set the last iteration of a next to not executed for fold over streams // this set the last iteration of a next to not executed for fold over streams
// for more info see https://github.com/fluencelabs/aquavm/issues/333 // for more info see https://github.com/fluencelabs/aquavm/issues/333
exec_ctx.subgraph_complete = false; exec_ctx.make_subgraph_incomplete();
fold_state.back_iteration_started = true;
} }
} }

View File

@ -60,7 +60,7 @@ fn execute_subgraph<'i>(
SubgraphType::Left => &par.0, SubgraphType::Left => &par.0,
SubgraphType::Right => &par.1, SubgraphType::Right => &par.1,
}; };
exec_ctx.subgraph_complete = determine_subgraph_complete(subgraph); exec_ctx.set_subgraph_completeness(determine_subgraph_complete(subgraph));
// execute a subgraph // execute a subgraph
let result = match subgraph.execute(exec_ctx, trace_ctx) { let result = match subgraph.execute(exec_ctx, trace_ctx) {
@ -69,12 +69,12 @@ fn execute_subgraph<'i>(
SubgraphResult::Succeeded SubgraphResult::Succeeded
} }
Err(e) if e.is_catchable() => { Err(e) if e.is_catchable() => {
exec_ctx.subgraph_complete = false; exec_ctx.make_subgraph_incomplete();
trace_to_exec_err!(trace_ctx.meet_par_subgraph_end(subgraph_type), par)?; trace_to_exec_err!(trace_ctx.meet_par_subgraph_end(subgraph_type), par)?;
SubgraphResult::Failed(e) SubgraphResult::Failed(e)
} }
Err(e) => { Err(e) => {
exec_ctx.subgraph_complete = false; exec_ctx.make_subgraph_incomplete();
return Err(e); return Err(e);
} }
}; };

View File

@ -33,14 +33,14 @@ impl ParCompletenessUpdater {
pub(super) fn observe_completeness(&mut self, exec_ctx: &ExecutionCtx<'_>, subgraph_type: SubgraphType) { pub(super) fn observe_completeness(&mut self, exec_ctx: &ExecutionCtx<'_>, subgraph_type: SubgraphType) {
match subgraph_type { match subgraph_type {
SubgraphType::Left => self.left_subgraph_complete = exec_ctx.subgraph_complete, SubgraphType::Left => self.left_subgraph_complete = exec_ctx.is_subgraph_complete(),
SubgraphType::Right => self.right_subgraph_complete = exec_ctx.subgraph_complete, SubgraphType::Right => self.right_subgraph_complete = exec_ctx.is_subgraph_complete(),
} }
} }
pub(super) fn set_completeness(self, exec_ctx: &mut ExecutionCtx<'_>) { pub(super) fn set_completeness(self, exec_ctx: &mut ExecutionCtx<'_>) {
// par is completed if at least one of its subgraphs is completed // par is completed if at least one of its subgraphs is completed
let subgraph_complete = self.left_subgraph_complete || self.right_subgraph_complete; let subgraph_complete = self.left_subgraph_complete || self.right_subgraph_complete;
exec_ctx.subgraph_complete = subgraph_complete; exec_ctx.set_subgraph_completeness(subgraph_complete);
} }
} }

View File

@ -25,10 +25,10 @@ impl<'i> super::ExecutableInstruction<'i> for Seq<'i> {
fn execute(&self, exec_ctx: &mut ExecutionCtx<'i>, trace_ctx: &mut TraceHandler) -> ExecutionResult<()> { fn execute(&self, exec_ctx: &mut ExecutionCtx<'i>, trace_ctx: &mut TraceHandler) -> ExecutionResult<()> {
log_instruction!(seq, exec_ctx, trace_ctx); log_instruction!(seq, exec_ctx, trace_ctx);
exec_ctx.subgraph_complete = true; exec_ctx.flush_subgraph_completeness();
self.0.execute(exec_ctx, trace_ctx)?; self.0.execute(exec_ctx, trace_ctx)?;
if exec_ctx.subgraph_complete { if exec_ctx.is_subgraph_complete() {
self.1.execute(exec_ctx, trace_ctx)?; self.1.execute(exec_ctx, trace_ctx)?;
} }

View File

@ -26,13 +26,13 @@ impl<'i> super::ExecutableInstruction<'i> for Xor<'i> {
fn execute(&self, exec_ctx: &mut ExecutionCtx<'i>, trace_ctx: &mut TraceHandler) -> ExecutionResult<()> { fn execute(&self, exec_ctx: &mut ExecutionCtx<'i>, trace_ctx: &mut TraceHandler) -> ExecutionResult<()> {
log_instruction!(xor, exec_ctx, trace_ctx); log_instruction!(xor, exec_ctx, trace_ctx);
exec_ctx.subgraph_complete = true; exec_ctx.flush_subgraph_completeness();
match self.0.execute(exec_ctx, trace_ctx) { match self.0.execute(exec_ctx, trace_ctx) {
Err(e) if e.is_catchable() => { Err(e) if e.is_catchable() => {
exec_ctx.subgraph_complete = true;
exec_ctx.last_error_descriptor.meet_xor_right_branch();
print_xor_log(&e); print_xor_log(&e);
exec_ctx.flush_subgraph_completeness();
exec_ctx.last_error_descriptor.meet_xor_right_branch();
self.1.execute(exec_ctx, trace_ctx) self.1.execute(exec_ctx, trace_ctx)
} }
res => res, res => res,