diff --git a/Cargo.lock b/Cargo.lock index 1182bdffc..69441e9f1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" @@ -112,60 +112,6 @@ version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", - "ark-std", - "derivative", - "digest", - "itertools 0.10.5", - "num-bigint", - "num-traits", - "paste", - "rustc_version", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-std", - "digest", - "num-bigint", -] - [[package]] name = "ark-std" version = "0.4.0" @@ -189,17 +135,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "autocfg" version = "1.4.0" @@ -251,15 +186,6 @@ dependencies = [ "wyz", ] -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest", -] - [[package]] name = "blake2b_simd" version = "1.0.2" @@ -271,15 +197,6 @@ dependencies = [ "constant_time_eq", ] -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - [[package]] name = "bumpalo" version = "3.16.0" @@ -324,8 +241,8 @@ dependencies = [ "anyhow", "ceno-examples", "elf", - "strum 0.25.0", - "strum_macros 0.25.3", + "strum", + "strum_macros", "tracing", ] @@ -334,7 +251,6 @@ name = "ceno_rt" version = "0.1.0" dependencies = [ "riscv", - "riscv-rt", ] [[package]] @@ -353,7 +269,7 @@ dependencies = [ "generic_static", "glob", "goldilocks", - "itertools 0.12.1", + "itertools 0.13.0", "mpcs", "multilinear_extensions", "paste", @@ -363,8 +279,8 @@ dependencies = [ "rayon", "serde", "serde_json", - "strum 0.25.0", - "strum_macros 0.25.3", + "strum", + "strum_macros", "sumcheck", "tempfile", "thread_local", @@ -445,7 +361,7 @@ version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "syn 2.0.79", @@ -575,9 +491,9 @@ dependencies = [ [[package]] name = "critical-section" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64009896348fc5af4222e9cf7d7d82a95a256c634ebcf61c53e4ea461422242" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" [[package]] name = "crossbeam-channel" @@ -632,7 +548,8 @@ dependencies = [ [[package]] name = "ctr" version = "0.9.2" -source = "git+https://github.com/RustCrypto/block-modes?rev=78fefba#78fefba5a80f3d788fd8ba7c4483625148f5dc18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ "cipher", ] @@ -646,28 +563,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", - "subtle", -] - [[package]] name = "either" version = "1.13.0" @@ -686,17 +581,27 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "361a90feb7004eca4019fb28352a9465666b24f840f5c3cddf0ff13920590b89" +[[package]] +name = "env_filter" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" +dependencies = [ + "log", + "regex", +] + [[package]] name = "env_logger" -version = "0.7.1" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" +checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" dependencies = [ - "atty", + "anstream", + "anstyle", + "env_filter", "humantime", "log", - "regex", - "termcolor", ] [[package]] @@ -738,6 +643,7 @@ version = "0.1.0" dependencies = [ "ff", "goldilocks", + "poseidon", "serde", ] @@ -819,7 +725,7 @@ dependencies = [ "ff", "ff_ext", "goldilocks", - "itertools 0.12.1", + "itertools 0.13.0", "multilinear_extensions", "pprof", "rayon", @@ -843,7 +749,7 @@ dependencies = [ "ff_ext", "gkr", "goldilocks", - "itertools 0.12.1", + "itertools 0.13.0", "multilinear_extensions", "simple-frontend", "sumcheck", @@ -862,7 +768,7 @@ version = "0.1.0" source = "git+https://github.com/hero78119/Goldilocks#7798793666c1205d50fc80b32b23a4430fce31e5" dependencies = [ "ff", - "halo2curves 0.1.0", + "halo2curves", "itertools 0.12.1", "rand_core", "serde", @@ -910,25 +816,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "halo2curves" -version = "0.3.3" -source = "git+https://github.com/privacy-scaling-explorations/halo2curves?tag=0.3.3#8e4cb9f0c66c864e8ca25da07f50ae95f664a5b7" -dependencies = [ - "ff", - "group", - "lazy_static", - "num-bigint", - "num-traits", - "pasta_curves", - "paste", - "rand", - "rand_core", - "serde", - "static_assertions", - "subtle", -] - [[package]] name = "hashbrown" version = "0.14.5" @@ -946,27 +833,12 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - [[package]] name = "heck" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.4.0" @@ -981,12 +853,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "humantime" -version = "1.3.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" -dependencies = [ - "quick-error", -] +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "indexmap" @@ -1031,7 +900,7 @@ version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi 0.4.0", + "hermit-abi", "libc", "windows-sys 0.52.0", ] @@ -1069,6 +938,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.11" @@ -1084,15 +962,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "keccak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" -dependencies = [ - "cpufeatures", -] - [[package]] name = "keccak-hash" version = "0.8.0" @@ -1180,28 +1049,22 @@ dependencies = [ "aes", "ark-std", "bitvec", - "blake2", - "blake2b_simd", "criterion", "ctr", "ff", "ff_ext", "generic-array", - "gkr", "goldilocks", - "halo2curves 0.3.3", - "itertools 0.12.1", + "itertools 0.13.0", "multilinear_extensions", "num-bigint", "num-integer", "plonky2", - "poseidon 0.2.0", + "poseidon", "rand", "rand_chacha", "rayon", "serde", - "sha3", - "simple-frontend", "transcript", ] @@ -1210,18 +1073,15 @@ name = "multilinear_extensions" version = "0.1.0" dependencies = [ "ark-std", - "criterion", "env_logger", "ff", "ff_ext", "goldilocks", - "itertools 0.12.1", + "itertools 0.13.0", "log", "rayon", "serde", "tracing", - "tracing-flame", - "tracing-subscriber", ] [[package]] @@ -1505,15 +1365,6 @@ dependencies = [ "unroll", ] -[[package]] -name = "poseidon" -version = "0.2.0" -source = "git+https://github.com/zhenfeizhang/poseidon#e32c0c18a70a4e00644e81e86b5729fe176831c8" -dependencies = [ - "halo2curves 0.1.0", - "subtle", -] - [[package]] name = "pprof" version = "0.13.0" @@ -1564,12 +1415,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - [[package]] name = "quick-xml" version = "0.26.0" @@ -1709,34 +1554,33 @@ dependencies = [ [[package]] name = "riscv" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f5c1b8bf41ea746266cdee443d1d1e9125c86ce1447e1a2615abd34330d33a9" +checksum = "5ea8ff73d3720bdd0a97925f0bf79ad2744b6da8ff36be3840c48ac81191d7a7" dependencies = [ "critical-section", "embedded-hal", + "paste", + "riscv-macros", + "riscv-pac", ] [[package]] -name = "riscv-rt" -version = "0.12.2" +name = "riscv-macros" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0d35e32cf1383183e8885d8a9aa4402a087fd094dc34c2cb6df6687d0229dfe" +checksum = "f265be5d634272320a7de94cea15c22a3bfdd4eb42eb43edc528415f066a1f25" dependencies = [ - "riscv", - "riscv-rt-macros", + "proc-macro2", + "quote", + "syn 2.0.79", ] [[package]] -name = "riscv-rt-macros" -version = "0.2.1" +name = "riscv-pac" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d100d466dbb76681ef6a9386f3da9abc570d57394e86da0ba5af8c4408486d" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] +checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" [[package]] name = "rustc-demangle" @@ -1744,15 +1588,6 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] - [[package]] name = "rustix" version = "0.38.37" @@ -1793,12 +1628,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" - [[package]] name = "serde" version = "1.0.210" @@ -1831,16 +1660,6 @@ dependencies = [ "serde", ] -[[package]] -name = "sha3" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" -dependencies = [ - "digest", - "keccak", -] - [[package]] name = "sharded-slab" version = "0.1.7" @@ -1860,12 +1679,10 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" name = "simple-frontend" version = "0.1.0" dependencies = [ - "ark-std", "ff", "ff_ext", "goldilocks", - "itertools 0.12.1", - "rayon", + "itertools 0.13.0", "serde", ] @@ -1882,8 +1699,7 @@ dependencies = [ "gkr", "gkr-graph", "goldilocks", - "itertools 0.12.1", - "mpcs", + "itertools 0.13.0", "multilinear_extensions", "paste", "pprof", @@ -1891,35 +1707,14 @@ dependencies = [ "serde", "simple-frontend", "singer-utils", - "strum 0.25.0", - "strum_macros 0.25.3", + "strum", + "strum_macros", "tracing", "tracing-flame", "tracing-subscriber", "transcript", ] -[[package]] -name = "singer-pro" -version = "0.1.0" -dependencies = [ - "ark-std", - "ff", - "ff_ext", - "gkr", - "gkr-graph", - "goldilocks", - "itertools 0.12.1", - "paste", - "rayon", - "serde", - "simple-frontend", - "singer-utils", - "strum 0.25.0", - "strum_macros 0.25.3", - "transcript", -] - [[package]] name = "singer-utils" version = "0.1.0" @@ -1930,11 +1725,11 @@ dependencies = [ "gkr", "gkr-graph", "goldilocks", - "itertools 0.12.1", + "itertools 0.13.0", "multilinear_extensions", "simple-frontend", - "strum 0.26.3", - "strum_macros 0.26.4", + "strum", + "strum_macros", "sumcheck", "transcript", ] @@ -1975,38 +1770,19 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" - [[package]] name = "strum" version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -[[package]] -name = "strum_macros" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.79", -] - [[package]] name = "strum_macros" version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "rustversion", @@ -2023,7 +1799,6 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" name = "sumcheck" version = "0.1.0" dependencies = [ - "ark-ff", "ark-std", "const_env", "criterion", @@ -2031,9 +1806,8 @@ dependencies = [ "ff", "ff_ext", "goldilocks", - "itertools 0.12.1", + "itertools 0.13.0", "multilinear_extensions", - "pprof", "rayon", "serde", "tracing", @@ -2104,15 +1878,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - [[package]] name = "thiserror" version = "1.0.64" @@ -2238,14 +2003,11 @@ dependencies = [ name = "transcript" version = "0.1.0" dependencies = [ - "ark-std", "crossbeam-channel", "ff", "ff_ext", "goldilocks", - "halo2curves 0.1.0", - "poseidon 0.2.0", - "rayon", + "poseidon", "serde", ] @@ -2606,23 +2368,3 @@ dependencies = [ "quote", "syn 2.0.79", ] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] diff --git a/ceno_emul/src/vm_state.rs b/ceno_emul/src/vm_state.rs index 9c31fd79f..97874b8be 100644 --- a/ceno_emul/src/vm_state.rs +++ b/ceno_emul/src/vm_state.rs @@ -1,13 +1,7 @@ use std::collections::HashMap; use super::rv32im::EmuContext; -use crate::{ - Program, - addr::{ByteAddr, RegIdx, Word, WordAddr}, - platform::Platform, - rv32im::{DecodedInstruction, Emulator, TrapCause}, - tracer::{Change, StepRecord, Tracer}, -}; +use crate::{Program, addr::{ByteAddr, RegIdx, Word, WordAddr}, platform::Platform, rv32im::{DecodedInstruction, Emulator, TrapCause}, tracer::{Change, StepRecord, Tracer}, PC_STEP_SIZE}; use anyhow::{Result, anyhow}; use std::iter::from_fn;