diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2361dcec..7ec3a051 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ jobs: - { os: macos-11, rust-version: stable, shell: bash, target: 'x86_64-apple-darwin' } - { os: ubuntu-20.04, rust-version: stable, shell: bash, extra: true, target: 'x86_64-unknown-linux-gnu' } - { os: ubuntu-20.04, rust-version: stable, shell: bash, target: 'i686-unknown-linux-gnu' } - - { os: ubuntu-20.04, rust-version: 1.65, shell: bash, target: 'x86_64-unknown-linux-gnu'} + - { os: ubuntu-20.04, rust-version: "1.70", shell: bash, target: 'x86_64-unknown-linux-gnu'} - { os: ubuntu-20.04, rust-version: beta, shell: bash, target: 'x86_64-unknown-linux-gnu'} - { os: ubuntu-20.04, rust-version: nightly, shell: bash, target: 'x86_64-unknown-linux-gnu'} defaults: @@ -54,6 +54,9 @@ jobs: ~/.cargo/git/db/ target/ key: ${{ matrix.os }}_${{ matrix.target }}_rustc-${{ steps.toolchain.outputs.cachekey }}_cargo-${{ hashFiles('**/Cargo.lock') }} + - name: Install wasm-pack + if: matrix.extra + run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh # Build and test. - name: Build library @@ -97,12 +100,22 @@ jobs: run: | cargo rustc --target ${{ matrix.target }} --verbose --bin scryer-prolog --release -- -D warnings echo "$PWD/target/release" >> $GITHUB_PATH + - name: Build wasm + if: matrix.extra + run: | + wasm-pack build --target web -- --no-default-features - name: Publish release binary artifact if: contains(matrix.rust-version,'stable') uses: actions/upload-artifact@v3 with: path: target/${{ matrix.target }}/release/scryer-prolog* name: scryer-prolog_${{ matrix.os }}_${{ matrix.target }} + - name: Publish wasm artifact + if: matrix.extra + uses: actions/upload-artifact@v3 + with: + path: pkg/* + name: scryer-prolog_unknown_wasm32 logtalk-test: runs-on: ubuntu-20.04 @@ -162,6 +175,7 @@ jobs: zip scryer-prolog_macos-11.zip ./scryer-prolog_macos-11_x86_64-apple-darwin/scryer-prolog zip scryer-prolog_ubuntu-20.04.zip ./scryer-prolog_ubuntu-20.04_x86_64-unknown-linux-gnu/scryer-prolog zip scryer-prolog_windows-latest.zip ./scryer-prolog_windows-latest_x86_64-pc-windows-gnu/scryer-prolog.exe + zip -r scryer-prolog_unknown-wasm32.zip ./scryer-prolog_unknown_wasm32 - name: Release uses: softprops/action-gh-release@v1 with: @@ -169,3 +183,4 @@ jobs: scryer-prolog_macos-11.zip scryer-prolog_ubuntu-20.04.zip scryer-prolog_windows-latest.zip + scryer-prolog_unknown-wasm32.zip diff --git a/Cargo.toml b/Cargo.toml index 8c214b4a..2b8f803f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,15 +10,20 @@ license = "BSD-3-Clause" keywords = ["prolog", "prolog-interpreter", "prolog-system"] categories = ["command-line-utilities"] build = "build/main.rs" -rust-version = "1.63" +rust-version = "1.70" + +[lib] +crate-type = ["cdylib", "rlib"] [features] -default = ["ffi", "repl", "hostname", "tls", "http"] +default = ["ffi", "repl", "hostname", "tls", "http", "crypto-full"] ffi = ["dep:libffi"] repl = ["dep:crossterm", "dep:ctrlc", "dep:rustyline"] hostname = ["dep:hostname"] tls = ["dep:native-tls"] http = ["dep:hyper", "dep:reqwest"] +rust_beta_channel = [] +crypto-full = [] [build-dependencies] indexmap = "1.0.2" @@ -80,7 +85,19 @@ tokio = { version = "1.28.2", features = ["full"] } [target.'cfg(target_arch = "wasm32")'.dependencies] getrandom = { version = "0.2.10", features = ["js"] } -tokio = { version = "1.28.2", features = ["sync", "macros", "io-util", "rt", "time"] } +tokio = { version = "1.28.2", features = ["sync", "macros", "io-util", "rt"] } + +[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies] +console_error_panic_hook = "0.1" +console_log = "1.0" +wasm-bindgen = "0.2.87" +wasm-bindgen-futures = "0.4" +serde-wasm-bindgen = "0.5" +web-sys = { version = "0.3", features = [ + "Document", + "Window", + "Element", +]} [target.'cfg(target_os = "wasi")'.dependencies] ring-wasi = { version = "0.16.25" } diff --git a/README.md b/README.md index 0f889c9b..4ba1f9d6 100644 --- a/README.md +++ b/README.md @@ -105,7 +105,14 @@ strings. ## Installing Scryer Prolog -### Native Install +### Binaries + +Precompiled binaries for several platforms are available for download +at: + +**https://github.com/mthom/scryer-prolog/releases/tag/v0.9.2** + +### Native Compilation First, install the latest stable version of [Rust](https://www.rust-lang.org/en-US/install.html) using your @@ -143,7 +150,78 @@ light.exe scryer-prolog.wixobj ``` It will generate a very basic MSI file which installs the main executable and a shortcut in the Start Menu. It can be installed with a double-click. To uninstall, go to the Control Panel and uninstall as usual. -Scryer Prolog must be built with **Rust 1.63 and up**. +Scryer Prolog must be built with **Rust 1.70 and up**. + +### Building WebAssembly + +Scryer Prolog has basic WebAssembly support. You can follow `wasm-pack`'s [official instructions](https://rustwasm.github.io/docs/wasm-pack/quickstart.html) to install `wasm-pack` and build it in any way you like. + +However, none of the [default features](https://doc.rust-lang.org/cargo/reference/features.html#the-default-feature) are currently supported. The preferred way of disabling them is passing [extra options](https://rustwasm.github.io/wasm-pack/book/commands/build.html#extra-options) to `wasm-pack`. + +For example, if you want a minimal working package without using any bundler like `webpack`, you can do this: +``` +wasm-pack build --target web -- --no-default-features +``` +Then a `pkg` directory will be created, containing everything you need for a webapp. You can test whether the package is successfully built by creating an html file, adapted from `wasm-bindgen`'s [official example](https://rustwasm.github.io/wasm-bindgen/examples/without-a-bundler.html) like this: + +```html + + + + + Scryer Prolog - Sudoku Solver Example + + + + +``` + +Then you can serve it with your favorite http server like `python -m http.server` or `npx serve`, and access the page with your browser. ### Docker Install @@ -285,14 +363,14 @@ innovations of Scryer Prolog. This means that terms which appear as lists of characters to Prolog programs are stored in packed UTF-8 encoding by the engine. -Without this innovation, storing a list of characters in memory -would use one memory cell per character, one memory cell per -list constructor, and one memory cell for each tail that occurs -in the list. Since one memory cell takes 8 bytes on 64-bit -machines, the packed representation used by Scryer Prolog yields -an up to **24-fold reduction** of memory usage, and -corresponding reduction of memory accesses when creating and -processing strings. +Without this innovation, storing a list of characters in memory would +use one WAM memory cell per character, one cell per list +constructor, and one cell for each tail that occurs in the list. Since +one cell takes 8 bytes in the WAM as implemented by +Scryer Prolog, the packed representation yields an up to +**24-fold reduction** of memory usage, and corresponding +reduction of memory accesses when creating and processing +strings. Scryer Prolog's compact internal string representation makes it ideally suited for the use case Prolog was originally developed for: diff --git a/build/instructions_template.rs b/build/instructions_template.rs index 52fcd8b7..4dc9c893 100644 --- a/build/instructions_template.rs +++ b/build/instructions_template.rs @@ -496,22 +496,28 @@ enum SystemClauseType { CryptoDataHKDF, #[strum_discriminants(strum(props(Arity = "4", Name = "$crypto_password_hash")))] CryptoPasswordHash, - #[strum_discriminants(strum(props(Arity = "7", Name = "$crypto_data_encrypt")))] - CryptoDataEncrypt, - #[strum_discriminants(strum(props(Arity = "6", Name = "$crypto_data_decrypt")))] - CryptoDataDecrypt, #[strum_discriminants(strum(props(Arity = "4", Name = "$crypto_curve_scalar_mult")))] CryptoCurveScalarMult, - #[strum_discriminants(strum(props(Arity = "4", Name = "$ed25519_sign")))] - Ed25519Sign, - #[strum_discriminants(strum(props(Arity = "4", Name = "$ed25519_verify")))] - Ed25519Verify, - #[strum_discriminants(strum(props(Arity = "1", Name = "$ed25519_new_keypair")))] - Ed25519NewKeyPair, - #[strum_discriminants(strum(props(Arity = "2", Name = "$ed25519_keypair_public_key")))] - Ed25519KeyPairPublicKey, #[strum_discriminants(strum(props(Arity = "3", Name = "$curve25519_scalar_mult")))] Curve25519ScalarMult, + #[cfg(feature = "crypto-full")] + #[strum_discriminants(strum(props(Arity = "7", Name = "$crypto_data_encrypt")))] + CryptoDataEncrypt, + #[cfg(feature = "crypto-full")] + #[strum_discriminants(strum(props(Arity = "6", Name = "$crypto_data_decrypt")))] + CryptoDataDecrypt, + #[cfg(feature = "crypto-full")] + #[strum_discriminants(strum(props(Arity = "4", Name = "$ed25519_sign")))] + Ed25519Sign, + #[cfg(feature = "crypto-full")] + #[strum_discriminants(strum(props(Arity = "4", Name = "$ed25519_verify")))] + Ed25519Verify, + #[cfg(feature = "crypto-full")] + #[strum_discriminants(strum(props(Arity = "1", Name = "$ed25519_new_keypair")))] + Ed25519NewKeyPair, + #[cfg(feature = "crypto-full")] + #[strum_discriminants(strum(props(Arity = "2", Name = "$ed25519_keypair_public_key")))] + Ed25519KeyPairPublicKey, #[strum_discriminants(strum(props(Arity = "2", Name = "$first_non_octet")))] FirstNonOctet, #[strum_discriminants(strum(props(Arity = "3", Name = "$load_html")))] @@ -590,7 +596,10 @@ enum SystemClauseType { UnattributedVar, #[strum_discriminants(strum(props(Arity = "4", Name = "$get_db_refs")))] GetDBRefs, - #[strum_discriminants(strum(props(Arity = "2", Name = "$keysort_with_constant_var_ordering")))] + #[strum_discriminants(strum(props( + Arity = "2", + Name = "$keysort_with_constant_var_ordering" + )))] KeySortWithConstantVarOrdering, REPL(REPLCodePtr), } @@ -801,7 +810,7 @@ enum InstructionTemplate { } fn derive_input(ty: &Type) -> Option { - let clause_type: Type = parse_quote!{ ClauseType }; + let clause_type: Type = parse_quote! { ClauseType }; let built_in_clause_type: Type = parse_quote! { BuiltInClauseType }; let inlined_clause_type: Type = parse_quote! { InlinedClauseType }; let system_clause_type: Type = parse_quote! { SystemClauseType }; @@ -847,7 +856,8 @@ fn add_discriminant_data( prefix: &'static str, variant_data: &mut Vec<(&'static str, Arity, Variant)>, ) -> (&'static str, Arity) - where DiscriminantT: FromStr + strum::EnumProperty + std::fmt::Debug +where + DiscriminantT: FromStr + strum::EnumProperty + std::fmt::Debug, { let name = prop_from_ident::(&variant.ident, "Name"); let arity = Arity::from(prop_from_ident::(&variant.ident, "Arity")); @@ -948,7 +958,9 @@ fn generate_instruction_preface() -> TokenStream { #[derive(Clone, Copy, Debug)] pub enum IndexedChoiceInstruction { Retry(usize), + DefaultRetry(usize), Trust(usize), + DefaultTrust(usize), Try(usize), } @@ -958,6 +970,8 @@ fn generate_instruction_preface() -> TokenStream { &IndexedChoiceInstruction::Retry(offset) => offset, &IndexedChoiceInstruction::Trust(offset) => offset, &IndexedChoiceInstruction::Try(offset) => offset, + &IndexedChoiceInstruction::DefaultRetry(offset) => offset, + &IndexedChoiceInstruction::DefaultTrust(offset) => offset, } } @@ -972,6 +986,12 @@ fn generate_instruction_preface() -> TokenStream { &IndexedChoiceInstruction::Retry(offset) => { functor!(atom!("retry"), [fixnum(offset)]) } + &IndexedChoiceInstruction::DefaultTrust(offset) => { + functor!(atom!("default_trust"), [fixnum(offset)]) + } + &IndexedChoiceInstruction::DefaultRetry(offset) => { + functor!(atom!("default_retry"), [fixnum(offset)]) + } } } } @@ -1689,7 +1709,7 @@ fn generate_instruction_preface() -> TokenStream { &Instruction::CallMakeDirectoryPath | &Instruction::CallDeleteFile | &Instruction::CallRenameFile | - &Instruction::CallFileCopy | + &Instruction::CallFileCopy | &Instruction::CallWorkingDirectory | &Instruction::CallDeleteDirectory | &Instruction::CallPathCanonical | @@ -1783,9 +1803,9 @@ fn generate_instruction_preface() -> TokenStream { &Instruction::CallHttpListen | &Instruction::CallHttpAccept | &Instruction::CallHttpAnswer | - &Instruction::CallLoadForeignLib | - &Instruction::CallForeignCall | - &Instruction::CallDefineForeignStruct | + &Instruction::CallLoadForeignLib | + &Instruction::CallForeignCall | + &Instruction::CallDefineForeignStruct | &Instruction::CallPredicateDefined | &Instruction::CallStripModule | &Instruction::CallCurrentTime | @@ -1828,13 +1848,7 @@ fn generate_instruction_preface() -> TokenStream { &Instruction::CallCryptoDataHash | &Instruction::CallCryptoDataHKDF | &Instruction::CallCryptoPasswordHash | - &Instruction::CallCryptoDataEncrypt | - &Instruction::CallCryptoDataDecrypt | &Instruction::CallCryptoCurveScalarMult | - &Instruction::CallEd25519Sign | - &Instruction::CallEd25519Verify | - &Instruction::CallEd25519NewKeyPair | - &Instruction::CallEd25519KeyPairPublicKey | &Instruction::CallCurve25519ScalarMult | &Instruction::CallFirstNonOctet | &Instruction::CallLoadHTML | @@ -1891,6 +1905,17 @@ fn generate_instruction_preface() -> TokenStream { functor!(atom!("call"), [atom(name), fixnum(arity)]) } // + #[cfg(feature = "crypto-full")] + &Instruction::CallCryptoDataEncrypt | + &Instruction::CallCryptoDataDecrypt | + &Instruction::CallEd25519Sign | + &Instruction::CallEd25519Verify | + &Instruction::CallEd25519NewKeyPair | + &Instruction::CallEd25519KeyPairPublicKey => { + let (name, arity) = self.to_name_and_arity(); + functor!(atom!("call"), [atom(name), fixnum(arity)]) + } + // &Instruction::ExecuteAtomChars | &Instruction::ExecuteAtomCodes | &Instruction::ExecuteAtomLength | @@ -1917,7 +1942,7 @@ fn generate_instruction_preface() -> TokenStream { &Instruction::ExecuteMakeDirectoryPath | &Instruction::ExecuteDeleteFile | &Instruction::ExecuteRenameFile | - &Instruction::ExecuteFileCopy | + &Instruction::ExecuteFileCopy | &Instruction::ExecuteWorkingDirectory | &Instruction::ExecuteDeleteDirectory | &Instruction::ExecutePathCanonical | @@ -2011,9 +2036,9 @@ fn generate_instruction_preface() -> TokenStream { &Instruction::ExecuteHttpListen | &Instruction::ExecuteHttpAccept | &Instruction::ExecuteHttpAnswer | - &Instruction::ExecuteLoadForeignLib | - &Instruction::ExecuteForeignCall | - &Instruction::ExecuteDefineForeignStruct | + &Instruction::ExecuteLoadForeignLib | + &Instruction::ExecuteForeignCall | + &Instruction::ExecuteDefineForeignStruct | &Instruction::ExecutePredicateDefined | &Instruction::ExecuteStripModule | &Instruction::ExecuteCurrentTime | @@ -2056,13 +2081,7 @@ fn generate_instruction_preface() -> TokenStream { &Instruction::ExecuteCryptoDataHash | &Instruction::ExecuteCryptoDataHKDF | &Instruction::ExecuteCryptoPasswordHash | - &Instruction::ExecuteCryptoDataEncrypt | - &Instruction::ExecuteCryptoDataDecrypt | &Instruction::ExecuteCryptoCurveScalarMult | - &Instruction::ExecuteEd25519Sign | - &Instruction::ExecuteEd25519Verify | - &Instruction::ExecuteEd25519NewKeyPair | - &Instruction::ExecuteEd25519KeyPairPublicKey | &Instruction::ExecuteCurve25519ScalarMult | &Instruction::ExecuteFirstNonOctet | &Instruction::ExecuteLoadHTML | @@ -2119,6 +2138,17 @@ fn generate_instruction_preface() -> TokenStream { functor!(atom!("execute"), [atom(name), fixnum(arity)]) } // + #[cfg(feature = "crypto-full")] + &Instruction::ExecuteCryptoDataEncrypt | + &Instruction::ExecuteCryptoDataDecrypt | + &Instruction::ExecuteEd25519Sign | + &Instruction::ExecuteEd25519Verify | + &Instruction::ExecuteEd25519NewKeyPair | + &Instruction::ExecuteEd25519KeyPairPublicKey => { + let (name, arity) = self.to_name_and_arity(); + functor!(atom!("execute"), [atom(name), fixnum(arity)]) + } + // &Instruction::Deallocate => { functor!(atom!("deallocate")) } @@ -2290,7 +2320,8 @@ pub fn generate_instructions_rs() -> TokenStream { instr_data.generate_instruction_enum_loop(input); - let instr_variants: Vec<_> = instr_data.instr_variants + let instr_variants: Vec<_> = instr_data + .instr_variants .iter() .cloned() .map(|(_, _, _, variant)| variant) @@ -2329,7 +2360,8 @@ pub fn generate_instructions_rs() -> TokenStream { for (name, arity, variant) in instr_data.compare_number_variants { let ident = variant.ident.clone(); - let variant_fields: Vec<_> = variant.fields + let variant_fields: Vec<_> = variant + .fields .into_iter() .map(|field| { let ty = field.ty; @@ -2368,29 +2400,23 @@ pub fn generate_instructions_rs() -> TokenStream { let ident = variant.ident; let instr_ident = format_ident!("Call{}", ident); - let placeholder_ids: Vec<_> = (0 .. variant_fields.len()) + let placeholder_ids: Vec<_> = (0..variant_fields.len()) .map(|n| format_ident!("f_{}", n)) .collect(); - clause_type_to_instr_arms.push( - quote! { - ClauseType::Inlined( - InlinedClauseType::CompareNumber(CompareNumber::#ident(#(#placeholder_ids),*)) - ) => Instruction::#instr_ident(#(*#placeholder_ids),*) - } - ); + clause_type_to_instr_arms.push(quote! { + ClauseType::Inlined( + InlinedClauseType::CompareNumber(CompareNumber::#ident(#(#placeholder_ids),*)) + ) => Instruction::#instr_ident(#(*#placeholder_ids),*) + }); - is_inbuilt_arms.push( - quote! { - (atom!(#name), #arity) => true - } - ); + is_inbuilt_arms.push(quote! { + (atom!(#name), #arity) => true + }); - is_inlined_arms.push( - quote! { - (atom!(#name), #arity) => true - } - ); + is_inlined_arms.push(quote! { + (atom!(#name), #arity) => true + }); } for (name, arity, variant) in instr_data.compare_term_variants { @@ -2402,36 +2428,31 @@ pub fn generate_instructions_rs() -> TokenStream { ) }); - clause_type_name_arms.push( - quote! { - ClauseType::BuiltIn( - BuiltInClauseType::CompareTerm(CompareTerm::#ident) - ) => atom!(#name) - } - ); + clause_type_name_arms.push(quote! { + ClauseType::BuiltIn( + BuiltInClauseType::CompareTerm(CompareTerm::#ident) + ) => atom!(#name) + }); let ident = variant.ident; let instr_ident = format_ident!("Call{}", ident); - clause_type_to_instr_arms.push( - quote! { - ClauseType::BuiltIn( - BuiltInClauseType::CompareTerm(CompareTerm::#ident) - ) => Instruction::#instr_ident - } - ); + clause_type_to_instr_arms.push(quote! { + ClauseType::BuiltIn( + BuiltInClauseType::CompareTerm(CompareTerm::#ident) + ) => Instruction::#instr_ident + }); - is_inbuilt_arms.push( - quote! { - (atom!(#name), #arity) => true - } - ); + is_inbuilt_arms.push(quote! { + (atom!(#name), #arity) => true + }); } for (name, arity, variant) in instr_data.builtin_type_variants { let ident = variant.ident.clone(); - let variant_fields: Vec<_> = variant.fields + let variant_fields: Vec<_> = variant + .fields .into_iter() .map(|field| { let ty = field.ty; @@ -2470,7 +2491,7 @@ pub fn generate_instructions_rs() -> TokenStream { let ident = variant.ident; let instr_ident = format_ident!("Call{}", ident); - let placeholder_ids: Vec<_> = (0 .. variant_fields.len()) + let placeholder_ids: Vec<_> = (0..variant_fields.len()) .map(|n| format_ident!("f_{}", n)) .collect(); @@ -2488,17 +2509,16 @@ pub fn generate_instructions_rs() -> TokenStream { } }); - is_inbuilt_arms.push( - quote! { - (atom!(#name), #arity) => true - } - ); + is_inbuilt_arms.push(quote! { + (atom!(#name), #arity) => true + }); } for (name, arity, variant) in instr_data.inlined_type_variants { let ident = variant.ident.clone(); - let variant_fields: Vec<_> = variant.fields + let variant_fields: Vec<_> = variant + .fields .into_iter() .map(|field| { if field.ty.type_id() == TypeId::of::() { @@ -2541,35 +2561,30 @@ pub fn generate_instructions_rs() -> TokenStream { let ident = variant.ident; let instr_ident = format_ident!("Call{}", ident); - let placeholder_ids: Vec<_> = (0 .. variant_fields.len()) + let placeholder_ids: Vec<_> = (0..variant_fields.len()) .map(|n| format_ident!("f_{}", n)) .collect(); - clause_type_to_instr_arms.push( - quote! { - ClauseType::Inlined( - InlinedClauseType::#ident(#(#placeholder_ids),*) - ) => Instruction::#instr_ident(*#(#placeholder_ids),*) - } - ); + clause_type_to_instr_arms.push(quote! { + ClauseType::Inlined( + InlinedClauseType::#ident(#(#placeholder_ids),*) + ) => Instruction::#instr_ident(*#(#placeholder_ids),*) + }); - is_inbuilt_arms.push( - quote! { - (atom!(#name), #arity) => true - } - ); + is_inbuilt_arms.push(quote! { + (atom!(#name), #arity) => true + }); - is_inlined_arms.push( - quote! { - (atom!(#name), #arity) => true - } - ); + is_inlined_arms.push(quote! { + (atom!(#name), #arity) => true + }); } for (name, arity, variant) in instr_data.system_clause_type_variants { let ident = variant.ident.clone(); - let variant_fields: Vec<_> = variant.fields + let variant_fields: Vec<_> = variant + .fields .into_iter() .map(|field| { if field.ty == parse_quote! { usize } { @@ -2637,7 +2652,7 @@ pub fn generate_instructions_rs() -> TokenStream { ident.clone() }; - let placeholder_ids: Vec<_> = (0 .. variant_fields.len()) + let placeholder_ids: Vec<_> = (0..variant_fields.len()) .map(|n| format_ident!("f_{}", n)) .collect(); @@ -2655,23 +2670,22 @@ pub fn generate_instructions_rs() -> TokenStream { } }); - is_inbuilt_arms.push( - if let Arity::Ident("arity") = &arity { - quote! { - (atom!(#name), _arity) => true - } - } else { - quote! { - (atom!(#name), #arity) => true - } + is_inbuilt_arms.push(if let Arity::Ident("arity") = &arity { + quote! { + (atom!(#name), _arity) => true } - ); + } else { + quote! { + (atom!(#name), #arity) => true + } + }); } for (name, arity, variant) in instr_data.repl_code_ptr_variants { let ident = variant.ident.clone(); - let variant_fields: Vec<_> = variant.fields + let variant_fields: Vec<_> = variant + .fields .into_iter() .map(|field| { if field.ty.type_id() == TypeId::of::() { @@ -2714,7 +2728,7 @@ pub fn generate_instructions_rs() -> TokenStream { let ident = variant.ident; let instr_ident = format_ident!("Call{}", ident); - let placeholder_ids: Vec<_> = (0 .. variant_fields.len()) + let placeholder_ids: Vec<_> = (0..variant_fields.len()) .map(|n| format_ident!("f_{}", n)) .collect(); @@ -2732,11 +2746,9 @@ pub fn generate_instructions_rs() -> TokenStream { } }); - is_inbuilt_arms.push( - quote! { - (atom!(#name), #arity) => true - } - ); + is_inbuilt_arms.push(quote! { + (atom!(#name), #arity) => true + }); } for (name, arity, variant) in instr_data.clause_type_variants { @@ -2758,7 +2770,8 @@ pub fn generate_instructions_rs() -> TokenStream { continue; } - let variant_fields: Vec<_> = variant.fields + let variant_fields: Vec<_> = variant + .fields .into_iter() .map(|field| { if field.ty == parse_quote! { usize } { @@ -2792,7 +2805,7 @@ pub fn generate_instructions_rs() -> TokenStream { let ident = variant.ident; - let placeholder_ids: Vec<_> = (0 .. variant_fields.len()) + let placeholder_ids: Vec<_> = (0..variant_fields.len()) .map(|n| format_ident!("f_{}", n)) .collect(); @@ -2807,14 +2820,13 @@ pub fn generate_instructions_rs() -> TokenStream { } }); - is_inbuilt_arms.push( - quote! { - (atom!(#name), _arity) => true - } - ); + is_inbuilt_arms.push(quote! { + (atom!(#name), _arity) => true + }); } - let to_execute_arms: Vec<_> = instr_data.instr_variants + let to_execute_arms: Vec<_> = instr_data + .instr_variants .iter() .cloned() .filter_map(|(_, _, _, variant)| { @@ -2827,12 +2839,11 @@ pub fn generate_instructions_rs() -> TokenStream { 0 }; - let placeholder_ids: Vec<_> = (0 .. enum_arity) - .map(|n| format_ident!("f_{}", n)) - .collect(); + let placeholder_ids: Vec<_> = + (0..enum_arity).map(|n| format_ident!("f_{}", n)).collect(); if variant_string.starts_with("Call") { - let execute_ident = format_ident!("Execute{}", variant_string["Call".len() ..]); + let execute_ident = format_ident!("Execute{}", variant_string["Call".len()..]); Some(if enum_arity == 0 { quote! { @@ -2847,7 +2858,7 @@ pub fn generate_instructions_rs() -> TokenStream { }) } else if variant_string.starts_with("DefaultCall") { let execute_ident = - format_ident!("DefaultExecute{}", variant_string["DefaultCall".len() ..]); + format_ident!("DefaultExecute{}", variant_string["DefaultCall".len()..]); Some(if enum_arity == 0 { quote! { @@ -2866,7 +2877,8 @@ pub fn generate_instructions_rs() -> TokenStream { }) .collect(); - let is_execute_arms: Vec<_> = instr_data.instr_variants + let is_execute_arms: Vec<_> = instr_data + .instr_variants .iter() .cloned() .filter_map(|(_, _, _, variant)| { @@ -2909,7 +2921,8 @@ pub fn generate_instructions_rs() -> TokenStream { }) .collect(); - let to_default_arms: Vec<_> = instr_data.instr_variants + let to_default_arms: Vec<_> = instr_data + .instr_variants .iter() .cloned() .filter_map(|(_, _, countable_inference, variant)| { @@ -2926,9 +2939,8 @@ pub fn generate_instructions_rs() -> TokenStream { 0 }; - let placeholder_ids: Vec<_> = (0 .. enum_arity) - .map(|n| format_ident!("f_{}", n)) - .collect(); + let placeholder_ids: Vec<_> = + (0..enum_arity).map(|n| format_ident!("f_{}", n)).collect(); Some(if enum_arity == 0 { quote! { @@ -2947,7 +2959,8 @@ pub fn generate_instructions_rs() -> TokenStream { }) .collect(); - let control_flow_arms: Vec<_> = instr_data.instr_variants + let control_flow_arms: Vec<_> = instr_data + .instr_variants .iter() .cloned() .filter_map(|(_, _, _, variant)| { @@ -2975,7 +2988,8 @@ pub fn generate_instructions_rs() -> TokenStream { }) .collect(); - let instr_macro_arms: Vec<_> = instr_data.instr_variants + let instr_macro_arms: Vec<_> = instr_data + .instr_variants .iter() .rev() // produce default, execute & default & execute cases first. .cloned() @@ -2984,7 +2998,7 @@ pub fn generate_instructions_rs() -> TokenStream { let variant_string = variant.ident.to_string(); let arity = match arity { Arity::Static(arity) => arity, - _ => 1 + _ => 1, }; Some(if variant_string.starts_with("Execute") { @@ -3061,9 +3075,10 @@ pub fn generate_instructions_rs() -> TokenStream { }) .collect(); - let name_and_arity_arms: Vec<_> = instr_data.instr_variants + let name_and_arity_arms: Vec<_> = instr_data + .instr_variants .into_iter() - .map(|(name,arity,_,variant)| { + .map(|(name, arity, _, variant)| { let ident = &variant.ident; let enum_arity = if let Fields::Unnamed(fields) = &variant.fields { @@ -3293,8 +3308,10 @@ pub fn generate_instructions_rs() -> TokenStream { fn is_callable(id: &Ident) -> bool { let id = id.to_string(); - id.starts_with("Call") || id.starts_with("Execute") || id.starts_with("DefaultCall") || - id.starts_with("DefaultExecute") + id.starts_with("Call") + || id.starts_with("Execute") + || id.starts_with("DefaultCall") + || id.starts_with("DefaultExecute") } fn is_non_default_callable(id: &Ident) -> bool { @@ -3315,7 +3332,8 @@ fn create_instr_variant(id: Ident, mut variant: Variant) -> Variant { } fn prop_from_ident(id: &Ident, key: &'static str) -> &'static str - where DiscriminantT: FromStr + strum::EnumProperty + std::fmt::Debug +where + DiscriminantT: FromStr + strum::EnumProperty + std::fmt::Debug, { let disc = match DiscriminantT::from_str(id.to_string().as_str()) { Ok(disc) => disc, @@ -3335,7 +3353,7 @@ fn prop_from_ident(id: &Ident, key: &'static str) -> &'static str #[derive(Clone, Copy)] enum Arity { Static(usize), - Ident(&'static str) + Ident(&'static str), } impl From<&'static str> for Arity { @@ -3427,9 +3445,13 @@ impl InstructionData { (name, arity, CountableInference::NotCounted) } else if id == "InstructionTemplate" { - ( prop_from_ident::(&variant.ident, "Name"), - Arity::from(prop_from_ident::(&variant.ident, "Arity")), - CountableInference::NotCounted + ( + prop_from_ident::(&variant.ident, "Name"), + Arity::from(prop_from_ident::( + &variant.ident, + "Arity", + )), + CountableInference::NotCounted, ) } else if id == "ClauseType" { let (name, arity) = add_discriminant_data::( @@ -3446,19 +3468,16 @@ impl InstructionData { let v_string = variant.ident.to_string(); let v_ident = if v_string.starts_with("Call") { - format_ident!("{}", v_string["Call".len() ..]) + format_ident!("{}", v_string["Call".len()..]) } else { variant.ident.clone() }; - let generated_variant = create_instr_variant( - format_ident!("{}{}", prefix, v_ident), - variant.clone(), - ); + let generated_variant = + create_instr_variant(format_ident!("{}{}", prefix, v_ident), variant.clone()); - self.instr_variants.push( - (name, arity, countable_inference, generated_variant) - ); + self.instr_variants + .push((name, arity, countable_inference, generated_variant)); } fn generate_instruction_enum_loop(&mut self, input: syn::DeriveInput) { @@ -3480,10 +3499,10 @@ impl InstructionData { self.label_variant(&input.ident, "Call", variant.clone()); self.label_variant(&input.ident, "Execute", variant.clone()); - if input.ident == "BuiltInClauseType" || - input.ident == "CompareNumber" || - input.ident == "CompareTerm" || - input.ident == "ClauseType" + if input.ident == "BuiltInClauseType" + || input.ident == "CompareNumber" + || input.ident == "CompareTerm" + || input.ident == "ClauseType" { self.label_variant(&input.ident, "DefaultCall", variant.clone()); self.label_variant(&input.ident, "DefaultExecute", variant); diff --git a/build/static_string_indexing.rs b/build/static_string_indexing.rs index 15f0441f..43bd813e 100644 --- a/build/static_string_indexing.rs +++ b/build/static_string_indexing.rs @@ -1,7 +1,7 @@ use proc_macro2::TokenStream; -use syn::*; use syn::parse::*; use syn::visit::*; +use syn::*; use indexmap::IndexSet; @@ -11,7 +11,9 @@ struct StaticStrVisitor { impl StaticStrVisitor { fn new() -> Self { - Self { static_strs: IndexSet::new() } + Self { + static_strs: IndexSet::new(), + } } } diff --git a/flamegraph.svg b/flamegraph.svg new file mode 100644 index 00000000..99729113 --- /dev/null +++ b/flamegraph.svg @@ -0,0 +1,491 @@ +Flame Graph Reset ZoomSearch `0x7FFB799A2690 (2 samples, 0.01%)`0x7FFB799826C6 (4 samples, 0.03%)`0x7FFB799833D7 (3 samples, 0.02%)`0x7FFB79983432 (2 samples, 0.01%)`0x7FFB799827DA (6 samples, 0.04%)`0x7FFB799AEC78 (15 samples, 0.11%)`0x7FFB799AF726 (4 samples, 0.03%)`0x7FFB799AF066 (4 samples, 0.03%)`0x7FFB799AF247 (4 samples, 0.03%)`0x7FFB799AF3BB (4 samples, 0.03%)`0x7FFB799ED7B4 (4 samples, 0.03%)`0x7FFB799A31BA (23 samples, 0.17%)`0x7FFB799B2270 (23 samples, 0.17%)`0x7FFB799AEC23 (23 samples, 0.17%)`0x7FFB799AECB0 (8 samples, 0.06%)`0x7FFB799AF7F0 (4 samples, 0.03%)`0x7FFB799AFD93 (3 samples, 0.02%)`0x7FFB79964C14 (2 samples, 0.01%)`0x7FFB771F05A2 (3 samples, 0.02%)`0x7FFB771F19C7 (3 samples, 0.02%)`0x7FFB771EC050 (3 samples, 0.02%)`0x7FFB776E56B2 (3 samples, 0.02%)`0x7FFB79966AF4 (3 samples, 0.02%)`0x7FFB799673E4 (3 samples, 0.02%)`0x7FFB7996FB53 (3 samples, 0.02%)`0x7FFB799AED5F (3 samples, 0.02%)`0x7FFB799AFAC0 (2 samples, 0.01%)`0x7FFB799AFD93 (2 samples, 0.01%)`0x7FFB771F045F (6 samples, 0.04%)`0x7FFB771F05BC (3 samples, 0.02%)`0x7FFB7916E82B (3 samples, 0.02%)`0x7FFB799ADA8D (3 samples, 0.02%)`0x7FFB799ADCFC (3 samples, 0.02%)`0x7FFB79969A1D (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::thread::Builder::spawn (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::Builder::spawn_unchecked (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::Builder::spawn_unchecked_ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::thread::Thread::new (2 samples, 0.01%)`0x7FFB7916BD6D (2 samples, 0.01%)`0x7FFB776DCC1F (2 samples, 0.01%)`0x7FFB799EE844 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::HashMap::insert (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::map::HashMap::insert (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::map::make_insert_hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`test::run_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`test::run_test::run_test_inner (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`test::formatters::pretty::PrettyFormatter::write_time_failed (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`test::formatters::pretty::PrettyFormatter::write_short_result (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`test::formatters::pretty::PrettyFormatter::write_pretty<std::io::stdio::Stdout> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`test::term::win::impl$2::reset<std::io::stdio::Stdout> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`test::term::win::WinConsole::apply<std::io::stdio::Stdout> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::io::stdio::impl$11::flush (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::io::stdio::impl$12::flush (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::io::stdio::impl$13::flush (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$42::drop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell::set (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell::replace (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::mem::replace (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::io::buffered::bufwriter::BufWriter::flush_buf<std::io::stdio::StdoutRaw> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::io::stdio::impl$1::write (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::io::stdio::handle_ebadf (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::stdio::write (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::stdio::write_valid_utf8_to_console (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::stdio::write_u16s (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (3 samples, 0.02%)`0x7FFB776C773A (3 samples, 0.02%)`0x7FFB776C7861 (3 samples, 0.02%)`0x7FFB799ED0F4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::stdio::is_console (3 samples, 0.02%)`0x7FFB77710F40 (3 samples, 0.02%)`0x7FFB799ED0F4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`test::console::run_tests_console::closure$2 (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`test::console::on_test_event (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`test::formatters::pretty::impl$1::write_result<std::io::stdio::Stdout> (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`test::formatters::terse::TerseFormatter::write_test_name<std::io::stdio::Stdout> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`test::formatters::terse::TerseFormatter::write_plain (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`test::console::impl$0::flush (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::io::impls::impl$5::flush (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::io::stdio::impl$11::flush (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::io::stdio::impl$12::flush (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::io::stdio::impl$13::flush (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$42::drop (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell::set (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell::replace (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::mem::replace (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::io::buffered::bufwriter::BufWriter::flush_buf<std::io::stdio::StdoutRaw> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::io::stdio::impl$1::write (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::io::stdio::handle_ebadf (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::stdio::write (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::stdio::write_valid_utf8_to_console (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::stdio::write_u16s (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (3 samples, 0.02%)`0x7FFB776C773A (3 samples, 0.02%)`0x7FFB776C7861 (3 samples, 0.02%)`0x7FFB799ED0F4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`test::test_main (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`test::console::run_tests_console (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`test::run_tests (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`test::run_tests::RunningTest::join (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::JoinHandle::join (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::JoinInner::join (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc::get_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc::is_unique (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::AtomicUsize::compare_exchange (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::atomic_compare_exchange (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`__scrt_common_main_seh() (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`invoke_main() (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`main (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`std::rt::lang_start_internal (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`std::panic::catch_unwind (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`std::panicking::try (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`std::panicking::try::do_call (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`std::rt::lang_start_internal::closure$2 (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`std::panic::catch_unwind (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`std::rt::lang_start::closure$0<tuple$<> >(std::rt::lang_start::closure_env$0<tuple$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`std::sys_common::backtrace::__rust_begin_short_backtrace<void (*)(),tuple$<> >(void (*) (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`test::test_main_static (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB799727D9 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::BranchCodeStack::pop_branch (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_slice (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_ptr (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::ptr (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::test_load_file(ref$ (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::raw_block::RawBlock (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::raw_block::impl$1::drop(scryer_prolog::raw_block::RawBlock (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$41::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::Machine> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::compile_inline_or_expanded_goal (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,enum2$<scryer_prolog::parser::ast::Literal> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr> >::get_index_of(indexmap::HashValue, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::fast_call (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::impl$3::gcd (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::repr::impl$0::gcd(enum2$<dashu_int::repr::TypedReprRef>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::from_dword (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_base::ring::gcd::impl$20::gcd (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$11::sub_assign (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$5::sub (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (14 samples, 0.10%)`0x7FFB776E5FE6 (14 samples, 0.10%)`0x7FFB776E6579 (14 samples, 0.10%)`0x7FFB799EDAB4 (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::stream_property (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_list (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::rev(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::double_ended::DoubleEndedIterator::rfold(alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>, enum2$<scryer_prolog::parser::ast::Term>, scryer_prolog::parser::parser::impl$1::reduce_list::closure_env$0<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::drain::impl$6::next_back(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$182::next_back(core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::promote_atom_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$4::index (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_s (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (175 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (175 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (175 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (175 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::subterm_to_instr<scryer_prolog::targets::FactInstruction>(enum2$<scryer_prolog::parser::ast::Term>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::deep_var_instr(core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, unsigned long long, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::FactInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_reserved_var(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (3 samples, 0.02%)`0x7FFB776E5FE6 (3 samples, 0.02%)`0x7FFB776E6579 (3 samples, 0.02%)`0x7FFB799EDAB4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_special_forms (193 samples, 1.39%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::current_dir (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_in_situ_filename_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_in_situ_filename_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (3 samples, 0.02%)`0x7FFB776E5FE6 (3 samples, 0.02%)`0x7FFB776E6579 (3 samples, 0.02%)`0x7FFB799EDAB4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::expect (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::fmt::write (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::fmt::num::imp::impl$7::fmt (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::fmt::impl$0::write_str<alloc::string::String> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$67::write_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::extend_from_slice (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::append_elements (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<u8,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global>(enum2$<core::result::Result<core::alloc::layout::Layout,core::alloc::layout::LayoutError> >, enum2$<core::option::Option<tuple$<core::ptr::non_null::NonNull (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >::map_err(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >, alloc::raw_vec::finish_grow::closure_env$1 (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::machine::machine_indices::CodeIndex> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::single_line_comment (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::devour_whitespace (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::parser::Parser<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$11::deref_mut(scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::streams::StreamLayout (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::fast_call (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$2::next (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::extend_trusted(core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (36 samples, 0.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (36 samples, 0.26%)`0x7FFB776E6785 (3 samples, 0.02%)`0x7FFB799ED1F4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$23::drop (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::file_attr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (5 samples, 0.04%)`0x7FFB776B7A04 (4 samples, 0.03%)`0x7FFB799ED234 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (25 samples, 0.18%)`0x7FFB776E5FE6 (25 samples, 0.18%)`0x7FFB776E6579 (24 samples, 0.17%)`0x7FFB799EDAB4 (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::indexed_try (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::or_else(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::meta_predicate_property (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unwind_trail (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::allocate (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_and_frame_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_and_frame (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::install_new_block (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::Fixnum::build_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::budget(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::with_budget(tokio::runtime::coop::Budget, tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::impl$4::block_on::closure$0(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0::async_block$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn$0::async_block_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insertion_sort_shift_left<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::slice::impl$0::sort_by::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$1> >(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, unsigned long long, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insert_tail(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::RcuRef<scryer_prolog::atom_table::InnerAtomTable,u8>::try_map(scryer_prolog::rcu::RcuRef (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::rcu::RcuRef (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$27::drop(alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc>::get_index_of(indexmap::HashValue, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$13::clone_from_spec(hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>*, hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::clone_from_impl(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$1::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_top_level (257 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (257 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (257 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (257 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (257 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::forms::PredicateClause>,alloc::alloc::Global>::push(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize> >,scryer_prolog::forms::LocalPredicateSkeleton>,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize> >,scryer_prolog::forms::LocalPredicateSkeleton>,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize> >,scryer_prolog::forms::LocalPredicateSkeleton>,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB799727D9 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::debray_allocator::DebrayAllocator> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::debray_allocator::BranchOccurrences,alloc::alloc::Global>::as_mut_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::debray_allocator::BranchOccurrences,alloc::alloc::Global>::ptr (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB799F6F6A (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$18::extend(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::BranchCodeStack::pop_branch (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<alloc::vec::into_iter::IntoIter<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::into_iter::impl$5::next(alloc::vec::into_iter::IntoIter<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::reserve_for_push<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::new (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::QueryIterator::new(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::QueryIterator::extend_state(scryer_prolog::forms::Level, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::FactInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::reset_at_head(scryer_prolog::debray_allocator::DebrayAllocator*, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,usize,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,usize,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,usize>::insert_full<usize,usize> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,usize>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,usize>,alloc::alloc::Global>::push(indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,usize>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::from_rule_head_clause(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::collect(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$14::from_iter(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_from_iter::impl$0::spec_from_iter(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$15::from_iter(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$21::from(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::into_raw_parts_with_alloc(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::manually_drop::ManuallyDrop<alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global> >::new(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::iterators::TermIterState>,core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$<scryer_prolog::parser::ast::Term> >,scryer_prolog::iterators::impl$3::from_rule_head_clause::closure_env$0> >(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$ (2 samples, 0.01%)`0x7FFB799747B1 (5 samples, 0.04%)`0x7FFB799F6F98 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::BranchInfo> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<scryer_prolog::machine::disjuncts::ChunkInfo> >(ptr_mut$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB799F6FAE (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchNumber::split (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::div::impl$7::div (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (4 samples, 0.03%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::impl$86::finish (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$4::finish (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$5::finish(core::hash::sip::Hasher (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$8::d_rounds (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (10 samples, 0.07%)`0x7FFB7997BF05 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (7 samples, 0.05%)`0x7FFB7997B3C7 (7 samples, 0.05%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<ref$<str$>,ref$<str$> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<ref$<str$>,ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)`0x7FFB799736BD (5 samples, 0.04%)`0x7FFB799738E3 (5 samples, 0.04%)`0x7FFB79971BF2 (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::reserve_entries (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::try_reserve_exact (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::grow_exact (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::insert_full<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::push(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::grow_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)`0x7FFB7995A16F (2 samples, 0.01%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)`0x7FFB79971BF2 (7 samples, 0.05%)`0x7FFB7997B3C7 (6 samples, 0.04%)`0x7FFB7997BF5E (5 samples, 0.04%)`0x7FFB799736BD (9 samples, 0.06%)`0x7FFB799738E3 (9 samples, 0.06%)`0x7FFB79971C3D (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::reserve_for_push<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global> (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::grow_amortized (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::insert_full<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::push(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::VarPtr::set(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::RefMut<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$42::drop (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::get (5 samples, 0.04%)`0x7FFB799747B1 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::push(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::push(indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (36 samples, 0.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::TempVarData::populate_conflict_set (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::collect(core::ops::range::Range (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$2::from_iter(core::ops::range::Range (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$3::extend(bit_set::BitSet<usize>*, core::ops::range::Range (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (8 samples, 0.06%)`0x7FFB7997B3C7 (6 samples, 0.04%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::iter::adapters::rev::Rev<core::slice::iter::Iter (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::rev::impl$1::next(core::iter::adapters::rev::Rev<core::slice::iter::Iter (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$182::next_back(core::slice::iter::Iter (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::Iter<scryer_prolog::machine::disjuncts::BranchInfo>::pre_dec_end (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::sub (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::offset (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$6::cmp (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$21::mul (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::with_sign (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::is_zero (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::impl$3::mul(enum2$<dashu_int::repr::TypedReprRef>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::mul_dword (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::mul_dword_spilled (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::buffer::Buffer::allocate (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::buffer::Buffer::allocate_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::buffer::Buffer::allocate_raw (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (4 samples, 0.03%)`0x7FFB799747B1 (4 samples, 0.03%)`0x7FFB799F6FB6 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::extend_trusted(alloc::vec::drain::Drain (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (183 samples, 1.32%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (183 samples, 1.32%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (182 samples, 1.31%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (182 samples, 1.31%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (141 samples, 1.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (141 samples, 1.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (141 samples, 1.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (140 samples, 1.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (140 samples, 1.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (140 samples, 1.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::impl$0::div (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::repr::impl$4::div(enum2$<dashu_int::repr::TypedRepr>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::single_line_comment (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::skip_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::eof (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace(scryer_prolog::parser::parser::Parser<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::pop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::allocate_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Semaphore::add_permits_locked(unsigned long long, tokio::loom::std::parking_lot::MutexGuard (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::or_else(enum2$<core::option::Option<ref$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::skip_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::reserve_for_push<u8,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB799736BD (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::atom_table::Atom> > >::cloned(enum2$<core::option::Option<ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get<ref$<str$>,scryer_prolog::atom_table::Atom,str$>(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get_entry(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`phf_shared::get_index(phf_shared::Hashes*, ref$<slice2$<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$<> >::get_index_of<scryer_prolog::atom_table::Atom,tuple$<>,str$>(indexmap::HashValue, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$2::equivalent(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Semaphore::add_permits_locked(unsigned long long, tokio::loom::std::parking_lot::MutexGuard (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::drop(tokio::loom::std::parking_lot::MutexGuard (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(tokio::loom::std::parking_lot::MutexGuard (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(lock_api::mutex::MutexGuard (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`lock_api::mutex::impl$15::drop(lock_api::mutex::MutexGuard (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`parking_lot::raw_mutex::impl$0::unlock (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<char,enum2$<scryer_prolog::parser::ast::ParserError> > >::map(enum2$<core::result::Result<char,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<core::option::Option<char> > (*) (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::get_single_quoted_item (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (22 samples, 0.16%)`0x7FFB7997B7A2 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (8 samples, 0.06%)`0x7FFB7997B3C7 (8 samples, 0.06%)`0x7FFB7997BA28 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (262 samples, 1.89%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (76 samples, 0.55%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (76 samples, 0.55%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (76 samples, 0.55%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (42 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (38 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::eof (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace(scryer_prolog::parser::parser::Parser<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::single_line_comment (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::or_else(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::use_module<scryer_prolog::machine::loader::BootstrappingLoadState>(enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (294 samples, 2.12%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (294 samples, 2.12%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$11::evacuate(scryer_prolog::machine::loader::Loader (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB79971C3D (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::compile::bootstrapping_compile(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::Machine*, enum2$ (302 samples, 2.18%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (796 samples, 5.75%)scryer-..scryer-7e5e7ddde7310dd8.exe`serial_test::rwlock::impl$0::drop (796 samples, 5.75%)scryer-..scryer-7e5e7ddde7310dd8.exe`parking_lot::condvar::Condvar::notify_one (796 samples, 5.75%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::AtomicPtr<parking_lot::raw_mutex::RawMutex>::load (796 samples, 5.75%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::atomic_load (796 samples, 5.75%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer::helper::load_module_test<ref$<str$> >(ref$<str$>, ref$ (796 samples, 5.75%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::with_test_streams (755 samples, 5.45%)scryer-..scryer-7e5e7ddde7310dd8.exe`serial_test::code_lock::impl$2::deref (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`serial_test::code_lock::impl$2::deref::__stability (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`serial_test::code_lock::check_new_key(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`serial_test::code_lock::impl$2::deref (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`serial_test::code_lock::impl$2::deref::__stability (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`lazy_static::lazy::Lazy<alloc::sync::Arc<dashmap::DashMap<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex,std::collections::hash::map::RandomState> > >::get(alloc::sync::Arc<dashmap::DashMap<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex,std::collections::hash::map::RandomState> > (*) (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sync::once::Once::call_once(lazy_static::lazy::impl$0::get::closure_env$0<alloc::sync::Arc<dashmap::DashMap<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex,std::collections::hash::map::RandomState> >,alloc::sync::Arc<dashmap::DashMap<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex,std::collections::hash::map::RandomState> > (*) (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys_common::once::queue::Once::call (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell::get (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sync::once::impl$2::call_once::closure$0<lazy_static::lazy::impl$0::get::closure_env$0<alloc::sync::Arc<dashmap::DashMap<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex,std::collections::hash::map::RandomState> >,alloc::sync::Arc<dashmap::DashMap<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex,std::collections::hash::map::RandomState> > (*)()> >(std::sync::once::impl$2::call_once::closure_env$0<lazy_static::lazy::impl$0::get::closure_env$0<alloc::sync::Arc<dashmap::DashMap<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex,std::collections::hash::map::RandomState> >,alloc::sync::Arc<dashmap::DashMap<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex,std::collections::hash::map::RandomState> > (*) (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`lazy_static::lazy::impl$0::get::closure$0(lazy_static::lazy::impl$0::get::closure_env$0<alloc::sync::Arc<dashmap::DashMap<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex,std::collections::hash::map::RandomState> >,alloc::sync::Arc<dashmap::DashMap<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex,std::collections::hash::map::RandomState> > (*) (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once(alloc::sync::Arc<dashmap::DashMap<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex,std::collections::hash::map::RandomState> > (*) (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`serial_test::code_lock::impl$2::deref::__static_ref_initialize (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc<dashmap::DashMap<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex,std::collections::hash::map::RandomState> >::new(dashmap::DashMap (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`dashmap::DashMap<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex,std::collections::hash::map::RandomState>::new<alloc::string::String,serial_test::code_lock::UniqueReentrantMutex> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::impl$87::default (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::RandomState::new (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::Cell<tuple$<u64,u64> > >::with (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::Cell<tuple$<u64,u64> > >::try_with (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::impl$82::new::closure$0(std::collections::hash::map::impl$82::new::closure_env$0, core::cell::Cell<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<tuple$<u64,u64> >::get (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::common::thread_local::fast_local::Key::try_initialize<core::cell::Cell<tuple$<u64,u64> >,std::collections::hash::map::impl$82::new::KEYS::__getit::closure_env$0> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::common::thread_local::lazy::LazyKeyInner::initialize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::mem::replace (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::rand::hashmap_random_keys (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::c::nt_success (3 samples, 0.02%)`0x7FFB771A3559 (3 samples, 0.02%)`0x7FFB771A3642 (3 samples, 0.02%)`0x7FFB771A6435 (2 samples, 0.01%)`0x7FFB771A1E98 (2 samples, 0.01%)`0x7FFB771A2199 (2 samples, 0.01%)`0x7FFB776E56B2 (2 samples, 0.01%)`0x7FFB79966AF4 (2 samples, 0.01%)`0x7FFB799673E4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer::src_tests::builtins::closure_env$0,tuple$<> > (801 samples, 5.78%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer::src_tests::builtins::closure$0 (801 samples, 5.78%)scryer-..scryer-7e5e7ddde7310dd8.exe`test::assert_test_result(tuple$ (801 samples, 5.78%)scryer-..scryer-7e5e7ddde7310dd8.exe`serial_test::serial_code_lock::local_serial_core(ref$<str$>, void (*) (801 samples, 5.78%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_extensible_predicate_declaration<scryer_prolog::machine::loader::impl$18::add_dynamic_predicate::closure_env$0> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure$0(scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<usize,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_extensible_predicate_declaration<scryer_prolog::machine::loader::LiveLoadAndMachineState,scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>,enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize>)>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, scryer_prolog::atom_table::Atom, unsigned long long, scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_clause_clauses<scryer_prolog::machine::loader::LiveLoadAndMachineState,core::iter::sources::once::Once<tuple$<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::Term> > > >(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::machine::loader::CompilationTarget>, core::iter::sources::once::Once<tuple$<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::incremental_compile_clause<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::compile_assert (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::compile_assert::closure$1 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_dynamic_predicate(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_extensible_predicate_declaration<scryer_prolog::machine::loader::LiveLoadAndMachineState,scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>,enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize>)>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, scryer_prolog::atom_table::Atom, unsigned long long, scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)`0x7FFB776E6785 (2 samples, 0.01%)`0x7FFB799ED1F4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::compile_inline_or_expanded_goal (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_slice (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_ptr (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::ptr (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::test_load_file(ref$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::raw_block::RawBlock (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::raw_block::impl$1::drop(scryer_prolog::raw_block::RawBlock (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$41::drop (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::Machine> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::expect (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::num::imp::impl$7::fmt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::entry(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::QueryInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_reserved_var(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >::set(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >::replace(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::replace(enum2$<scryer_prolog::parser::ast::VarReg>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::parser::ast::VarReg>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::DebrayAllocator::evacuate_arg<scryer_prolog::targets::QueryInstruction>(unsigned long long, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (11 samples, 0.08%)`0x7FFB776E6579 (26 samples, 0.19%)`0x7FFB799EDAB4 (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (50 samples, 0.36%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (50 samples, 0.36%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (50 samples, 0.36%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (50 samples, 0.36%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (28 samples, 0.20%)`0x7FFB776E5FE6 (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::meta_predicate_property (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::order_category(scryer_prolog::types::HeapCellValue, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::forms::Number>,tuple$<> > >::ok(enum2$<core::result::Result<enum2$<scryer_prolog::forms::Number>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arithmetic::impl$14::try_from (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::eq_test (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<core::cmp::Ordering> >::map(enum2$<core::option::Option (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insertion_sort_shift_left<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::slice::impl$0::sort_by::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$1> >(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, unsigned long long, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insert_tail(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::types::Ref,bool,std::collections::hash::map::RandomState>::insert (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::types::Ref,bool,std::collections::hash::map::RandomState>::insert_full (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::types::Ref,bool>::insert_full<scryer_prolog::types::Ref,bool> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::types::Ref,bool>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (174 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (174 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (174 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (174 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (3 samples, 0.02%)`0x7FFB776E5FE6 (3 samples, 0.02%)`0x7FFB776E6579 (3 samples, 0.02%)`0x7FFB799EDAB4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_special_forms (191 samples, 1.38%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::current_dir (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_extensible_predicate_declaration<scryer_prolog::machine::loader::impl$18::add_dynamic_predicate::closure_env$0> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure$0(scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<usize,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_extensible_predicate_declaration<scryer_prolog::machine::loader::LiveLoadAndMachineState,scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>,enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize>)>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, scryer_prolog::atom_table::Atom, unsigned long long, scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_in_situ_filename_module (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_in_situ_filename_module::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,enum2$<scryer_prolog::parser::ast::Literal> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$120::hash<fxhash::FxHasher>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::select_switch_on_structure_index(scryer_prolog::types::HeapCellValue, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::or_else(enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >, scryer_prolog::machine::system_calls::impl$2::fast_call::closure_env$1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::system_calls::impl$2::fast_call::closure$1(scryer_prolog::machine::system_calls::impl$2::fast_call::closure_env$1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::machine::machine_indices::CodeIndex> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::fast_call (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::impl$19::gcd (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::repr::impl$0::gcd(enum2$<dashu_int::repr::TypedReprRef>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::from_dword (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_base::ring::gcd::impl$20::gcd (2 samples, 0.01%)`0x7FFB776E6785 (2 samples, 0.01%)`0x7FFB799ED1F4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (26 samples, 0.19%)`0x7FFB776E5FE6 (26 samples, 0.19%)`0x7FFB776E6579 (26 samples, 0.19%)`0x7FFB799EDAB4 (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (61 samples, 0.44%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (61 samples, 0.44%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (61 samples, 0.44%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (61 samples, 0.44%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::build_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::with_val (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unwind_trail (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_call (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_or_frame_mut (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_or_frame (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_and_frame_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_and_frame (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::eq_test (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<core::cmp::Ordering> >::map(enum2$<core::option::Option (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::char::methods::impl$0::is_uppercase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$13::clone_from_spec(hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>*, hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::clone_from_impl(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$26::next(hashbrown::raw::inner::RawIter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawIterRange<usize>::next_impl (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::bitmask::BitMask::lowest_set_bit (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$38::deref (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<scryer_prolog::machine::machine_indices::VarKey>::to_string (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::Ref<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$35::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::set (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::replace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::replace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$6::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$11::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::slice::impl$0::to_vec_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::slice::hack::to_vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::slice::hack::impl$1::to_vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::non_null::NonNull<scryer_prolog::atom_table::InnerAtomTable>::as_ref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::insert_full<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>(scryer_prolog::atom_table::Atom, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$13::clone_from_spec(hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>*, hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::clone_from_impl(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::Bucket<usize>::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::mut_ptr::impl$0::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (36 samples, 0.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$4::index (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_s (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$5::index_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_top_level (257 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (257 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (257 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (257 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (257 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::build_with (2 samples, 0.01%)`0x7FFB799727D9 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB799736BD (4 samples, 0.03%)`0x7FFB799738E3 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)`0x7FFB799747B1 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(tuple$<scryer_prolog::atom_table::Atom,alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$2::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$18::extend(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB79971BF2 (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::QueryInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_reserved_var(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$2::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::subterm_to_instr<scryer_prolog::targets::FactInstruction>(enum2$<scryer_prolog::parser::ast::Term>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::FactInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (43 samples, 0.31%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (43 samples, 0.31%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (25 samples, 0.18%)`0x7FFB79975BA1 (2 samples, 0.01%)`0x7FFB79974820 (2 samples, 0.01%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<scryer_prolog::machine::disjuncts::ChunkInfo> >(ptr_mut$<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (4 samples, 0.03%)`0x7FFB799747B1 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::BranchInfo> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (6 samples, 0.04%)`0x7FFB7997B3C7 (4 samples, 0.03%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7995A364 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::or_else(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::cloned(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (38 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (38 samples, 0.27%)`0x7FFB7995A364 (5 samples, 0.04%)`0x7FFB7995A4EB (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (8 samples, 0.06%)`0x7FFB7997B3C7 (8 samples, 0.06%)`0x7FFB7997BF5E (7 samples, 0.05%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (4 samples, 0.03%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<ref$<str$>,ref$<str$> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<ref$<str$>,ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::reserve_entries (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::try_reserve_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::grow_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB799736BD (5 samples, 0.04%)`0x7FFB799738E3 (5 samples, 0.04%)`0x7FFB79971BF2 (4 samples, 0.03%)`0x7FFB7997B3C7 (4 samples, 0.03%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchInfo::new (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$13::clone (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::rbig::impl$1::clone (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::repr::impl$1::clone (3 samples, 0.02%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::reserve_for_push<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::insert_full<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::push(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::RefMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$42::drop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::get (3 samples, 0.02%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::VarPtr::set(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::push(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::TempVarData::populate_conflict_set (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::collect(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$2::from_iter(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$3::extend(bit_set::BitSet<usize>*, core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB7997B3C7 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::iter::adapters::rev::Rev<core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::rev::impl$1::next(core::iter::adapters::rev::Rev<core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$182::next_back(core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::Iter<scryer_prolog::machine::disjuncts::BranchInfo>::pre_dec_end (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::sub (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::offset (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$6::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$21::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::with_sign (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::is_zero (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::impl$3::mul(enum2$<dashu_int::repr::TypedReprRef>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::mul_dword (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::mul_dword_spilled (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::buffer::Buffer::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::buffer::Buffer::allocate_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::buffer::Buffer::allocate_raw (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::alloc::__default_lib_allocator::__rdl_alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::alloc::impl$0::alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::alloc::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::extend_trusted(alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997B86B (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::add_ops::impl$16::sub (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$11::sub_assign (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$5::sub (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$21::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::with_sign (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::impl$19::gcd (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (184 samples, 1.33%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (184 samples, 1.33%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (184 samples, 1.33%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (184 samples, 1.33%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (130 samples, 0.94%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (130 samples, 0.94%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (130 samples, 0.94%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (130 samples, 0.94%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (130 samples, 0.94%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (130 samples, 0.94%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$8::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::with_sign (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::eof (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace(scryer_prolog::parser::parser::Parser<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::pop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::push_binary_op<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (4 samples, 0.03%)`0x7FFB7995A36F (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::budget(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::with_budget(tokio::runtime::coop::Budget, tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::or_else(enum2$<core::option::Option<ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997B78E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >::active_epoch<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`phf_shared::get_index(phf_shared::Hashes*, ref$<slice2$<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`phf_shared::displace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::num::wrapping::impl$244::mul(core::num::wrapping::Wrapping<u32>, core::num::wrapping::Wrapping (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::atom_table::Atom> > >::cloned(enum2$<core::option::Option<ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get<ref$<str$>,scryer_prolog::atom_table::Atom,str$>(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get_entry(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`phf_shared::hash(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<char,enum2$<scryer_prolog::parser::ast::ParserError> > >::map(enum2$<core::result::Result<char,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<core::option::Option<char> > (*) (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::get_single_quoted_char<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::get_single_quoted_item (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (252 samples, 1.82%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (66 samples, 0.48%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (66 samples, 0.48%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (66 samples, 0.48%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$2::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::push(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::extend_trusted(alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::or_else(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::use_module<scryer_prolog::machine::loader::BootstrappingLoadState>(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (281 samples, 2.03%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (281 samples, 2.03%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$11::evacuate(scryer_prolog::machine::loader::Loader (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc>::get_index_of(indexmap::HashValue, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::skip_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::compile::bootstrapping_compile(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::Machine*, enum2$ (289 samples, 2.09%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (771 samples, 5.57%)scryer-..scryer-7e5e7ddde7310dd8.exe`serial_test::rwlock::impl$0::drop (771 samples, 5.57%)scryer-..scryer-7e5e7ddde7310dd8.exe`parking_lot::condvar::Condvar::notify_one (771 samples, 5.57%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::AtomicPtr<parking_lot::raw_mutex::RawMutex>::load (771 samples, 5.57%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::atomic_load (771 samples, 5.57%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer::helper::load_module_test<ref$<str$> >(ref$<str$>, ref$ (771 samples, 5.57%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::with_test_streams (740 samples, 5.34%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer::src_tests::call_with_inference_limit::closure_env$0,tuple$<> > (772 samples, 5.57%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer::src_tests::call_with_inference_limit::closure$0 (772 samples, 5.57%)scryer-..scryer-7e5e7ddde7310dd8.exe`test::assert_test_result(tuple$ (772 samples, 5.57%)scryer-..scryer-7e5e7ddde7310dd8.exe`serial_test::serial_code_lock::local_serial_core(ref$<str$>, void (*) (772 samples, 5.57%)scryer-..scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$12::index(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global>::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::len (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB799727D9 (2 samples, 0.01%)`0x7FFB799F4053 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$14::index_mut(alloc::vec::Vec<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$1::index_mut(ref_mut$<slice2$<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index_mut(unsigned long long, ref_mut$<slice2$<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::error::Error::cause<assert_cmd::cargo::NotFoundError> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$3::next(core::ops::range::Range (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$2::spec_next(core::ops::range::Range (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$54::lt (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer_prolog::machine::system_calls::impl$2::remove_call_policy_check::closure_env$0,tuple$<ref_mut$<scryer_prolog::machine::machine_state::MachineState> > > (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::system_calls::impl$2::remove_call_policy_check::closure$0 (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arithmetic::impl$13::cmp(enum2$<scryer_prolog::forms::Number>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_extensible_predicate_declaration<scryer_prolog::machine::loader::impl$18::add_dynamic_predicate::closure_env$0> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure$0(scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<usize,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_extensible_predicate_declaration<scryer_prolog::machine::loader::LiveLoadAndMachineState,scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>,enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize>)>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, scryer_prolog::atom_table::Atom, unsigned long long, scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_in_situ_filename_module (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_in_situ_filename_module::closure$0 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (5 samples, 0.04%)`0x7FFB776E5FE6 (5 samples, 0.04%)`0x7FFB776E6579 (4 samples, 0.03%)`0x7FFB799EDAB4 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_term_expansion_clause (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_term_expansion_clause::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::incremental_compile_clause<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::push_back_to_local_predicate_skeleton(enum2$<scryer_prolog::machine::loader::CompilationTarget>*, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)`0x7FFB7997A9E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::with_capacity (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::with_capacity_in (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::with_capacity_in (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::allocate_in (6 samples, 0.04%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::fmt::impl$0::write_str<alloc::string::String> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$67::write_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::extend_from_slice (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::append_elements (3 samples, 0.02%)`0x7FFB7997B86B (4 samples, 0.03%)`0x7FFB79971BF2 (14 samples, 0.10%)`0x7FFB7997B3C7 (12 samples, 0.09%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::impl$0::write_str<alloc::string::String> (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$67::write_str (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push_str (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::extend_from_slice (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::append_elements (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::len (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<u8,alloc::alloc::Global> (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::grow_amortized (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global>(enum2$<core::result::Result<core::alloc::layout::Layout,core::alloc::layout::LayoutError> >, enum2$<core::option::Option<tuple$<core::ptr::non_null::NonNull (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >::map_err(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >, alloc::raw_vec::finish_grow::closure_env$1 (21 samples, 0.15%)`0x7FFB799736BD (21 samples, 0.15%)`0x7FFB799738E3 (19 samples, 0.14%)`0x7FFB79971C4F (3 samples, 0.02%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::expect (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`core::fmt::write (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`core::fmt::num::imp::impl$7::fmt (25 samples, 0.18%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7997B73C (2 samples, 0.01%)`0x7FFB7997B3C7 (9 samples, 0.06%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::allocate_in (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::reserve (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::reserve (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>*, alloc::vec::drain::Drain<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::extend_trusted(alloc::vec::drain::Drain<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::for_each(alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>, alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global,alloc::vec::drain::Drain<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::fold(alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>, tuple$<>, core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global,alloc::vec::drain::Drain<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::for_each::call::closure$0(core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> > >*, tuple$<>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$20::extend_trusted::closure$0(alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::parser::ast::Term>*, enum2$ (3 samples, 0.02%)`0x7FFB799736BD (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::iterators::ClauseIteratorState>,alloc::alloc::Global>::reserve_for_push<enum2$<scryer_prolog::iterators::ClauseIteratorState>,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::iterators::ClauseIteratorState>,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<tuple$<usize,scryer_prolog::types::HeapCellValue,scryer_prolog::heap_iter::IterStackLoc>,alloc::alloc::Global>::push(tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::pop (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::forward_if_referent_marked (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::IterStackLoc::mark_loc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::push_if_unmarked (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::read_cell_mut (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::IterStackLoc::heap_or_stack (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<scryer_prolog::heap_iter::HeapOrStackTag,modular_bitfield::error::InvalidBitPattern<u8> > >::expect(enum2$<core::result::Result<scryer_prolog::heap_iter::HeapOrStackTag,modular_bitfield::error::InvalidBitPattern<u8> > >, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::forward_if_referent_marked (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_forwarding_bit (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::impl$35::from_bytes (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (39 samples, 0.28%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (4 samples, 0.03%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::stackful_post_order_iter(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::new(alloc::vec::Vec (5 samples, 0.04%)`0x7FFB7997B6B3 (2 samples, 0.01%)`0x7FFB7997B6C3 (2 samples, 0.01%)`0x7FFB7997B862 (2 samples, 0.01%)`0x7FFB7997B3C7 (16 samples, 0.12%)`0x7FFB7997BF5E (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::impl$35::from_bytes (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (142 samples, 1.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (142 samples, 1.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::set_mark_bit (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::impl$35::from_bytes (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::forms::PredicateSkeleton> > >::map(enum2$<core::option::Option<ref$<scryer_prolog::forms::PredicateSkeleton> > >, scryer_prolog::machine::loader::impl$15::add_clause_clause_if_dynamic::closure_env$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_skeleton(enum2$<scryer_prolog::machine::loader::CompilationTarget>*, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_clause_clause_if_dynamic(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$23::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::file_attr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (152 samples, 1.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (152 samples, 1.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (152 samples, 1.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load(scryer_prolog::machine::loader::Loader (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_op_decl (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (3 samples, 0.02%)`0x7FFB776E5FE6 (3 samples, 0.02%)`0x7FFB776E6579 (3 samples, 0.02%)`0x7FFB799EDAB4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::compile_inline_or_expanded_goal (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::variable_set<core::hash::BuildHasherDefault<fxhash::FxHasher> >(indexmap::set::IndexSet<scryer_prolog::types::HeapCellValue,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::QueryIterator::new(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::QueryIterator::extend_state(scryer_prolog::forms::Level, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::reserve_for_push<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::BranchInfo> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<scryer_prolog::machine::disjuncts::ChunkInfo> >(ptr_mut$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$23::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::file_attr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_clause_clauses(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::machine::loader::CompilationTarget>, alloc::vec::into_iter::IntoIter<tuple$<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::incremental_compile_clause<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::push_back_to_local_predicate_skeleton(enum2$<scryer_prolog::machine::loader::CompilationTarget>*, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (3 samples, 0.02%)`0x7FFB776E5FE6 (3 samples, 0.02%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)`0x7FFB776E6785 (2 samples, 0.01%)`0x7FFB799ED1F4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (11 samples, 0.08%)`0x7FFB776E5FE6 (11 samples, 0.08%)`0x7FFB776E6579 (11 samples, 0.08%)`0x7FFB799EDAB4 (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<indexmap::set::IndexSet<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::extract_module_export_list_from_heap<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$62::from_iter<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<>,std::collections::hash::map::RandomState,core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global>,indexmap::set::impl$26::from_iter::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState,alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global> > > >(core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global>,indexmap::set::impl$26::from_iter::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState,alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::map::impl$2::fold<tuple$<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<> >,alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global>,indexmap::set::impl$26::from_iter::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState,alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global> >,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<> >,indexmap::map::impl$64::extend::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<>,std::collections::hash::map::RandomState,core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global>,indexmap::set::impl$26::from_iter::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState,alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global> > > > > >(core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global>,indexmap::set::impl$26::from_iter::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState,alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global> > >, tuple$<>, core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<> >,indexmap::map::impl$64::extend::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<>,std::collections::hash::map::RandomState,core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global>,indexmap::set::impl$26::from_iter::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState,alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::fold(alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global>, tuple$<>, core::iter::adapters::map::map_fold::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<> >,tuple$<>,indexmap::set::impl$26::from_iter::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState,alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global> >,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<> >,indexmap::map::impl$64::extend::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<>,std::collections::hash::map::RandomState,core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global>,indexmap::set::impl$26::from_iter::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState,alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::map::map_fold::closure$0(core::iter::adapters::map::map_fold::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<> >,tuple$<>,indexmap::set::impl$26::from_iter::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState,alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global> >,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<> >,indexmap::map::impl$64::extend::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<>,std::collections::hash::map::RandomState,core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global>,indexmap::set::impl$26::from_iter::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState,alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global> > > > > >*, tuple$<>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::for_each::call::closure$0(core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<> >,indexmap::map::impl$64::extend::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<>,std::collections::hash::map::RandomState,core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global>,indexmap::set::impl$26::from_iter::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState,alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global> > > > >*, tuple$<>, tuple$<enum2$<scryer_prolog::forms::ModuleExport>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$64::extend::closure$0(indexmap::map::impl$64::extend::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<>,std::collections::hash::map::RandomState,core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global>,indexmap::set::impl$26::from_iter::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState,alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::forms::ModuleExport>,alloc::alloc::Global> > > >*, tuple$<enum2$<scryer_prolog::forms::ModuleExport>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<>,std::collections::hash::map::RandomState>::insert(enum2$<scryer_prolog::forms::ModuleExport>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<>,std::collections::hash::map::RandomState>::insert_full(enum2$<scryer_prolog::forms::ModuleExport>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<>,std::collections::hash::map::RandomState>::hash<enum2$<scryer_prolog::forms::ModuleExport>,tuple$<>,std::collections::hash::map::RandomState,enum2$<scryer_prolog::forms::ModuleExport> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::impl$86::finish (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$4::finish (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$5::finish(core::hash::sip::Hasher (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex> >::or_insert_with(enum2$<indexmap::map::core::Entry<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex> >, scryer_prolog::machine::load_state::import_module_exports::closure_env$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports::closure$0(scryer_prolog::machine::load_state::import_module_exports::closure_env$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::CodeIndex::default (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::CodeIndex::new (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$37::alloc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::is_dynamic_undefined (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::set_code_index(scryer_prolog::machine::loader::RetractionInfo*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::RetractionInfo::push_record(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::machine::loader::RetractionRecord>,alloc::alloc::Global>::push(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::machine::loader::RetractionRecord>,alloc::alloc::Global>::reserve_for_push<enum2$<scryer_prolog::machine::loader::RetractionRecord>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::machine::loader::RetractionRecord>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::reset_in_situ_module<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::forms::ModuleDecl, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::streams::Stream>,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::converts::from_utf8 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::str::validations::run_utf8_validation (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::array::impl$15::index(unsigned char[4]*, core::ops::range::RangeTo (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`smallvec::SmallVec<array$<u8,32> >::insert_from_slice(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::CharReader<scryer_prolog::machine::streams::InputFileStream>::refresh_buffer<scryer_prolog::machine::streams::InputFileStream> (159 samples, 1.15%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result (157 samples, 1.13%)scryer-7e5e7ddde7310dd8.exe`std::fs::impl$5::read (157 samples, 1.13%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::read (157 samples, 1.13%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::synchronous_read (157 samples, 1.13%)`0x7FFB799ED0D4 (157 samples, 1.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (170 samples, 1.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (170 samples, 1.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::impl$5::peek_char<scryer_prolog::machine::streams::InputFileStream>(scryer_prolog::parser::char_reader::CharReader (167 samples, 1.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::bracketed_comment (175 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::impl$2::bracketed_comment::closure$0(scryer_prolog::parser::lexer::impl$2::bracketed_comment::closure_env$0<enum2$ (174 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::skip_char (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::consume(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<enum2$<core::result::Result<char,std::io::error::Error> > > >::is_none (84 samples, 0.61%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<enum2$<core::result::Result<char,std::io::error::Error> > > >::is_some (84 samples, 0.61%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (83 samples, 0.60%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::impl$5::peek_char<scryer_prolog::machine::streams::InputFileStream>(scryer_prolog::parser::char_reader::CharReader (83 samples, 0.60%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::CharReader<scryer_prolog::machine::streams::InputFileStream>::refresh_buffer<scryer_prolog::machine::streams::InputFileStream> (80 samples, 0.58%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result (79 samples, 0.57%)scryer-7e5e7ddde7310dd8.exe`std::fs::impl$5::read (79 samples, 0.57%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::read (78 samples, 0.56%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::synchronous_read (78 samples, 0.56%)`0x7FFB799ED0D4 (77 samples, 0.56%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::impl$5::peek_char<scryer_prolog::machine::streams::InputFileStream>(scryer_prolog::parser::char_reader::CharReader (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (265 samples, 1.91%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::single_line_comment (90 samples, 0.65%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::devour_whitespace (290 samples, 2.09%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::parser::Parser<enum2$ (287 samples, 2.07%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (286 samples, 2.06%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::impl$5::peek_char<scryer_prolog::machine::streams::InputFileStream>(scryer_prolog::parser::char_reader::CharReader (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::CharReader<scryer_prolog::machine::streams::InputFileStream>::refresh_buffer<scryer_prolog::machine::streams::InputFileStream> (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::fs::impl$5::read (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::read (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::synchronous_read (19 samples, 0.14%)`0x7FFB799ED0D4 (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$18::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::Hasher::write_isize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$1::write_usize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$6::hash_word (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$2::hash(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::Hasher::write_str(fxhash::FxHasher*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$1::write(fxhash::FxHasher*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::write(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::write64(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$181::next(core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$120::hash<fxhash::FxHasher>(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::equivalent::impl$0::equivalent<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::parser::ast::Literal> >(enum2$<scryer_prolog::parser::ast::Literal>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$117::eq(enum2$<scryer_prolog::parser::ast::Literal>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,enum2$<scryer_prolog::parser::ast::Literal> >(enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr> >::get_index_of(indexmap::HashValue, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::dispatch::impl$1::execute_switch_on_term::dynamic_external_of_clause_is_valid (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::PartialOrd::le(enum2$<scryer_prolog::instructions::Death>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::instructions::impl$24::partial_cmp(enum2$<scryer_prolog::instructions::Death>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::rcu::RcuRef (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::sync::Arc (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$27::drop(alloc::sync::Arc (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::sync::Arc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$27::drop(alloc::sync::Arc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc<scryer_prolog::atom_table::InnerAtomTable>::increment_strong_count (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::manually_drop::impl$5::clone(core::mem::manually_drop::ManuallyDrop<alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$22::clone(alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::once::OnceCell<alloc::sync::Arc<core::sync::atomic::AtomicU8> > >::with(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::once::OnceCell<alloc::sync::Arc<core::sync::atomic::AtomicU8> > >::try_with(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$1::active_epoch::closure$0(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0<scryer_prolog::atom_table::InnerAtomTable>, core::cell::once::OnceCell<alloc::sync::Arc (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::buf (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<scryer_prolog::atom_table::InnerAtomTable>::active_epoch<scryer_prolog::atom_table::InnerAtomTable> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<tokio::runtime::context::blocking::BlockingRegionGuard> >::expect(enum2$<core::option::Option<tokio::runtime::context::blocking::BlockingRegionGuard> >, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::context::blocking::try_enter_blocking_region (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::task::wake::impl$9::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::drop_waker(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$27::drop(alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::waker (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::future::into_future::impl$0::into_future (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Semaphore::acquire (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Acquire::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::budget(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::with_budget(tokio::runtime::coop::Budget, tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::impl$4::block_on::closure$0(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0::async_block$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn$0::async_block_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Semaphore::add_permits_locked(unsigned long long, tokio::loom::std::parking_lot::MutexGuard (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (38 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (38 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (38 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::likely (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::select_switch_on_structure_index(scryer_prolog::types::HeapCellValue, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault (49 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (49 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr> >::get_index_of(indexmap::HashValue, tuple$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::sse2::Group::match_byte (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::core_arch::x86::sse2::_mm_movemask_epi8 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::select_switch_on_term_index(scryer_prolog::types::HeapCellValue, enum2$<scryer_prolog::instructions::IndexingCodePtr>, enum2$<scryer_prolog::instructions::IndexingCodePtr>, enum2$<scryer_prolog::instructions::IndexingCodePtr>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$4::index (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (89 samples, 0.64%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::forms::Module> > >::and_then(enum2$<core::option::Option<ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::impl$10::get_predicate_code_index::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::machine::machine_indices::CodeIndex> > >::cloned(enum2$<core::option::Option<ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex>::get_index_of(indexmap::HashValue, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::h2 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$2::hash(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::Hasher::write_str(fxhash::FxHasher*, ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$1::write(fxhash::FxHasher*, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`fxhash::write(unsigned long long, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`fxhash::write64(unsigned long long, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::machine::machine_indices::CodeIndex> > >::cloned(enum2$<core::option::Option<ref$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex>::get_index_of(indexmap::HashValue, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module>::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::name_and_arity_from_heap (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::or_else(enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >, scryer_prolog::machine::system_calls::impl$2::fast_call::closure_env$1 (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::system_calls::impl$2::fast_call::closure$1(scryer_prolog::machine::system_calls::impl$2::fast_call::closure_env$1 (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::strip_module (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::dispatch::impl$1::dispatch_loop::closure$5 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_execute (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::get_structure_index (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::neck_cut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::strip_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::fast_call (37 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::system_calls::impl$2::fast_call::closure$0(scryer_prolog::machine::system_calls::impl$2::fast_call::closure_env$0 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$3::next(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$2::spec_next(core::ops::range::Range (2 samples, 0.01%)`0x7FFB799F4053 (3 samples, 0.02%)`0x7FFB799727D9 (6 samples, 0.04%)`0x7FFB799F4057 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (9 samples, 0.06%)`0x7FFB799736BD (9 samples, 0.06%)`0x7FFB799738E3 (9 samples, 0.06%)`0x7FFB799727F0 (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB79975B74 (2 samples, 0.01%)`0x7FFB79976F37 (2 samples, 0.01%)`0x7FFB79959B1A (2 samples, 0.01%)`0x7FFB799ED3D4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::debray_allocator::DebrayAllocator> (3 samples, 0.02%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB6E1B1526 (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (6 samples, 0.04%)`0x7FFB7997B3C7 (4 samples, 0.03%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(tuple$<scryer_prolog::atom_table::Atom,alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (4 samples, 0.03%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB799F721F (2 samples, 0.01%)`0x7FFB79970F01 (2 samples, 0.01%)`0x7FFB799544AF (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB79975B74 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<alloc::collections::vec_deque::VecDeque<enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (12 samples, 0.09%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB79971BF2 (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A176 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_front(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::IndexingLine>,alloc::alloc::Global>::is_empty (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::IndexingLine>,alloc::alloc::Global>::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::indexing::CodeOffsets<scryer_prolog::indexing::StaticCodeIndices>::compute_indices<scryer_prolog::indexing::StaticCodeIndices>(scryer_prolog::indexing::CodeOffsets (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::indexing::impl$2::switch_on(scryer_prolog::indexing::impl$4::compute_indices::closure_env$0<scryer_prolog::indexing::StaticCodeIndices>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::indexing::impl$2::second_level_index(indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB6E1B1501 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB799736BD (7 samples, 0.05%)`0x7FFB799738E3 (7 samples, 0.05%)`0x7FFB799727D9 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$2::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (11 samples, 0.08%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::push_subterm(scryer_prolog::forms::Level, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_fact (9 samples, 0.06%)`0x7FFB799F3F9E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_front(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB799736BD (4 samples, 0.03%)`0x7FFB799738E3 (4 samples, 0.03%)`0x7FFB799727D9 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::write_iter(unsigned long long, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::for_each(core::iter::adapters::enumerate::Enumerate<alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> >, alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::fold(core::iter::adapters::enumerate::Enumerate<alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> >, tuple$<>, core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::into_iter::impl$2::fold(alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>, tuple$<>, core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::into_iter::impl$2::try_fold(alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, tuple$<>, alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::map::impl$2::try_fold(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::into_iter::impl$2::try_fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > > >,enum2$<core::result::Result<tuple$<>,never$> > > >*, tuple$<>, alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::try_fold(core::slice::iter::Iter<enum2$<scryer_prolog::instructions::Instruction> >*, tuple$<>, core::iter::adapters::map::map_try_fold::closure_env$0<ref$<enum2$<scryer_prolog::instructions::Instruction> >,enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,enum2$<core::result::Result<tuple$<>,never$> >,alloc::collections::vec_deque::into_iter::impl$2::try_fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > > >,enum2$<core::result::Result<tuple$<>,never$> > >,ref_mut$<alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::map::map_try_fold::closure$0(core::iter::adapters::map::map_try_fold::closure_env$0<ref$<enum2$<scryer_prolog::instructions::Instruction> >,enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,enum2$<core::result::Result<tuple$<>,never$> >,alloc::collections::vec_deque::into_iter::impl$2::try_fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > > >,enum2$<core::result::Result<tuple$<>,never$> > >,ref_mut$<alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > > > > >*, tuple$<>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::impls::impl$3::call_mut(alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > > >**, tuple$<>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::into_iter::impl$2::fold::closure$0(alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > > >*, tuple$<>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::fold::enumerate::closure$0(core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > >*, tuple$<>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::for_each::call::closure$0(core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > >*, tuple$<>, tuple$<usize,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$3::write_iter::closure$0(alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> >*, tuple$<usize,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::buffer_write(unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::instructions::Instruction>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$18::extend(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::write_iter_wrapping(unsigned long long, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::BranchCodeStack::pop_branch (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<alloc::vec::into_iter::IntoIter<alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::into_iter::impl$5::next(alloc::vec::into_iter::IntoIter<alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::write_iter_wrapping(unsigned long long, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_inlined(enum2$<scryer_prolog::instructions::InlinedClauseType>*, alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)`0x7FFB7997B86B (2 samples, 0.01%)`0x7FFB79971BF2 (4 samples, 0.03%)`0x7FFB7997B3C7 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (6 samples, 0.04%)`0x7FFB799736BD (6 samples, 0.04%)`0x7FFB799738E3 (6 samples, 0.04%)`0x7FFB79971C3D (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (8 samples, 0.06%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::reserve_for_push<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::new (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::QueryIterator::new(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::QueryIterator::extend_state(scryer_prolog::forms::Level, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::subterm_to_instr<scryer_prolog::targets::QueryInstruction>(enum2$<scryer_prolog::parser::ast::Term>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::deep_var_instr(core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, unsigned long long, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::QueryInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_reserved_var(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert<usize> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0> >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0> >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<usize,bitvec::vec::BitVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<usize,bitvec::vec::BitVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bitvec::vec::ops::impl$13::deref_mut(bitvec::vec::BitVec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`bitvec::vec::BitVec<usize,bitvec::order::Lsb0>::as_mut_bitslice (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0> > >::or_insert_with<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0>,scryer_prolog::debray_allocator::impl$3::add_branch_occurrence::closure_env$0>(enum2$<indexmap::map::core::Entry<usize,bitvec::vec::BitVec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0> >::insert(indexmap::map::core::VacantEntry<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0> >, bitvec::vec::BitVec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0> >::push(indexmap::HashValue, unsigned long long, bitvec::vec::BitVec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0> >::reserve_entries (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,bitvec::vec::BitVec<usize,bitvec::order::Lsb0> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::BranchStack::add_branch_occurrence (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,tuple$<> >::insert_full<usize,tuple$<> >(indexmap::HashValue, unsigned long long, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,tuple$<> >::push(indexmap::HashValue, unsigned long long, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::QueryInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_reserved_var(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::pop (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::QueryIterator::push_subterm(scryer_prolog::forms::Level, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<scryer_prolog::iterators::TermIterState>::subterm_to_state(scryer_prolog::forms::Level, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (49 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$2::next (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::iterators::TermIterState>*, enum2$ (3 samples, 0.02%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB799736BD (6 samples, 0.04%)`0x7FFB799738E3 (5 samples, 0.04%)`0x7FFB79971C3D (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::add_call(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (89 samples, 0.64%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (89 samples, 0.64%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$6::next (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::ClauseIteratorState>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::subterm_to_instr<scryer_prolog::targets::FactInstruction>(enum2$<scryer_prolog::parser::ast::Term>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::FactInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_reserved_var(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert<usize> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (106 samples, 0.77%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::from_rule_head_clause(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::as_ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::reset_at_head(scryer_prolog::debray_allocator::DebrayAllocator*, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,usize,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,usize,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,usize>::insert_full<usize,usize> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global> > >::or_insert<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global> >(enum2$<indexmap::map::core::Entry<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global> > >, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global> >::insert(indexmap::map::core::VacantEntry<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global> >, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global> >::push(indexmap::HashValue, tuple$<scryer_prolog::atom_table::Atom,usize>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (153 samples, 1.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::indexing::CodeOffsets<scryer_prolog::indexing::StaticCodeIndices>::index_term<scryer_prolog::indexing::StaticCodeIndices>(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::indexing::CodeOffsets<scryer_prolog::indexing::StaticCodeIndices>::index_structure (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::entry(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$13::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$1::write_usize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$6::hash_word (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (196 samples, 1.41%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::split_predicate(ref$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::forms::ClauseSpan,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_fact(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::machine::disjuncts::VarData>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_fact(scryer_prolog::machine::disjuncts::VariableClassifier, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::rc::Rc<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::impl$20::drop(alloc::rc::Rc<core::cell::RefCell<enum2$ (2 samples, 0.01%)`0x7FFB799F6F7B (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::BranchInfo> (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<scryer_prolog::machine::disjuncts::ChunkInfo> >(ptr_mut$<slice2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (9 samples, 0.06%)`0x7FFB799747B1 (8 samples, 0.06%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (3 samples, 0.02%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::mut_ptr::impl$0::add(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<http::header::map::Bucket<http::header::value::HeaderValue>,alloc::alloc::Global>::reserve_for_push<http::header::map::Bucket<http::header::value::HeaderValue>,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<http::header::map::Bucket<http::header::value::HeaderValue>,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB799736BD (5 samples, 0.04%)`0x7FFB799738E3 (5 samples, 0.04%)`0x7FFB79971BF2 (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::push(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::machine::disjuncts::TraversalState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchNumber,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchNumber::split (2 samples, 0.01%)`0x7FFB7995A364 (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global> (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (10 samples, 0.07%)`0x7FFB7997B3C7 (10 samples, 0.07%)`0x7FFB7997BF5E (8 samples, 0.06%)`0x7FFB7995A36F (4 samples, 0.03%)`0x7FFB7995A4EB (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$16::into_iter(alloc::vec::Vec<enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::mem::manually_drop::ManuallyDrop<alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >::new(alloc::vec::Vec<enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::unfold_by_str(enum2$ (13 samples, 0.09%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::extend_trusted(core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::for_each(core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$<scryer_prolog::parser::ast::Term>)>, alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global,core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::map::impl$2::fold(core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$<scryer_prolog::parser::ast::Term>)>, tuple$<>, core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global,core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::chain::impl$1::fold<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> >,tuple$<>,core::iter::adapters::map::map_fold::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::machine::disjuncts::TraversalState>,tuple$<>,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$<scryer_prolog::parser::ast::Term>),core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global,core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$<scryer_prolog::parser::ast::Term>)> > > > >(core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >, tuple$<>, core::iter::adapters::map::map_fold::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::machine::disjuncts::TraversalState>,tuple$<>,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$<scryer_prolog::parser::ast::Term>),core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global,core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (3 samples, 0.02%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::insert_full<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::push(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::forms::ChunkedTermVec::push_chunk_term(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<http::header::map::Bucket<http::header::value::HeaderValue>,alloc::alloc::Global>::reserve_for_push<http::header::map::Bucket<http::header::value::HeaderValue>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<http::header::map::Bucket<http::header::value::HeaderValue>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::forms::ChunkedTermVec::reserve_branch (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchNumber::halve_delta (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::div::impl$7::div (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::rbig::RBig::into_parts (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchNumber::incr_by_delta (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::rbig::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::repr::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ibig::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$1::add (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::convert::impl$71::from (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$0::add (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::impl$0::div (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::repr::impl$4::div(enum2$<dashu_int::repr::TypedRepr>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchNumber::split (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::div::impl$7::div (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`dashu_int::sign::impl$11::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ibig::IBig::sign (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::sign (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$18::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (4 samples, 0.03%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::forms::ChunkedTermVec::push_chunk_term(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>::push_back(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>::handle_capacity_increase (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<http::header::map::Bucket<http::header::value::HeaderValue>,alloc::alloc::Global>::reserve_for_push<http::header::map::Bucket<http::header::value::HeaderValue>,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<http::header::map::Bucket<http::header::value::HeaderValue>,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB799F6F7B (2 samples, 0.01%)`0x7FFB799747B1 (5 samples, 0.04%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (8 samples, 0.06%)`0x7FFB7997B3C7 (7 samples, 0.05%)`0x7FFB7997BF5E (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$122::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::impl$21::clone(alloc::rc::Rc<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::RcInnerPtr::inc_strong(alloc::rc::RcBox<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::push_subterm(scryer_prolog::forms::Level, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<scryer_prolog::iterators::TermIterState>::subterm_to_state(scryer_prolog::forms::Level, enum2$ (3 samples, 0.02%)`0x7FFB7997B86B (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (8 samples, 0.06%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7995A364 (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (11 samples, 0.08%)`0x7FFB7997B3C7 (9 samples, 0.06%)`0x7FFB7997BF5E (4 samples, 0.03%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::Ref<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$35::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::set (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::replace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::replace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$133::hash<std::collections::hash::map::DefaultHasher>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$23::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::bitmask::impl$2::next (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::bitmask::BitMask::remove_lowest_bit (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::impl$25::eq<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >(alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >*, alloc::rc::Rc<core::cell::RefCell<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$28::eq(core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> >*, core::cell::RefCell<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$130::eq(enum2$<scryer_prolog::parser::ast::Var>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$80::eq (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::partial_eq::impl$0::eq(alloc::vec::Vec<u8,alloc::alloc::Global>*, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)`0x7FFB6E1B1245 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState> (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::hash<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState,scryer_prolog::machine::disjuncts::BranchNumber> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$3::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$4::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ibig::impl$4::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::impl$8::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (68 samples, 0.49%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (47 samples, 0.34%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::or_else(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::cloned(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (7 samples, 0.05%)`0x7FFB7997B3C7 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::get_clause_type (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`enum2$<scryer_prolog::instructions::ClauseType>::from (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::CodeIndex::default (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::CodeIndex::new (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$37::alloc (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`std::alloc::__default_lib_allocator::__rdl_alloc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::alloc::impl$0::alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::alloc::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$2::hash(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::Hasher::write_str(fxhash::FxHasher*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$1::write(fxhash::FxHasher*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::write(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::write64(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (102 samples, 0.74%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::get_meta_specs (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::get_or_insert_local_code_index<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::atom_table::Atom, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_mut (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module>::get_index_of (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::ProbeSeq::move_next (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::entry<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (175 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (175 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::qualified_clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (8 samples, 0.06%)`0x7FFB7997B3C7 (7 samples, 0.05%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::push_subterm(scryer_prolog::forms::Level, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchInfo::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$13::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::rbig::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::repr::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::hash<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState,scryer_prolog::machine::disjuncts::BranchNumber> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::insert_full<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::push(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (2 samples, 0.01%)`0x7FFB79971BF2 (6 samples, 0.04%)`0x7FFB7997B3C7 (4 samples, 0.03%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7997DBFA (2 samples, 0.01%)`0x7FFB7995E37B (2 samples, 0.01%)`0x7FFB7995E715 (2 samples, 0.01%)`0x7FFB799ED314 (2 samples, 0.01%)`0x7FFB79972615 (3 samples, 0.02%)`0x7FFB7997B44D (3 samples, 0.02%)`0x7FFB799736BD (11 samples, 0.08%)`0x7FFB799738E3 (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::reserve_for_push<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global> (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::grow_amortized (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::insert_full<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::push(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::reserve_entries (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::RefMut<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$42::drop (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::get (5 samples, 0.04%)`0x7FFB799747B1 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::VarPtr::set(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::VarPtr::borrow_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> >::borrow_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> >::try_borrow_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::BorrowRefMut::new(core::cell::Cell (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::push(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::push(indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (45 samples, 0.32%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::iter::adapters::rev::Rev<core::slice::iter::Iter (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::rev::impl$1::next(core::iter::adapters::rev::Rev<core::slice::iter::Iter (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$182::next_back(core::slice::iter::Iter (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::Iter<scryer_prolog::machine::disjuncts::BranchInfo>::pre_dec_end (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::sub (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::offset (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$6::cmp (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$21::mul (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::with_sign (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::is_zero (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::capacity (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::impl$3::mul(enum2$<dashu_int::repr::TypedReprRef>, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::mul_dword (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::mul_dword_spilled (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::buffer::Buffer::allocate (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::buffer::Buffer::allocate_exact (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::buffer::Buffer::allocate_raw (6 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB799747B1 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (7 samples, 0.05%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997B8A4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::extend_trusted(alloc::vec::drain::Drain (4 samples, 0.03%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`dashu_int::add_ops::impl$16::sub (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::impl$3::div (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ubig::UBig::repr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::as_typed (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$16::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::with_sign (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::is_zero (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::mul_dword_spilled (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::from_buffer (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::impl$3::gcd (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::repr::impl$0::gcd(enum2$<dashu_int::repr::TypedReprRef>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$11::sub_assign (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$5::sub (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::repr::Repr::reduce_with_hint (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::impl$0::div (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::repr::impl$4::div(enum2$<dashu_int::repr::TypedRepr>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::impl$19::gcd (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::repr::impl$0::gcd(enum2$<dashu_int::repr::TypedReprRef>, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::from_dword (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_base::ring::gcd::impl$20::gcd (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ibig::IBig::into_sign_repr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (335 samples, 2.42%)sc..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (335 samples, 2.42%)sc..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (63 samples, 0.45%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (45 samples, 0.32%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$8::mul (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (343 samples, 2.48%)sc..scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (343 samples, 2.48%)sc..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (343 samples, 2.48%)sc..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (338 samples, 2.44%)sc..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::impl$87::default (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::RandomState::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::Cell<tuple$<u64,u64> > >::with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::Cell<tuple$<u64,u64> > >::try_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::impl$82::new::KEYS::__getit(enum2$<core::option::Option<ref_mut$<enum2$<core::option::Option<core::cell::Cell<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::common::thread_local::fast_local::Key<core::cell::Cell<tuple$<u64,u64> > >::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (560 samples, 4.04%)scry..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (560 samples, 4.04%)scry..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher>,scryer_prolog::atom_table::Atom> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module>::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$<> >::get_index_of<scryer_prolog::atom_table::Atom,tuple$<>,str$>(indexmap::HashValue, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$2::equivalent(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_fact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_standalone_clause(enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_fact(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::machine::disjuncts::VarData>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_fact(scryer_prolog::machine::disjuncts::VariableClassifier, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_clause_clauses(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::machine::loader::CompilationTarget>, alloc::vec::into_iter::IntoIter<tuple$<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::incremental_compile_clause<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::push_back_to_local_predicate_skeleton(enum2$<scryer_prolog::machine::loader::CompilationTarget>*, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (3 samples, 0.02%)`0x7FFB776E5FE6 (3 samples, 0.02%)`0x7FFB776E6579 (3 samples, 0.02%)`0x7FFB799EDAB4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$<> >::get_index_of<scryer_prolog::atom_table::Atom,tuple$<>,str$>(indexmap::HashValue, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$2::equivalent(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)`0x7FFB776E6785 (78 samples, 0.56%)`0x7FFB799ED1F4 (78 samples, 0.56%)`0x7FFB776B79C6 (19 samples, 0.14%)`0x7FFB799ED934 (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$23::drop (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::file_attr (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (48 samples, 0.35%)`0x7FFB776B7A04 (29 samples, 0.21%)`0x7FFB799ED234 (29 samples, 0.21%)`0x7FFB7996B024 (2 samples, 0.01%)`0x7FFB776E6133 (4 samples, 0.03%)`0x7FFB7996AF2D (4 samples, 0.03%)`0x7FFB776E6579 (225 samples, 1.62%)`0x7FFB799EDAB4 (225 samples, 1.62%)`0x7FFB776E5FE6 (232 samples, 1.67%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (233 samples, 1.68%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (233 samples, 1.68%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (366 samples, 2.64%)sc..scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (365 samples, 2.63%)sc..scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (365 samples, 2.63%)sc..scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (365 samples, 2.63%)sc..scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (365 samples, 2.63%)sc..scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (237 samples, 1.71%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::path::maybe_verbatim (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::to_u16s::inner (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (372 samples, 2.69%)sc..scryer-7e5e7ddde7310dd8.exe`std::path::impl$44::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::ffi::os_str::OsStr::to_str(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`rustyline::line_buffer::LineBuffer::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$38::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (957 samples, 6.91%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (957 samples, 6.91%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (958 samples, 6.91%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (958 samples, 6.91%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::http_open (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_inner_applicable_clause (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::indexed_try (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::is_consistent_with_term_queue (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::add_op_decl_as_module_export<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$181::next(core::slice::iter::Iter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_module<scryer_prolog::machine::loader::LiveLoadAndMachineState> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports_into_module<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_compiled_library (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::load_compiled_library::closure$0 (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_context_module (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<tokio::runtime::context::blocking::BlockingRegionGuard> >::expect(enum2$<core::option::Option<tokio::runtime::context::blocking::BlockingRegionGuard> >, ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::context::blocking::try_enter_blocking_region (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<tokio::runtime::context::Context>::try_with (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::context::blocking::try_enter_blocking_region::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<tokio::runtime::context::runtime::EnterRuntime>::is_entered(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::future::into_future::impl$0::into_future (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Semaphore::acquire (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Acquire::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::budget(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::with_budget(tokio::runtime::coop::Budget, tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::impl$4::block_on::closure$0(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0::async_block$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn$0::async_block_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::or_else(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Semaphore::add_permits_locked(unsigned long long, tokio::loom::std::parking_lot::MutexGuard (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Semaphore::release (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::loom::std::parking_lot::Mutex<tokio::sync::batch_semaphore::Waitlist>::lock (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex,tokio::sync::batch_semaphore::Waitlist>::lock (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`parking_lot::raw_mutex::impl$0::lock (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::sse2::Group::match_byte (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::core_arch::x86::sse2::_mm_movemask_epi8 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >::get_index_of(indexmap::HashValue, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_predicate_key (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::meta_predicate_property (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::likely (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::forms::Module> > >::and_then(enum2$<core::option::Option<ref$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::impl$10::get_predicate_code_index::closure$0 (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::machine::machine_indices::CodeIndex> > >::cloned(enum2$<core::option::Option<ref$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex>::get_index_of(indexmap::HashValue, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::sse2::Group::match_byte (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::core_arch::x86::sse2::_mm_movemask_epi8 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$2::hash(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::Hasher::write_str(fxhash::FxHasher*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$1::write(fxhash::FxHasher*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::write(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::write64(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::machine::machine_indices::CodeIndex> > >::cloned(enum2$<core::option::Option<ref$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex>::get_index_of(indexmap::HashValue, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::budget(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::with_budget(tokio::runtime::coop::Budget, tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::reset_block (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_inner_applicable_clause (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::truncate (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unwind_trail (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::reset_attr_var_state (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_instr_at_verify_attr_interrupt (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::reset_attr_var_state (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_instr_at_verify_attr_interrupt (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (54 samples, 0.39%)`0x7FFB7771BA75 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<scryer_prolog::machine::streams::Stream>::position (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::StreamLayout<scryer_prolog::parser::char_reader::CharReader<scryer_prolog::machine::streams::InputFileStream> >::position (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<u64,std::io::error::Error> >::map(enum2$<core::result::Result (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::fs::impl$7::seek (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::seek (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (4 samples, 0.03%)`0x7FFB7771BB2B (2 samples, 0.01%)`0x7FFB799ED234 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::stream_property (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::strip_module (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::types::HeapCellValue,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::types::HeapCellValue,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<scryer_prolog::types::HeapCellValue,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<scryer_prolog::types::HeapCellValue,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<scryer_prolog::types::HeapCellValue,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<scryer_prolog::types::HeapCellValue,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<scryer_prolog::types::HeapCellValue,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::types::HeapCellValue,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(scryer_prolog::types::HeapCellValue, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::types::HeapCellValue,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(scryer_prolog::types::HeapCellValue, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::types::HeapCellValue,tuple$<> >::insert_full<scryer_prolog::types::HeapCellValue,tuple$<> >(indexmap::HashValue, scryer_prolog::types::HeapCellValue, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::types::HeapCellValue,tuple$<> >::push(indexmap::HashValue, scryer_prolog::types::HeapCellValue, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::types::HeapCellValue,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<scryer_prolog::types::HeapCellValue,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::types::HeapCellValue,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::types::HeapCellValue,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<scryer_prolog::types::HeapCellValue,tuple$<> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::types::HeapCellValue,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::types::HeapCellValue,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::types::HeapCellValue,tuple$<> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB799736BD (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::IterStackLoc::mark_loc (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::push_if_unmarked (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::read_cell_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::IterStackLoc::heap_or_stack (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<scryer_prolog::heap_iter::HeapOrStackTag,modular_bitfield::error::InvalidBitPattern<u8> > >::expect(enum2$<core::result::Result<scryer_prolog::heap_iter::HeapOrStackTag,modular_bitfield::error::InvalidBitPattern<u8> > >, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::forward_if_referent_marked (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::variable_set<core::hash::BuildHasherDefault<fxhash::FxHasher> >(indexmap::set::IndexSet<scryer_prolog::types::HeapCellValue,core::hash::BuildHasherDefault (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::term_variables (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_epilogue (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$3::next(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$2::spec_next(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_instr_at_verify_attr_interrupt (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::reset_attr_var_state (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::build_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (45 samples, 0.32%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unwind_trail (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::TrailEntry::get_tag (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::TrailEntry::tag_or_err (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::impl$126::from_bytes (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<scryer_prolog::machine::machine_indices::IndexPtrTag,modular_bitfield::error::InvalidBitPattern<u8> > >::expect(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::IndexPtrTag,modular_bitfield::error::InvalidBitPattern<u8> > >, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_call (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag_or_err (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_execute (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag_or_err (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::deref_register (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (68 samples, 0.49%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (62 samples, 0.45%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$3::next(core::ops::range::Range (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$2::spec_next(core::ops::range::Range (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$54::lt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (126 samples, 0.91%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_or_frame_mut (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_or_frame (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::alloc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::read_cell_mut (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$14::index_mut(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$1::index_mut(ref_mut$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index_mut(unsigned long long, ref_mut$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_structure(scryer_prolog::machine::unify::CompositeUnifierForOccursCheck (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$5::bind(scryer_prolog::machine::unify::CompositeUnifierForOccursCheck (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::bind_with_occurs_check<scryer_prolog::machine::unify::DefaultUnifier> (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unify_with_occurs_check (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify_with_occurs_check (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::CompositeUnifierForOccursCheck<scryer_prolog::machine::unify::DefaultUnifier> >(scryer_prolog::machine::unify::CompositeUnifierForOccursCheck (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::arithmetic_ops::add(enum2$<scryer_prolog::forms::Number>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::arithmetic_ops::sub(enum2$<scryer_prolog::forms::Number>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::arithmetic_ops::neg(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::impl$2::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::impl$2::deref::__stability (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::CodeIndex::get (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$10::deref(scryer_prolog::arena::TypedArenaPtr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::non_null::NonNull<scryer_prolog::machine::machine_indices::IndexPtr>::as_ref (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$3::next(core::ops::range::Range (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$2::spec_next(core::ops::range::Range (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$54::lt (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::allocate (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_and_frame_mut (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_and_frame (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::TrailEntry::build_with (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::as_ptr (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::ptr (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::order_category(scryer_prolog::types::HeapCellValue, ref$<slice2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::forms::Number>,tuple$<> > >::ok(enum2$<core::result::Result<enum2$<scryer_prolog::forms::Number>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arithmetic::impl$14::try_from (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cmp::PartialEq::ne(enum2$<core::option::Option<scryer_prolog::machine::machine_indices::TermOrderCategory> >*, enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::option::impl$14::eq(enum2$<core::option::Option<scryer_prolog::machine::machine_indices::TermOrderCategory> >*, enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::option::impl$15::eq(enum2$<core::option::Option<scryer_prolog::machine::machine_indices::TermOrderCategory> >*, enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::order_category(scryer_prolog::types::HeapCellValue, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::cut_body (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deallocate (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::truncate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::impl$35::from_bytes (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_value (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::val (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::val_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$23::push_bits(modular_bitfield::private::push_pop::PushBuffer (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::impl$35::from_bytes (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::as_mut_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::order_category(scryer_prolog::types::HeapCellValue, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<usize,usize>,tuple$<> >::insert_full<tuple$<usize,usize>,tuple$<> >(indexmap::HashValue, tuple$<usize,usize>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<usize,usize>,tuple$<> >::push(indexmap::HashValue, tuple$<usize,usize>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<usize,usize>,std::collections::hash::map::RandomState>::contains(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<usize,usize>,tuple$<>,std::collections::hash::map::RandomState>::contains_key(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<usize,usize>,tuple$<>,std::collections::hash::map::RandomState>::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$0::cmp(ref$<str$>, ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$2::cmp(ref$<slice2$<u8> >, ref$<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$9::compare(ref$<slice2$<u8> >, ref$<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::eq_test (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<core::cmp::Ordering> >::map(enum2$<core::option::Option (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::get_number(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::install_new_block (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::Fixnum::build_with (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_fixnum<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::Number>,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::is(enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::order_category(scryer_prolog::types::HeapCellValue, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::budget(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::with_budget(tokio::runtime::coop::Budget, tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$0::cmp(ref$<str$>, ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$2::cmp(ref$<slice2$<u8> >, ref$<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$9::compare(ref$<slice2$<u8> >, ref$<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::budget(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::with_budget(tokio::runtime::coop::Budget, tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::impl$4::block_on::closure$0(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0::async_block$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn$0::async_block_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insertion_sort_shift_left<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::slice::impl$0::sort_by::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$1> >(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, unsigned long long, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insert_tail(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_from_list (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_from_inner_list<scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$0>(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997B86B (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::neck_cut (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::truncate (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_s (3 samples, 0.02%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::rc::Rc<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::impl$20::drop(alloc::rc::Rc<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::RcInnerPtr::dec_weak(alloc::rc::RcBox<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<usize>::set (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<usize>::replace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::replace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::rev(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::double_ended::DoubleEndedIterator::rfold(alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>, enum2$<scryer_prolog::parser::ast::Term>, scryer_prolog::parser::parser::impl$1::reduce_list::closure_env$0<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::drain::impl$6::next_back(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$182::next_back(core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_list (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::as_partial_string(enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::pop (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::push_binary_op<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (4 samples, 0.03%)`0x7FFB7997B3C7 (4 samples, 0.03%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (7 samples, 0.05%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997B8A4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::pop (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::allocate_in (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::impl$0::trim(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::str::impl$0::trim_matches<core::str::impl$0::trim::closure_env$0> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::str::pattern::impl$23::next_reject (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::pattern::Searcher::next_reject (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::pattern::impl$9::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::iter::impl$5::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::iter::impl$0::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::validations::next_code_point (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::validations::utf8_first_byte (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (7 samples, 0.05%)`0x7FFB7997B3C7 (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::push_binary_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc<scryer_prolog::atom_table::InnerAtomTable>::increment_strong_count (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::manually_drop::impl$5::clone(core::mem::manually_drop::ManuallyDrop<alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$22::clone(alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::buf (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<scryer_prolog::atom_table::InnerAtomTable>::active_epoch<scryer_prolog::atom_table::InnerAtomTable> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::task::wake::impl$9::drop (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::drop_waker(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::sync::Arc (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$27::drop(alloc::sync::Arc (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::waker (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::unpark (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::with_current (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<tokio::runtime::park::ParkThread>::try_with(tokio::runtime::park::impl$4::with_current::closure_env$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::impl$4::with_current::closure$0(tokio::runtime::park::impl$4::with_current::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::impl$4::unpark::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::ParkThread::unpark (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$22::clone(alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Semaphore::add_permits_locked(unsigned long long, tokio::loom::std::parking_lot::MutexGuard (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Semaphore::release (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::loom::std::parking_lot::Mutex<tokio::sync::batch_semaphore::Waitlist>::lock (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex,tokio::sync::batch_semaphore::Waitlist>::lock (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`parking_lot::raw_mutex::impl$0::lock (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (76 samples, 0.55%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (30 samples, 0.22%)`0x7FFB7997B748 (2 samples, 0.01%)`0x7FFB7997B86B (3 samples, 0.02%)`0x7FFB7995440B (2 samples, 0.01%)`0x7FFB79971BF2 (10 samples, 0.07%)`0x7FFB7997B3C7 (10 samples, 0.07%)`0x7FFB7997B8A4 (4 samples, 0.03%)`0x7FFB799736BD (12 samples, 0.09%)`0x7FFB799738E3 (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::parser::lexer::Token>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<enum2$<core::result::Result<char,std::io::error::Error> > > >::is_none (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<enum2$<core::result::Result<char,std::io::error::Error> > > >::is_some (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::impl$5::peek_char<scryer_prolog::machine::streams::InputFileStream>(scryer_prolog::parser::char_reader::CharReader (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::CharReader<scryer_prolog::machine::streams::InputFileStream>::refresh_buffer<scryer_prolog::machine::streams::InputFileStream> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`std::fs::impl$5::read (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::read (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::synchronous_read (9 samples, 0.06%)`0x7FFB799ED0D4 (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::single_line_comment (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::str::converts::from_utf8 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::mut_ptr::impl$0::add (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`smallvec::SmallVec<array$<u8,32> >::insert_from_slice(unsigned long long, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::array::impl$15::index(unsigned char[4]*, core::ops::range::RangeTo (4 samples, 0.03%)`0x7FFB799ED0D4 (325 samples, 2.35%)`..scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result (332 samples, 2.40%)sc..scryer-7e5e7ddde7310dd8.exe`std::fs::impl$5::read (330 samples, 2.38%)sc..scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::read (330 samples, 2.38%)sc..scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::synchronous_read (329 samples, 2.37%)sc..scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (371 samples, 2.68%)sc..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (371 samples, 2.68%)sc..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (357 samples, 2.58%)sc..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (356 samples, 2.57%)sc..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::impl$5::peek_char<scryer_prolog::machine::streams::InputFileStream>(scryer_prolog::parser::char_reader::CharReader (351 samples, 2.53%)sc..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::CharReader<scryer_prolog::machine::streams::InputFileStream>::refresh_buffer<scryer_prolog::machine::streams::InputFileStream> (343 samples, 2.48%)sc..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::impl$5::peek_char<scryer_prolog::machine::streams::InputFileStream>(scryer_prolog::parser::char_reader::CharReader (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::impl$5::peek_char<scryer_prolog::machine::streams::InputFileStream>(scryer_prolog::parser::char_reader::CharReader (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::CharReader<scryer_prolog::machine::streams::InputFileStream>::refresh_buffer<scryer_prolog::machine::streams::InputFileStream> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::fs::impl$5::read (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::read (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::synchronous_read (3 samples, 0.02%)`0x7FFB799ED0D4 (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::alloc::__default_lib_allocator::__rdl_alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::char::methods::impl$0::is_numeric (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::mem::drop(std::sync::mutex::MutexGuard<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(std::sync::mutex::MutexGuard<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sync::mutex::impl$12::drop(std::sync::mutex::MutexGuard<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sync::poison::Flag::done (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::rcu::RcuRef (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::sync::Arc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$27::drop(alloc::sync::Arc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc<scryer_prolog::atom_table::InnerAtomTable>::inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::non_null::NonNull<alloc::sync::ArcInner<scryer_prolog::atom_table::InnerAtomTable> >::as_ref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::once::OnceCell<alloc::sync::Arc<core::sync::atomic::AtomicU8> > >::with(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::once::OnceCell<alloc::sync::Arc<core::sync::atomic::AtomicU8> > >::try_with(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<scryer_prolog::atom_table::InnerAtomTable>::active_epoch<scryer_prolog::atom_table::InnerAtomTable> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::non_null::NonNull<scryer_prolog::atom_table::InnerAtomTable>::as_ref (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::insert_full<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>(scryer_prolog::atom_table::Atom, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`phf_shared::impl$6::borrow(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::atom_table::Atom> > >::cloned(enum2$<core::option::Option<ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get<ref$<str$>,scryer_prolog::atom_table::Atom,str$>(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get_entry(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_index_of(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::hash(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::impl$86::finish (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$4::finish (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$5::finish(core::hash::sip::Hasher (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::future::into_future::impl$0::into_future (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::budget(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::with_budget(tokio::runtime::coop::Budget, tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::impl$4::block_on::closure$0(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0::async_block$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn$0::async_block_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$2::equivalent(ref$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::RcuRef<scryer_prolog::atom_table::InnerAtomTable,u8>::try_map(scryer_prolog::rcu::RcuRef (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$22::clone(alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$<> >::get_index_of<scryer_prolog::atom_table::Atom,tuple$<>,str$>(indexmap::HashValue, ref$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >::active_epoch<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$11::clone_from(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>*, alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::slice::impl$8::clone_into(ref$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> > > >, alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::extend_from_slice(ref$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>*, core::slice::iter::Iter<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)`0x7FFB7997B44D (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::Bucket<usize>::write (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`core::ptr::mut_ptr::impl$0::write (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (74 samples, 0.53%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$13::clone_from_spec(hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>*, hashbrown::raw::inner::RawTable (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::clone_from_impl(hashbrown::raw::inner::RawTable (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$26::next(hashbrown::raw::inner::RawIter (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawIterRange<usize>::next_impl (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::sse2::Group::load_aligned (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::sse2::Group::match_empty_or_deleted (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::core_arch::x86::sse2::_mm_movemask_epi8 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::array::impl$15::index(unsigned char[4]*, core::ops::range::RangeTo (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`smallvec::SmallVec<array$<u8,32> >::insert_from_slice(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result (215 samples, 1.55%)scryer-7e5e7ddde7310dd8.exe`std::fs::impl$5::read (215 samples, 1.55%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::read (215 samples, 1.55%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::synchronous_read (215 samples, 1.55%)`0x7FFB799ED0D4 (212 samples, 1.53%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (231 samples, 1.67%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (229 samples, 1.65%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::impl$5::peek_char<scryer_prolog::machine::streams::InputFileStream>(scryer_prolog::parser::char_reader::CharReader (227 samples, 1.64%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::CharReader<scryer_prolog::machine::streams::InputFileStream>::refresh_buffer<scryer_prolog::machine::streams::InputFileStream> (221 samples, 1.60%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::skip_char (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::consume(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (329 samples, 2.37%)sc..scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::number_token<enum2$<scryer_prolog::machine::streams::Stream> > (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::skip_underscore_in_number (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::impl$5::peek_char<scryer_prolog::machine::streams::InputFileStream>(scryer_prolog::parser::char_reader::CharReader (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::CharReader<scryer_prolog::machine::streams::InputFileStream>::refresh_buffer<scryer_prolog::machine::streams::InputFileStream> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::fs::impl$5::read (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::read (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::synchronous_read (5 samples, 0.04%)`0x7FFB799ED0D4 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::skip_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::consume(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::array::impl$15::index(unsigned char[4]*, core::ops::range::RangeTo (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`smallvec::SmallVec<array$<u8,32> >::insert_from_slice(unsigned long long, ref$<slice2$ (2 samples, 0.01%)`0x7FFB799ED0D4 (106 samples, 0.77%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::CharReader<scryer_prolog::machine::streams::InputFileStream>::refresh_buffer<scryer_prolog::machine::streams::InputFileStream> (112 samples, 0.81%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result (108 samples, 0.78%)scryer-7e5e7ddde7310dd8.exe`std::fs::impl$5::read (108 samples, 0.78%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::read (108 samples, 0.78%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::handle::Handle::synchronous_read (108 samples, 0.78%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (119 samples, 0.86%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (117 samples, 0.84%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::char_reader::impl$5::peek_char<scryer_prolog::machine::streams::InputFileStream>(scryer_prolog::parser::char_reader::CharReader (113 samples, 0.82%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (960 samples, 6.93%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (960 samples, 6.93%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (878 samples, 6.34%)scryer-7..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (855 samples, 6.17%)scryer-7..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (132 samples, 0.95%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue>::get_index_of<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,enum2$<scryer_prolog::machine::machine_indices::VarKey> >(indexmap::HashValue, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue>::insert_full<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue>(indexmap::HashValue, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue>::push(indexmap::HashValue, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue>,alloc::alloc::Global>::capacity (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue>,alloc::alloc::Global>::capacity (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue> >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue> >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (3 samples, 0.02%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997B8A4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::handle_capacity_increase (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::reserve_for_push<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::grow_amortized (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB799736BD (5 samples, 0.04%)`0x7FFB799738E3 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push_back(enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::push_subterm(scryer_prolog::forms::Level, enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`enum2$<scryer_prolog::iterators::TermIterState>::subterm_to_state(scryer_prolog::forms::Level, enum2$ (3 samples, 0.02%)`0x7FFB799F4053 (3 samples, 0.02%)`0x7FFB799727D9 (5 samples, 0.04%)`0x7FFB799F4057 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (1,015 samples, 7.33%)scryer-7e5..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::push_stub_addr (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (6 samples, 0.04%)`0x7FFB799736BD (6 samples, 0.04%)`0x7FFB799738E3 (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$38::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<scryer_prolog::machine::machine_indices::VarKey>::to_string (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::Ref<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$35::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::set (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::replace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::replace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$6::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >::new(indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::sync::ArcInner<indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::drop(std::sync::mutex::MutexGuard<tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(std::sync::mutex::MutexGuard<tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sync::mutex::impl$12::drop(std::sync::mutex::MutexGuard<tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sync::poison::Flag::done (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >::replace<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >(indexmap::set::IndexSet (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::rcu::RcuRef (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$27::drop(alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc<scryer_prolog::atom_table::InnerAtomTable>::inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::non_null::NonNull<alloc::sync::ArcInner<scryer_prolog::atom_table::InnerAtomTable> >::as_ref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >::drop_slow<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB79975B74 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<scryer_prolog::atom_table::InnerAtomTable>::active_epoch<scryer_prolog::atom_table::InnerAtomTable> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::once::OnceCell<alloc::sync::Arc<core::sync::atomic::AtomicU8> > >::with(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::once::OnceCell<alloc::sync::Arc<core::sync::atomic::AtomicU8> > >::try_with(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::THREAD_EPOCH_COUNTER::__getit(enum2$<core::option::Option<ref_mut$<enum2$<core::option::Option<core::cell::once::OnceCell<alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::common::thread_local::fast_local::Key<core::cell::once::OnceCell<alloc::sync::Arc<core::sync::atomic::AtomicU8> > >::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::atom_table::Atom> > >::cloned(enum2$<core::option::Option<ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get<ref$<str$>,scryer_prolog::atom_table::Atom,str$>(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get_entry(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::budget(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::with_budget(tokio::runtime::coop::Budget, tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::impl$4::block_on::closure$0(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$<> >::get_index_of<scryer_prolog::atom_table::Atom,tuple$<>,str$>(indexmap::HashValue, ref$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$2::equivalent(ref$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$11::clone_from(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>*, alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::slice::impl$8::clone_into(ref$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> > > >, alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::extend_from_slice(ref$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>*, core::slice::iter::Iter<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)`0x7FFB7997B44D (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::Bucket<usize>::write (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::mut_ptr::impl$0::write (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::Bucket<usize>::next_n (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::mut_ptr::impl$0::sub (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::mut_ptr::impl$0::offset (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (54 samples, 0.39%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$13::clone_from_spec(hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>*, hashbrown::raw::inner::RawTable (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::clone_from_impl(hashbrown::raw::inner::RawTable (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$26::next(hashbrown::raw::inner::RawIter (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawIterRange<usize>::next_impl (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::heap::filtered_iter_to_heap_list<scryer_prolog::types::HeapCellValue,alloc::vec::into_iter::IntoIter<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>,scryer_prolog::machine::heap::iter_to_heap_list::closure_env$0<alloc::vec::into_iter::IntoIter<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>,scryer_prolog::types::HeapCellValue> >(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>, scryer_prolog::machine::heap::iter_to_heap_list::closure_env$0<alloc::vec::into_iter::IntoIter (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::build_with (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::with_val (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::set_val (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::set_val_checked (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::specifiers::impl$165::into_bytes (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::heap::filtered_iter_to_heap_list<scryer_prolog::types::HeapCellValue,core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>,scryer_prolog::machine::machine_state::impl$13::write_read_term_options::closure_env$2>,scryer_prolog::machine::heap::iter_to_heap_list::closure_env$0<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>,scryer_prolog::machine::machine_state::impl$13::write_read_term_options::closure_env$2>,scryer_prolog::types::HeapCellValue> >(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>,scryer_prolog::machine::machine_state::impl$13::write_read_term_options::closure_env$2>, scryer_prolog::machine::heap::iter_to_heap_list::closure_env$0<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<tuple$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::map::impl$2::next(core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize> > >::map(enum2$<core::option::Option<tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::impls::impl$4::call_once(scryer_prolog::machine::machine_state::impl$13::write_read_term_options::closure_env$2*, tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$13::write_read_term_options::closure$2(scryer_prolog::machine::machine_state::impl$13::write_read_term_options::closure_env$2*, tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::rc::Rc<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::impl$20::drop(alloc::rc::Rc<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$5::write<core::hash::sip::Sip13Rounds>(core::hash::sip::Hasher<core::hash::sip::Sip13Rounds>*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec<indexmap::Bucket (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::types::Ref,bool>,alloc::alloc::Global>::as_ptr (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::types::Ref,bool>,alloc::alloc::Global>::ptr (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::types::HeapCellValue,scryer_prolog::parser::ast::VarPtr,std::collections::hash::map::RandomState>::hash<scryer_prolog::types::HeapCellValue,scryer_prolog::parser::ast::VarPtr,std::collections::hash::map::RandomState,scryer_prolog::types::HeapCellValue> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::impl$86::finish (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$4::finish (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$5::finish(core::hash::sip::Hasher (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$8::d_rounds (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::num::impl$9::rotate_left (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::types::Ref,bool,std::collections::hash::map::RandomState>::contains_key (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::types::Ref,bool,std::collections::hash::map::RandomState>::get_index_of (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::types::Ref,bool>::get_index_of (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::types::Ref,bool,std::collections::hash::map::RandomState>::get_index_of (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::types::Ref,bool>::get_index_of (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::types::Ref,bool>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::types::Ref,bool>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,usize> >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,usize> >(unsigned long long, indexmap::map::core::get_hash::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::bucket_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::types::Ref,bool,std::collections::hash::map::RandomState>::insert (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::types::Ref,bool,std::collections::hash::map::RandomState>::insert_full (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::types::Ref,bool>::insert_full<scryer_prolog::types::Ref,bool> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::types::Ref,bool>::push (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::types::Ref,bool>,alloc::alloc::Global>::push(indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::types::Ref,bool>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::types::Ref,bool,std::collections::hash::map::RandomState>::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>::allocate_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::IterStackLoc::value (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::IterStackLoc::value_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$23::push_bits(modular_bitfield::private::push_pop::PushBuffer (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::num::impl$9::wrapping_shl (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::num::impl$9::unchecked_shl (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::push_if_unmarked (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::push_if_unmarked (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::read_cell_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$14::index_mut(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$1::index_mut(ref_mut$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index_mut(unsigned long long, ref_mut$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter::Filter<indexmap::map::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::filter::impl$2::next(core::iter::adapters::filter::Filter<indexmap::map::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::find(indexmap::map::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::try_fold(indexmap::map::Iter<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue>*, tuple$<>, core::iter::traits::iterator::Iterator::find::check::closure_env$0<tuple$<ref$<enum2$<scryer_prolog::machine::machine_indices::VarKey> >,ref$<scryer_prolog::types::HeapCellValue> >,ref_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::find::check::closure$0(core::iter::traits::iterator::Iterator::find::check::closure_env$0<tuple$<ref$<enum2$<scryer_prolog::machine::machine_indices::VarKey> >,ref$<scryer_prolog::types::HeapCellValue> >,ref_mut$<scryer_prolog::machine::machine_state::impl$13::read_term_body::closure_env$0> >*, tuple$<>, tuple$<ref$<enum2$<scryer_prolog::machine::machine_indices::VarKey> >,ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::impls::impl$3::call_mut(scryer_prolog::machine::machine_state::impl$13::read_term_body::closure_env$0**, tuple$<ref$<enum2$<scryer_prolog::machine::machine_indices::VarKey> >,ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$13::read_term_body::closure$0(scryer_prolog::machine::machine_state::impl$13::read_term_body::closure_env$0*, tuple$<ref$<enum2$<scryer_prolog::machine::machine_indices::VarKey> >,ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (1,140 samples, 8.23%)scryer-7e5e..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (124 samples, 0.90%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::system_calls::BrentAlgState::detect_cycles(ref$<slice2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::system_calls::BrentAlgState::cycle_step(ref$<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$1::bind (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list_result (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::build_with (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::finalize_skip_max_list (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::impl$35::from_bytes (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_value (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::val (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::val_or_err (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$23::push_bits(modular_bitfield::private::push_pop::PushBuffer (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB799736BD (4 samples, 0.03%)`0x7FFB799738E3 (4 samples, 0.03%)`0x7FFB799727D9 (4 samples, 0.03%)`0x7FFB799F4057 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arithmetic::impl$14::try_from (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::scopeguard::ScopeGuard<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>,hashbrown::raw::inner::impl$11::prepare_resize::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::scopeguard::impl$3::drop(hashbrown::scopeguard::ScopeGuard<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>,hashbrown::raw::inner::impl$11::prepare_resize::closure_env$0 (2 samples, 0.01%)`0x7FFB7997B3C2 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (7 samples, 0.05%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BA28 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (13 samples, 0.09%)`0x7FFB7997B721 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (6 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_atom<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)`0x7FFB79972615 (2 samples, 0.01%)`0x7FFB7997B44D (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::TrailEntry::build_with (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (49 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (49 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$1::bind (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (58 samples, 0.42%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor_fabricate_struct (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::types::Ref> >::unwrap(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify_atom (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_name_and_arity (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_arity (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity_or_err (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$17::push_bits(modular_bitfield::private::push_pop::PushBuffer (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor_unify_components (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_fixnum<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (42 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)`0x7FFB79975BA1 (3 samples, 0.02%)`0x7FFB799747B1 (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::as_ptr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::pop (6 samples, 0.04%)`0x7FFB799747B1 (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::contains(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::contains_key(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::get_index_of(indexmap::HashValue, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::h2 (3 samples, 0.02%)`0x7FFB7997B86B (4 samples, 0.03%)`0x7FFB7997B3C7 (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::is_full (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_insert_slot (3 samples, 0.02%)`0x7FFB7997B748 (2 samples, 0.01%)`0x7FFB7997B86B (2 samples, 0.01%)`0x7FFB7997B8A4 (3 samples, 0.02%)`0x7FFB7997B8D1 (2 samples, 0.01%)`0x7FFB7997B3C7 (16 samples, 0.12%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (46 samples, 0.33%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (46 samples, 0.33%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (46 samples, 0.33%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (44 samples, 0.32%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::impl$35::from_bytes (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::build_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::with_val (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::set_val (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::set_val_checked (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::specifiers::impl$165::into_bytes (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_list<scryer_prolog::machine::unify::DefaultUnifier> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_value (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::val (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::val_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$23::push_bits(modular_bitfield::private::push_pop::PushBuffer (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_structure<scryer_prolog::machine::unify::DefaultUnifier> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_value (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::val (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::val_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$23::push_bits(modular_bitfield::private::push_pop::PushBuffer (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$1::bind (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (143 samples, 1.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (144 samples, 1.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::TrailEntry::build_with (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify_atom (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_atom<scryer_prolog::machine::unify::DefaultUnifier> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (54 samples, 0.39%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$4::index (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::budget(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::with_budget(tokio::runtime::coop::Budget, tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::impl$4::block_on::closure$0(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0::async_block$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn$0::async_block_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::future::into_future::impl$0::into_future (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::impl$35::from_bytes (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Semaphore::add_permits_locked(unsigned long long, tokio::loom::std::parking_lot::MutexGuard (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_s (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::partial_string::PartialString::as_str_from (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<scryer_prolog::atom_table::AtomString>::map(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$5::index_mut (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::build_with (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::with_val (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::set_val (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::set_val_checked (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::specifiers::impl$165::into_bytes (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_slice (4,637 samples, 33.47%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::..scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (4,637 samples, 33.47%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(..scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_ptr (4,637 samples, 33.47%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::..scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::ptr (4,637 samples, 33.47%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::test_load_file(ref$ (4,637 samples, 33.47%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Ma..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (4,636 samples, 33.46%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Ma..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (4,635 samples, 33.46%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Ma..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_protected (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::AllocSlab::slab_size (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::ArenaHeader::size (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::ArenaHeader::size_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::raw_block::RawBlock (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::raw_block::impl$1::drop(scryer_prolog::raw_block::RawBlock (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$41::drop (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::drop_slab_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::machine::term_stream::LoadStatePayload (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::machine::loader::RetractionRecord> >(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::machine_indices::IndexStore> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module> >(indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::Machine> (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::compile_inline_or_expanded_goal (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::variable_set<core::hash::BuildHasherDefault<fxhash::FxHasher> >(indexmap::set::IndexSet<scryer_prolog::types::HeapCellValue,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::reserve_entries (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (47 samples, 0.34%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (47 samples, 0.34%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (47 samples, 0.34%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (47 samples, 0.34%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (25 samples, 0.18%)`0x7FFB776E5FE6 (25 samples, 0.18%)`0x7FFB776E6579 (24 samples, 0.17%)`0x7FFB799EDAB4 (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::machine::machine_indices::CodeIndex> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_call (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_or_frame_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_or_frame (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deallocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::TrailEntry::build_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify_atom (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (181 samples, 1.31%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (181 samples, 1.31%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (181 samples, 1.31%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (181 samples, 1.31%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_special_forms (198 samples, 1.43%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::current_dir (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_term_expansion_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_term_expansion_clause::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::incremental_compile_clause<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::select_switch_on_structure_index(scryer_prolog::types::HeapCellValue, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::fast_call (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$2::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (36 samples, 0.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (36 samples, 0.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::extend_trusted(alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB776E6785 (5 samples, 0.04%)`0x7FFB799ED1F4 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$23::drop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::file_attr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (3 samples, 0.02%)`0x7FFB776B7A04 (2 samples, 0.01%)`0x7FFB799ED234 (2 samples, 0.01%)`0x7FFB776E6579 (22 samples, 0.16%)`0x7FFB799EDAB4 (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (23 samples, 0.17%)`0x7FFB776E5FE6 (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (71 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (33 samples, 0.24%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_compiled_library (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::load_compiled_library::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_module<scryer_prolog::machine::loader::LiveLoadAndMachineState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports_into_module<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::set_stream_position (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::stream_property (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_or_frame_mut (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_or_frame (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_and_frame_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_and_frame (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::impl$35::from_bytes (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::install_new_block (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insertion_sort_shift_left<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::slice::impl$0::sort_by::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$1> >(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, unsigned long long, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insert_tail(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::Bucket<usize>::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::mut_ptr::impl$0::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$13::clone_from_spec(hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>*, hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::clone_from_impl(hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::push_subterm(scryer_prolog::forms::Level, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::non_null::NonNull<scryer_prolog::atom_table::InnerAtomTable>::as_ref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::insert_full<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>(scryer_prolog::atom_table::Atom, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (43 samples, 0.31%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$1::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify_atom (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_top_level (265 samples, 1.91%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (265 samples, 1.91%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (265 samples, 1.91%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (265 samples, 1.91%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (265 samples, 1.91%)s..scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB799727D9 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::into_iter::impl$5::next(alloc::vec::into_iter::IntoIter (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$18::extend(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::BranchCodeStack::pop_branch (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::QueryInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::add_call(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::FactInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::reset_at_head(scryer_prolog::debray_allocator::DebrayAllocator*, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (36 samples, 0.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (36 samples, 0.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::from_rule_head_clause(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_fact(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::machine::disjuncts::VarData>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_fact(scryer_prolog::machine::disjuncts::VariableClassifier, enum2$ (3 samples, 0.02%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::BranchInfo> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<scryer_prolog::machine::disjuncts::ChunkInfo> >(ptr_mut$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchNumber::incr_by_delta (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::rbig::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::repr::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ibig::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$1::add (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (4 samples, 0.03%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7995A364 (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::cloned(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::or_else(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (30 samples, 0.22%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (7 samples, 0.05%)`0x7FFB7997B3C7 (7 samples, 0.05%)`0x7FFB7997BF5E (5 samples, 0.04%)`0x7FFB7995A36F (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (6 samples, 0.04%)`0x7FFB7997B3C7 (6 samples, 0.04%)`0x7FFB7997BF5E (4 samples, 0.03%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::reserve_entries (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::try_reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::grow_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchInfo::new (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$13::clone (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::rbig::impl$1::clone (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::repr::impl$1::clone (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ubig::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::insert_full<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::push(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB79971BF2 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::reserve_for_push<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::insert_full<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::push(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::reserve_entries (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::grow_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::VarPtr::set(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::RefMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$42::drop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::get (3 samples, 0.02%)`0x7FFB799747B1 (3 samples, 0.02%)`0x7FFB799F706A (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::impl$86::finish (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$4::finish (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$5::finish(core::hash::sip::Hasher (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::push(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::push(indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >*, indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::TempVarData::populate_conflict_set (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::collect(core::ops::range::Range (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$2::from_iter(core::ops::range::Range (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$3::extend(bit_set::BitSet<usize>*, core::ops::range::Range (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7995A364 (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (18 samples, 0.13%)`0x7FFB7997B7A2 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (5 samples, 0.04%)`0x7FFB799747B1 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::extend_trusted(alloc::vec::drain::Drain (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::impl$3::div (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ubig::UBig::repr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::as_typed (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$16::mul (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::with_sign (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::is_zero (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::mul_dword_spilled (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ibig::IBig::as_sign_repr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::as_sign_typed (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::sign_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$19::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$21::mul (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$11::sub_assign (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$5::sub (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::impl$0::div (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::repr::impl$4::div(enum2$<dashu_int::repr::TypedRepr>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (179 samples, 1.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (179 samples, 1.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (136 samples, 0.98%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (136 samples, 0.98%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (136 samples, 0.98%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (133 samples, 0.96%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (133 samples, 0.96%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (133 samples, 0.96%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (180 samples, 1.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (180 samples, 1.30%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::push_binary_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (4 samples, 0.03%)`0x7FFB7995A36F (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::buf (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<scryer_prolog::atom_table::InnerAtomTable>::active_epoch<scryer_prolog::atom_table::InnerAtomTable> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::or_else(enum2$<core::option::Option<ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::budget(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::with_budget(tokio::runtime::coop::Budget, tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::impl$4::block_on::closure$0(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0::async_block$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn$0::async_block_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::impl$3::poll(core::pin::Pin<ref_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (26 samples, 0.19%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::parser::lexer::Token>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$11::deref_mut(scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::streams::StreamLayout (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::reserve_for_push<u8,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::char::methods::impl$0::is_numeric (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<scryer_prolog::atom_table::InnerAtomTable>::active_epoch<scryer_prolog::atom_table::InnerAtomTable> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$<> >::get_index_of<scryer_prolog::atom_table::Atom,tuple$<>,str$>(indexmap::HashValue, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$2::equivalent(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::skip_char (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::consume(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (249 samples, 1.80%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (68 samples, 0.49%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (68 samples, 0.49%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (68 samples, 0.49%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::IndexingLine>,alloc::alloc::Global>::is_empty (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::IndexingLine>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::indexing::CodeOffsets<scryer_prolog::indexing::StaticCodeIndices>::compute_indices<scryer_prolog::indexing::StaticCodeIndices>(scryer_prolog::indexing::CodeOffsets (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::BootstrappingLoadState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::use_module<scryer_prolog::machine::loader::BootstrappingLoadState>(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (280 samples, 2.02%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (280 samples, 2.02%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$11::evacuate(scryer_prolog::machine::loader::Loader (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::compile::bootstrapping_compile(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::Machine*, enum2$ (288 samples, 2.08%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer::src_tests::clpz_load::closure_env$0,tuple$<> > (5,410 samples, 39.05%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_on..scryer-7e5e7ddde7310dd8.exe`scryer::src_tests::clpz_load::closure$0 (5,410 samples, 39.05%)scryer-7e5e7ddde7310dd8.exe`scryer::src_tests::clpz_load::closur..scryer-7e5e7ddde7310dd8.exe`test::assert_test_result(tuple$ (5,410 samples, 39.05%)scryer-7e5e7ddde7310dd8.exe`test::assert_test_result(tuple$scryer-7e5e7ddde7310dd8.exe`serial_test::serial_code_lock::local_serial_core(ref$<str$>, void (*) (5,410 samples, 39.05%)scryer-7e5e7ddde7310dd8.exe`serial_test::serial_code_lock::local..scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5,410 samples, 39.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_placescryer-7e5e7ddde7310dd8.exe`serial_test::rwlock::impl$0::drop (5,410 samples, 39.05%)scryer-7e5e7ddde7310dd8.exe`serial_test::rwlock::impl$0::dropscryer-7e5e7ddde7310dd8.exe`parking_lot::condvar::Condvar::notify_one (5,410 samples, 39.05%)scryer-7e5e7ddde7310dd8.exe`parking_lot::condvar::Condvar::notif..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::AtomicPtr<parking_lot::raw_mutex::RawMutex>::load (5,410 samples, 39.05%)scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::AtomicPtr<parkin..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::atomic_load (5,410 samples, 39.05%)scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::atomic_loadscryer-7e5e7ddde7310dd8.exe`scryer::helper::load_module_test<ref$<str$> >(ref$<str$>, ref$ (5,410 samples, 39.05%)scryer-7e5e7ddde7310dd8.exe`scryer::helper::load_module_test<ref..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::with_test_streams (754 samples, 5.44%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::compile_assert (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::compile_assert::closure$1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_clause_clauses<scryer_prolog::machine::loader::LiveLoadAndMachineState,core::iter::sources::once::Once<tuple$<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::Term> > > >(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::machine::loader::CompilationTarget>, core::iter::sources::once::Once<tuple$<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::incremental_compile_clause<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_slice (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_ptr (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::ptr (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::test_load_file(ref$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::raw_block::RawBlock (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::raw_block::impl$1::drop(scryer_prolog::raw_block::RawBlock (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$41::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::drop_slab_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::machine::term_stream::LoadStatePayload (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<tuple$<scryer_prolog::forms::OpDecl,enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<tuple$<scryer_prolog::forms::OpDecl,enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<tuple$<scryer_prolog::forms::OpDecl,enum2$<core::option::Option (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB79975B74 (2 samples, 0.01%)`0x7FFB799765F6 (2 samples, 0.01%)`0x7FFB7996E412 (2 samples, 0.01%)`0x7FFB7996F35E (2 samples, 0.01%)`0x7FFB7997095C (2 samples, 0.01%)`0x7FFB79959B1A (2 samples, 0.01%)`0x7FFB799ED3D4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::Machine> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::expect (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::num::imp::impl$7::fmt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::compile_inline_or_expanded_goal (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::variable_set<core::hash::BuildHasherDefault<fxhash::FxHasher> >(indexmap::set::IndexSet<scryer_prolog::types::HeapCellValue,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::select_switch_on_structure_index(scryer_prolog::types::HeapCellValue, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Semaphore::add_permits_locked(unsigned long long, tokio::loom::std::parking_lot::MutexGuard (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::cloned(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (39 samples, 0.28%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (39 samples, 0.28%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (39 samples, 0.28%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (39 samples, 0.28%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (19 samples, 0.14%)`0x7FFB776E5FE6 (19 samples, 0.14%)`0x7FFB776E6579 (19 samples, 0.14%)`0x7FFB799EDAB4 (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unwind_trail (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insertion_sort_shift_left<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::slice::impl$0::sort_by::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$1> >(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, unsigned long long, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insert_tail(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,tuple$<> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<usize,tuple$<> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,tuple$<> >,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (6 samples, 0.04%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::types::Ref,bool,std::collections::hash::map::RandomState>::insert (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::types::Ref,bool,std::collections::hash::map::RandomState>::insert_full (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::types::Ref,bool>::insert_full<scryer_prolog::types::Ref,bool> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::types::Ref,bool>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::types::Ref,bool>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::types::Ref,bool>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,usize> >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_name_and_arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$17::push_bits(modular_bitfield::private::push_pop::PushBuffer (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor_unify_components (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (173 samples, 1.25%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (173 samples, 1.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (173 samples, 1.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (173 samples, 1.25%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_special_forms (190 samples, 1.37%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::current_dir (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$14::index_mut(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$1::index_mut(ref_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index_mut(unsigned long long, ref_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::expect (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::num::imp::impl$7::fmt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::impl$0::write_str<alloc::string::String> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$67::write_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::extend_from_slice (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::append_elements (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex> >::or_insert_with(enum2$<indexmap::map::core::Entry<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex> >, scryer_prolog::machine::load_state::import_module_exports::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::select_switch_on_structure_index(scryer_prolog::types::HeapCellValue, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$2::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::indexing::CodeOffsets<scryer_prolog::indexing::StaticCodeIndices>::index_term<scryer_prolog::indexing::StaticCodeIndices>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::indexing::CodeOffsets<scryer_prolog::indexing::StaticCodeIndices>::index_constant(scryer_prolog::atom_table::AtomTable*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::forms::ChunkedTermVec::push_chunk_term(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (2 samples, 0.01%)`0x7FFB776E6785 (7 samples, 0.05%)`0x7FFB799ED1F4 (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$23::drop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::file_attr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (3 samples, 0.02%)`0x7FFB776B7A04 (2 samples, 0.01%)`0x7FFB799ED234 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (20 samples, 0.14%)`0x7FFB776E5FE6 (20 samples, 0.14%)`0x7FFB776E6579 (19 samples, 0.14%)`0x7FFB799EDAB4 (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::or_else(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::meta_predicate_property (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::allocate (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_and_frame_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_and_frame (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::install_new_block (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::Fixnum::build_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::is(enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::pop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::allocate_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$11::clone_from(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>*, alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::slice::impl$8::clone_into(ref$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> > > >, alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::extend_from_slice(ref$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>*, core::slice::iter::Iter<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::push_subterm(scryer_prolog::forms::Level, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<scryer_prolog::iterators::TermIterState>::subterm_to_state(scryer_prolog::forms::Level, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::Bucket<usize>::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::mut_ptr::impl$0::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$13::clone_from_spec(hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>*, hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::clone_from_impl(hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (39 samples, 0.28%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list_result (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::build_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::finalize_skip_max_list (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arithmetic::impl$14::try_from (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_name_and_arity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_arity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$17::push_bits(modular_bitfield::private::push_pop::PushBuffer (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor_unify_components (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify_atom (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$4::index (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_top_level (252 samples, 1.82%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (252 samples, 1.82%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (252 samples, 1.82%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (252 samples, 1.82%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (252 samples, 1.82%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::Declaration>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::setup_declaration<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB799727D9 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::debray_allocator::DebrayAllocator> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::debray_allocator::BranchOccurrences,alloc::alloc::Global>::as_mut_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::debray_allocator::BranchOccurrences,alloc::alloc::Global>::ptr (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB799F721F (2 samples, 0.01%)`0x7FFB79970F76 (2 samples, 0.01%)`0x7FFB799544AF (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB79975B74 (2 samples, 0.01%)`0x7FFB799765F6 (2 samples, 0.01%)`0x7FFB7996E412 (2 samples, 0.01%)`0x7FFB7996F35E (2 samples, 0.01%)`0x7FFB7997095C (2 samples, 0.01%)`0x7FFB79959B1A (2 samples, 0.01%)`0x7FFB799ED3D4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$2::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(bit_set::BitSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(bit_vec::BitVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::variable_records::VarAlloc> >(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_front(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971C3D (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::BranchCodeStack::pop_branch (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<alloc::vec::into_iter::IntoIter<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::into_iter::impl$5::next(alloc::vec::into_iter::IntoIter<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB79971BF2 (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::iterators::TermIterState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$2::next (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::FactInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_reserved_var(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (39 samples, 0.28%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (39 samples, 0.28%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::get_or_insert_local_code_index<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::atom_table::Atom, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module>::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::ProbeSeq::move_next (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB799F6F6A (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::BranchInfo> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<scryer_prolog::machine::disjuncts::ChunkInfo> >(ptr_mut$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::extend_trusted(core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchNumber::incr_by_delta (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::rbig::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::repr::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ibig::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$1::add (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_in_situ_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::hash<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState,scryer_prolog::machine::disjuncts::BranchNumber> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$3::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$4::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<scryer_prolog::machine::disjuncts::BranchNumber,std::collections::hash::map::RandomState>::contains (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::contains_key (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::bitmask::impl$2::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::bitmask::BitMask::remove_lowest_bit (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,scryer_prolog::machine::disjuncts::BranchNumber> >(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::equivalent::impl$0::equivalent (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$1::eq (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$2::eq (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ibig::impl$6::eq (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::impl$5::eq (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::tuple::impl$9::eq(tuple$<dashu_base::sign::Sign,ref$<slice2$<u64> > >*, tuple$<dashu_base::sign::Sign,ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (44 samples, 0.32%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (44 samples, 0.32%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::get_meta_specs (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::get_or_insert_local_code_index<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::atom_table::Atom, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module>::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::ProbeSeq::move_next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::entry<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (5 samples, 0.04%)`0x7FFB7995A364 (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (8 samples, 0.06%)`0x7FFB7997B3C7 (8 samples, 0.06%)`0x7FFB7997BF5E (7 samples, 0.05%)`0x7FFB7995A36F (4 samples, 0.03%)`0x7FFB7995A4EB (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (3 samples, 0.02%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::reserve_entries (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (4 samples, 0.03%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchInfo::new (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$13::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::rbig::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::repr::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ubig::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::insert_full<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::push(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::reserve_for_push<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::insert_full<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::push(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::reserve_entries (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::grow_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::VarPtr::set(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::RefMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$42::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::get (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::TempVarData::populate_conflict_set (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::collect(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$2::from_iter(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$3::extend(bit_set::BitSet<usize>*, core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB7997B3C7 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (3 samples, 0.02%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::extend_trusted(alloc::vec::drain::Drain (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$11::sub_assign (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$5::sub (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (137 samples, 0.99%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (137 samples, 0.99%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (185 samples, 1.34%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (185 samples, 1.34%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (138 samples, 1.00%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (138 samples, 1.00%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (138 samples, 1.00%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (138 samples, 1.00%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (186 samples, 1.34%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (186 samples, 1.34%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)`0x7FFB7997B3C7 (7 samples, 0.05%)`0x7FFB7997BF5E (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::or_else(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB799736BD (4 samples, 0.03%)`0x7FFB799738E3 (4 samples, 0.03%)`0x7FFB79971C3D (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::parser::lexer::Token>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<scryer_prolog::atom_table::InnerAtomTable>::active_epoch<scryer_prolog::atom_table::InnerAtomTable> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::once::OnceCell<alloc::sync::Arc<core::sync::atomic::AtomicU8> > >::with(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::once::OnceCell<alloc::sync::Arc<core::sync::atomic::AtomicU8> > >::try_with(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$1::active_epoch::closure$0(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0<scryer_prolog::atom_table::InnerAtomTable>, core::cell::once::OnceCell<alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (255 samples, 1.84%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (39 samples, 0.28%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::or_else(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::use_module<scryer_prolog::machine::loader::BootstrappingLoadState>(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (285 samples, 2.06%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (285 samples, 2.06%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$11::evacuate(scryer_prolog::machine::loader::Loader (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::compile::bootstrapping_compile(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::Machine*, enum2$ (293 samples, 2.11%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (762 samples, 5.50%)scryer-..scryer-7e5e7ddde7310dd8.exe`serial_test::rwlock::impl$0::drop (762 samples, 5.50%)scryer-..scryer-7e5e7ddde7310dd8.exe`parking_lot::condvar::Condvar::notify_one (762 samples, 5.50%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::AtomicPtr<parking_lot::raw_mutex::RawMutex>::load (762 samples, 5.50%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::atomic_load (762 samples, 5.50%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer::helper::load_module_test<ref$<str$> >(ref$<str$>, ref$ (762 samples, 5.50%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::with_test_streams (739 samples, 5.33%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer::src_tests::facts::closure_env$0,tuple$<> > (763 samples, 5.51%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer::src_tests::facts::closure$0 (763 samples, 5.51%)scryer-..scryer-7e5e7ddde7310dd8.exe`test::assert_test_result(tuple$ (763 samples, 5.51%)scryer-..scryer-7e5e7ddde7310dd8.exe`serial_test::serial_code_lock::local_serial_core(ref$<str$>, void (*) (763 samples, 5.51%)scryer-..scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (2 samples, 0.01%)`0x7FFB799727D9 (2 samples, 0.01%)`0x7FFB799F4053 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (37 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (37 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (2 samples, 0.01%)`0x7FFB776E6579 (18 samples, 0.13%)`0x7FFB799EDAB4 (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (56 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (56 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (56 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (56 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (19 samples, 0.14%)`0x7FFB776E5FE6 (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::meta_predicate_property (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::truncate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::stream_property (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_and_frame_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_and_frame (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::eq_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<core::cmp::Ordering> >::map(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_list (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::expand_comma_compacted_terms<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,tuple$<> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<usize,tuple$<> >,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,tuple$<> >,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$11::deref_mut(scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::streams::StreamLayout (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::skip_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::consume(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<tuple$<usize,usize>,alloc::alloc::Global>::push_back(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<tuple$<usize,usize>,alloc::alloc::Global>::grow<tuple$<usize,usize>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<tuple$<usize,usize>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,tuple$<> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<usize,tuple$<> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,tuple$<> >,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7995A36F (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_slice (237 samples, 1.71%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (237 samples, 1.71%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_ptr (237 samples, 1.71%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::ptr (237 samples, 1.71%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::test_load_file(ref$ (237 samples, 1.71%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (236 samples, 1.70%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (236 samples, 1.70%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::raw_block::RawBlock (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::raw_block::impl$1::drop(scryer_prolog::raw_block::RawBlock (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$41::drop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::Machine> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_goal_expansion_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_goal_expansion_clause::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::incremental_compile_clause<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::expect (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::num::imp::impl$7::fmt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_clause_clause_if_dynamic(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::devour_whitespace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::parser::Parser<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::select_switch_on_structure_index(scryer_prolog::types::HeapCellValue, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$2::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::cloned(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::or_else(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (12 samples, 0.09%)`0x7FFB776E6579 (19 samples, 0.14%)`0x7FFB799EDAB4 (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (47 samples, 0.34%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (47 samples, 0.34%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (47 samples, 0.34%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (47 samples, 0.34%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (21 samples, 0.15%)`0x7FFB776E5FE6 (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_execute (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::deref_register (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::get_single_quoted_item (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<char,enum2$<scryer_prolog::parser::ast::ParserError> > >::map(enum2$<core::result::Result<char,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<core::option::Option<char> > (*) (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list_result (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_name_and_arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$17::push_bits(modular_bitfield::private::push_pop::PushBuffer (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor_unify_components (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (174 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (174 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (174 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (174 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (3 samples, 0.02%)`0x7FFB776E5FE6 (3 samples, 0.02%)`0x7FFB776E6579 (3 samples, 0.02%)`0x7FFB799EDAB4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_special_forms (191 samples, 1.38%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::current_dir (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_in_situ_filename_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_in_situ_filename_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::expect (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::num::imp::impl$7::fmt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::impl$0::write_str<alloc::string::String> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$67::write_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::extend_from_slice (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::append_elements (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<u8,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global>(enum2$<core::result::Result<core::alloc::layout::Layout,core::alloc::layout::LayoutError> >, enum2$<core::option::Option<tuple$<core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >::map_err(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >, alloc::raw_vec::finish_grow::closure_env$1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_clause_clause_if_dynamic(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::forms::PredicateSkeleton> > >::map(enum2$<core::option::Option<ref$<scryer_prolog::forms::PredicateSkeleton> > >, scryer_prolog::machine::loader::impl$15::add_clause_clause_if_dynamic::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_skeleton(enum2$<scryer_prolog::machine::loader::CompilationTarget>*, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (3 samples, 0.02%)`0x7FFB776E5FE6 (3 samples, 0.02%)`0x7FFB776E6579 (3 samples, 0.02%)`0x7FFB799EDAB4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$120::hash<fxhash::FxHasher>(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$2::hash(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::Hasher::write_str(fxhash::FxHasher*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$1::write(fxhash::FxHasher*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::write(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::write64(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,enum2$<scryer_prolog::parser::ast::Literal> >(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::fast_call (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$2::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::QueryIterator::new(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::QueryIterator::extend_state(scryer_prolog::forms::Level, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB799F6F6A (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::cloned(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (32 samples, 0.23%)`0x7FFB776E6785 (4 samples, 0.03%)`0x7FFB799ED1F4 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (19 samples, 0.14%)`0x7FFB776E5FE6 (19 samples, 0.14%)`0x7FFB776E6579 (19 samples, 0.14%)`0x7FFB799EDAB4 (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (59 samples, 0.43%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (59 samples, 0.43%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (59 samples, 0.43%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (59 samples, 0.43%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_compiled_library (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::load_compiled_library::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_module<scryer_prolog::machine::loader::LiveLoadAndMachineState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports_into_module<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::or_else(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::meta_predicate_property (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_call (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_or_frame_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_or_frame (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$3::next(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$2::spec_next(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::allocate (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_and_frame_mut (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_and_frame (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insertion_sort_shift_left<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::slice::impl$0::sort_by::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$1> >(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, unsigned long long, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insert_tail(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::mem::drop(std::sync::mutex::MutexGuard<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(std::sync::mutex::MutexGuard<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sync::mutex::impl$12::drop(std::sync::mutex::MutexGuard<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sync::poison::Flag::done (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >::replace<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >(indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::number_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$4::index (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_s (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_top_level (258 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (258 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (258 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (258 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (258 samples, 1.86%)s..`0x7FFB79972615 (2 samples, 0.01%)`0x7FFB7997B44D (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB799736BD (4 samples, 0.03%)`0x7FFB799738E3 (4 samples, 0.03%)`0x7FFB799727D9 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$18::extend(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::BranchCodeStack::pop_branch (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::DebrayAllocator::alloc_perm_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::QueryInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_reserved_var(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$2::next (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::iterators::TermIterState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::as_ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::reset_at_head(scryer_prolog::debray_allocator::DebrayAllocator*, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,usize,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,usize,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,usize>::insert_full<usize,usize> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,usize>::push (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,usize>,alloc::alloc::Global>::push(indexmap::Bucket (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,usize>,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (46 samples, 0.33%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (46 samples, 0.33%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (37 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::from_rule_head_clause(alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::get_or_insert_local_code_index<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::atom_table::Atom, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_mut (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module>::get_index_of (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::ProbeSeq::move_next (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex>::insert<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex>(indexmap::map::core::VacantEntry<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<scryer_prolog::machine::disjuncts::ChunkInfo> >(ptr_mut$<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (4 samples, 0.03%)`0x7FFB799747B1 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::BranchInfo> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::extend_trusted(core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchNumber::split (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::div::impl$7::div (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::forms::ChunkedTermVec::push_chunk_term(enum2$ (2 samples, 0.01%)`0x7FFB7997592A (2 samples, 0.01%)`0x7FFB799747B1 (3 samples, 0.02%)`0x7FFB7995A364 (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::impl$86::finish (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$4::finish (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$5::finish(core::hash::sip::Hasher (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (37 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (37 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (9 samples, 0.06%)`0x7FFB7997B3C7 (9 samples, 0.06%)`0x7FFB7997BF5E (6 samples, 0.04%)`0x7FFB7995A36F (5 samples, 0.04%)`0x7FFB7995A4EB (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::reserve_entries (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchInfo::new (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB799F3FA2 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::reserve_for_push<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::grow_amortized (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (6 samples, 0.04%)`0x7FFB799736BD (6 samples, 0.04%)`0x7FFB799738E3 (6 samples, 0.04%)`0x7FFB79971C3D (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$10::deref_mut(alloc::vec::Vec (3 samples, 0.02%)`0x7FFB6E1B1491 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::insert_full<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::push(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::reserve_entries (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::grow_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB7997B3C7 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::VarPtr::set(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::RefMut<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$42::drop (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::get (5 samples, 0.04%)`0x7FFB799747B1 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (4 samples, 0.03%)`0x7FFB7997B3C7 (4 samples, 0.03%)`0x7FFB7997BEDA (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::push(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::push(indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::TempVarData::populate_conflict_set (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::collect(core::ops::range::Range (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$2::from_iter(core::ops::range::Range (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$3::extend(bit_set::BitSet<usize>*, core::ops::range::Range (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::iter::adapters::rev::Rev<core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::rev::impl$1::next(core::iter::adapters::rev::Rev<core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$182::next_back(core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::Iter<scryer_prolog::machine::disjuncts::BranchInfo>::pre_dec_end (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::sub (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::offset (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$6::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (4 samples, 0.03%)`0x7FFB799747B1 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`dashu_int::add_ops::impl$16::sub (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::impl$3::gcd (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$11::sub_assign (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$5::sub (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::impl$0::div (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (193 samples, 1.39%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (193 samples, 1.39%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (193 samples, 1.39%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (193 samples, 1.39%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (134 samples, 0.97%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (134 samples, 0.97%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (134 samples, 0.97%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (133 samples, 0.96%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (133 samples, 0.96%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (133 samples, 0.96%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::push_binary_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::pop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::parser::lexer::Token>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::skip_char (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::consume(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`phf_shared::get_index(phf_shared::Hashes*, ref$<slice2$<tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`phf_shared::displace (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::num::wrapping::impl$244::mul(core::num::wrapping::Wrapping<u32>, core::num::wrapping::Wrapping (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::num::impl$8::wrapping_mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::atom_table::Atom> > >::cloned(enum2$<core::option::Option<ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get<ref$<str$>,scryer_prolog::atom_table::Atom,str$>(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get_entry(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$<> >::get_index_of<scryer_prolog::atom_table::Atom,tuple$<>,str$>(indexmap::HashValue, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$2::equivalent(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::get_single_quoted_item (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (255 samples, 1.84%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (62 samples, 0.45%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (62 samples, 0.45%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (62 samples, 0.45%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (38 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::BootstrappingLoadState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex> >::or_insert_with(enum2$<indexmap::map::core::Entry<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex> >, scryer_prolog::machine::load_state::import_module_exports::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex>::insert<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex>(indexmap::map::core::VacantEntry<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex>::push(indexmap::HashValue, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::use_module<scryer_prolog::machine::loader::BootstrappingLoadState>(enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$11::evacuate(scryer_prolog::machine::loader::Loader (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (285 samples, 2.06%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (285 samples, 2.06%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$11::evacuate(scryer_prolog::machine::loader::Loader (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::compile::bootstrapping_compile(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::Machine*, enum2$ (293 samples, 2.11%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (990 samples, 7.15%)scryer-7e5..scryer-7e5e7ddde7310dd8.exe`serial_test::rwlock::impl$0::drop (990 samples, 7.15%)scryer-7e5..scryer-7e5e7ddde7310dd8.exe`parking_lot::condvar::Condvar::notify_one (990 samples, 7.15%)scryer-7e5..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::AtomicPtr<parking_lot::raw_mutex::RawMutex>::load (990 samples, 7.15%)scryer-7e5..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::atomic_load (990 samples, 7.15%)scryer-7e5..scryer-7e5e7ddde7310dd8.exe`scryer::helper::load_module_test<ref$<str$> >(ref$<str$>, ref$ (990 samples, 7.15%)scryer-7e5..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::with_test_streams (746 samples, 5.38%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer::src_tests::hello_world::closure_env$0,tuple$<> > (991 samples, 7.15%)scryer-7e5..scryer-7e5e7ddde7310dd8.exe`scryer::src_tests::hello_world::closure$0 (991 samples, 7.15%)scryer-7e5..scryer-7e5e7ddde7310dd8.exe`test::assert_test_result(tuple$ (991 samples, 7.15%)scryer-7e5..scryer-7e5e7ddde7310dd8.exe`serial_test::serial_code_lock::local_serial_core(ref$<str$>, void (*) (991 samples, 7.15%)scryer-7e5..scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<alloc::string::String,std::io::error::Error> >::unwrap(enum2$<core::result::Result (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::read_to_string::inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB799727D9 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$14::index_mut(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$1::index_mut(ref_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index_mut(unsigned long long, ref_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer_prolog::machine::system_calls::impl$2::remove_call_policy_check::closure_env$0,tuple$<ref_mut$<scryer_prolog::machine::machine_state::MachineState> > > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::system_calls::impl$2::remove_call_policy_check::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::atom_chars (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_name_and_arity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_complete_string<scryer_prolog::machine::unify::DefaultUnifier> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$10::deref (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_partial_string<scryer_prolog::machine::unify::DefaultUnifier> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::partial_string::compare_pstr_prefixes (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::partial_string::PartialString::as_str_from (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<scryer_prolog::atom_table::AtomString>::map(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::expect (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::num::imp::impl$7::fmt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::impl$0::write_str<alloc::string::String> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$67::write_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::extend_from_slice (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::append_elements (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<u8,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global>(enum2$<core::result::Result<core::alloc::layout::Layout,core::alloc::layout::LayoutError> >, enum2$<core::option::Option<tuple$<core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$14::index_mut(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$1::index_mut(ref_mut$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index_mut(unsigned long long, ref_mut$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::read_cell_mut (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::close (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<scryer_prolog::machine::streams::Stream>::close (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$23::drop (2 samples, 0.01%)`0x7FFB776E6785 (2 samples, 0.01%)`0x7FFB799ED1F4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::impl$5::from (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::UntypedArenaPtr::build_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::UntypedArenaPtr::with_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::UntypedArenaPtr::set_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::UntypedArenaPtr::set_ptr_checked (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::specifiers::impl$180::into_bytes (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::get_or_insert_qualified_code_index(scryer_prolog::types::HeapCellValue, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::machine::loader::Loader (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::InlineLoadState>::get_or_insert_local_code_index<scryer_prolog::machine::loader::InlineLoadState>(scryer_prolog::atom_table::Atom, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::variable_set<core::hash::BuildHasherDefault<fxhash::FxHasher> >(indexmap::set::IndexSet<scryer_prolog::types::HeapCellValue,core::hash::BuildHasherDefault (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::compile_inline_or_expanded_goal (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::variable_set<core::hash::BuildHasherDefault<fxhash::FxHasher> >(indexmap::set::IndexSet<scryer_prolog::types::HeapCellValue,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::is_dynamic_undefined (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::set_code_index(scryer_prolog::machine::loader::RetractionInfo*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::RetractionInfo::push_record(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::machine::loader::RetractionRecord>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::machine::loader::RetractionRecord>,alloc::alloc::Global>::reserve_for_push<enum2$<scryer_prolog::machine::loader::RetractionRecord>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::machine::loader::RetractionRecord>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$181::next(core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$2::hash(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::Hasher::write_str(fxhash::FxHasher*, ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$1::write(fxhash::FxHasher*, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`fxhash::write(unsigned long long, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`fxhash::write64(unsigned long long, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$120::hash<fxhash::FxHasher>(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr> >,alloc::alloc::Global>::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr> >,alloc::alloc::Global>::ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::equivalent::impl$0::equivalent<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::parser::ast::Literal> >(enum2$<scryer_prolog::parser::ast::Literal>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,enum2$<scryer_prolog::parser::ast::Literal> >(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr> >::get_index_of(indexmap::HashValue, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::select_switch_on_structure_index(scryer_prolog::types::HeapCellValue, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::RcuRef<scryer_prolog::atom_table::InnerAtomTable,u8>::try_map(scryer_prolog::rcu::RcuRef (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::rcu::RcuRef (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$27::drop(alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::forms::Module> > >::and_then(enum2$<core::option::Option<ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::impl$10::get_predicate_code_index::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::machine::machine_indices::CodeIndex> > >::cloned(enum2$<core::option::Option<ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex>::get_index_of(indexmap::HashValue, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::likely (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::or_else(enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >, scryer_prolog::machine::system_calls::impl$2::fast_call::closure_env$1 (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::system_calls::impl$2::fast_call::closure$1(scryer_prolog::machine::system_calls::impl$2::fast_call::closure_env$1 (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::fast_call (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::file_exists (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::exists(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<std::sys::windows::fs::FileAttr,std::io::error::Error> >::map(enum2$<core::result::Result<std::sys::windows::fs::FileAttr,std::io::error::Error> >, std::fs::Metadata (*) (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)`0x7FFB799727D9 (2 samples, 0.01%)`0x7FFB799F4053 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$2::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::from_rule_head_clause(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::get_or_insert_local_code_index<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::atom_table::Atom, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_mut (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::extend_trusted(core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::for_each(core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$<scryer_prolog::parser::ast::Term>)>, alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global,core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::map::impl$2::fold(core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$<scryer_prolog::parser::ast::Term>)>, tuple$<>, core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global,core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::chain::impl$1::fold<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> >,tuple$<>,core::iter::adapters::map::map_fold::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::machine::disjuncts::TraversalState>,tuple$<>,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$<scryer_prolog::parser::ast::Term>),core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global,core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$<scryer_prolog::parser::ast::Term>)> > > > >(core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >, tuple$<>, core::iter::adapters::map::map_fold::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::machine::disjuncts::TraversalState>,tuple$<>,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$<scryer_prolog::parser::ast::Term>),core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global,core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::rev::impl$1::fold<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>,tuple$<>,ref_mut$<core::iter::adapters::map::map_fold::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::machine::disjuncts::TraversalState>,tuple$<>,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$<scryer_prolog::parser::ast::Term>),core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global,core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$<scryer_prolog::parser::ast::Term>)> > > > > >(core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >, tuple$<>, core::iter::adapters::map::map_fold::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::machine::disjuncts::TraversalState>,tuple$<>,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$<scryer_prolog::parser::ast::Term>),core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global,core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::cloned(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::reserve_for_push<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (56 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (56 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$10::err_on_builtin_overwrite(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::impl$0::contains(ref$<slice2$<enum2$<scryer_prolog::forms::ModuleExport> > >, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$10::slice_contains(enum2$<scryer_prolog::forms::ModuleExport>*, ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$181::any(core::slice::iter::Iter<enum2$<scryer_prolog::forms::ModuleExport> >*, core::slice::cmp::impl$10::slice_contains::closure_env$0<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$10::slice_contains::closure$0(core::slice::cmp::impl$10::slice_contains::closure_env$0<enum2$<scryer_prolog::forms::ModuleExport> >*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::forms::impl$100::eq(enum2$<scryer_prolog::forms::ModuleExport>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (2 samples, 0.01%)`0x7FFB776E6785 (24 samples, 0.17%)`0x7FFB799ED1F4 (24 samples, 0.17%)`0x7FFB776B79C6 (11 samples, 0.08%)`0x7FFB799ED934 (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$23::drop (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::file_attr (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (27 samples, 0.19%)`0x7FFB776B7A04 (16 samples, 0.12%)`0x7FFB799ED234 (16 samples, 0.12%)`0x7FFB776E6579 (63 samples, 0.45%)`0x7FFB799EDAB4 (63 samples, 0.45%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (64 samples, 0.46%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (64 samples, 0.46%)`0x7FFB776E5FE6 (64 samples, 0.46%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (180 samples, 1.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (180 samples, 1.30%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (180 samples, 1.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (180 samples, 1.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (124 samples, 0.90%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (121 samples, 0.87%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (121 samples, 0.87%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (121 samples, 0.87%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (121 samples, 0.87%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (121 samples, 0.87%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (69 samples, 0.50%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::path::maybe_verbatim (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::to_u16s::inner (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::unrolled_find_u16s (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::get_ball (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::deref_register (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::http_open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::indexed_try (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_inner_applicable_clause (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_compiled_library (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::load_compiled_library::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_module<scryer_prolog::machine::loader::LiveLoadAndMachineState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports_into_module<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::or_else(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::waker (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::unpark (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::with_current (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<tokio::runtime::park::ParkThread>::try_with(tokio::runtime::park::impl$4::with_current::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::meta_predicate_property (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::open (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::streams::Stream>,alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::stream_from_file_spec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (5 samples, 0.04%)`0x7FFB776E5FE6 (5 samples, 0.04%)`0x7FFB776E6579 (5 samples, 0.04%)`0x7FFB799EDAB4 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<tokio::runtime::context::blocking::BlockingRegionGuard> >::expect(enum2$<core::option::Option<tokio::runtime::context::blocking::BlockingRegionGuard> >, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::context::blocking::try_enter_blocking_region (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<scryer_prolog::parser::char_reader::CharReader<scryer_prolog::machine::streams::ByteStream> >::shift_token(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::read_from_chars (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::read_term_and_write_to_heap(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<scryer_prolog::parser::char_reader::CharReader<scryer_prolog::machine::streams::ByteStream> >::read_term<scryer_prolog::parser::char_reader::CharReader<scryer_prolog::machine::streams::ByteStream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::read_term (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::streams::Stream>,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::get_stream_or_alias(scryer_prolog::types::HeapCellValue, indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,enum2$<scryer_prolog::machine::streams::Stream>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::reset_block (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::deref_register (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::truncate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unwind_trail (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::stream_property (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unwind_trail (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::TrailEntry::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::TrailEntry::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::impl$126::from_bytes (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_call (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_execute (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<enum2$<scryer_prolog::instructions::IndexingCodePtr> > > >::cloned(enum2$<core::option::Option<ref$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,enum2$<scryer_prolog::parser::ast::Literal> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr> >::get_index_of(indexmap::HashValue, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::deref_register (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::constant_to_literal (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$3::next(core::ops::range::Range (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$2::spec_next(core::ops::range::Range (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$54::lt (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_or_frame_mut (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_or_frame (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::write_term_to_chars (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$38::deref (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_print::HCPrinter<scryer_prolog::heap_print::PrinterOutputter>::print<scryer_prolog::heap_print::PrinterOutputter>(scryer_prolog::heap_print::HCPrinter (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_print::HCPrinter<scryer_prolog::heap_print::PrinterOutputter>::handle_heap_term<scryer_prolog::heap_print::PrinterOutputter>(enum2$<core::option::Option<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::CodeIndex::get (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::builtin_property(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$3::next(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$2::spec_next(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$54::lt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::allocate (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_and_frame_mut (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_and_frame (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify_atom (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deallocate (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<usize,usize>,std::collections::hash::map::RandomState>::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<usize,usize>,tuple$<>,std::collections::hash::map::RandomState>::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<usize,usize>,tuple$<>,std::collections::hash::map::RandomState>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::impl$87::default (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::RandomState::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::Cell<tuple$<u64,u64> > >::with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::Cell<tuple$<u64,u64> > >::try_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::impl$82::new::KEYS::__getit(enum2$<core::option::Option<ref_mut$<enum2$<core::option::Option<core::cell::Cell<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::common::thread_local::fast_local::Key<core::cell::Cell<tuple$<u64,u64> > >::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::eq_test (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<core::cmp::Ordering> >::map(enum2$<core::option::Option (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::get_number(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::is(enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::buf (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<scryer_prolog::atom_table::InnerAtomTable>::active_epoch<scryer_prolog::atom_table::InnerAtomTable> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::once::OnceCell<alloc::sync::Arc<core::sync::atomic::AtomicU8> > >::with(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::once::OnceCell<alloc::sync::Arc<core::sync::atomic::AtomicU8> > >::try_with(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$1::active_epoch::closure$0(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0<scryer_prolog::atom_table::InnerAtomTable>, core::cell::once::OnceCell<alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insertion_sort_shift_left<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::slice::impl$0::sort_by::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$1> >(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, unsigned long long, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insert_tail(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::heap::filtered_iter_to_heap_list<scryer_prolog::types::HeapCellValue,core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::alloc::Global>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$2>,scryer_prolog::machine::heap::iter_to_heap_list::closure_env$0<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::alloc::Global>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$2>,scryer_prolog::types::HeapCellValue> >(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::alloc::Global>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$2>, scryer_prolog::machine::heap::iter_to_heap_list::closure_env$0<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$11::deref_mut(scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::streams::StreamLayout (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$4::index(ref$<str$>, core::ops::range::RangeFrom (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$9::index(core::ops::range::RangeFrom<usize>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$9::get(core::ops::range::RangeFrom<usize>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::impl$0::is_char_boundary(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::num::impl$6::is_utf8_char_boundary (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997B8A4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::drop(std::sync::mutex::MutexGuard<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(std::sync::mutex::MutexGuard<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sync::mutex::impl$12::drop(std::sync::mutex::MutexGuard<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sync::poison::Flag::done (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >::replace<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >(indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::drop(alloc::sync::Weak<indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::sync::Weak<indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$34::drop(alloc::sync::Weak<indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Weak<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >::inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::is_dangling(alloc::sync::ArcInner<indexmap::set::IndexSet (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB79975D6F (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::rcu::RcuRef (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::sync::Arc (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$27::drop(alloc::sync::Arc (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc<scryer_prolog::atom_table::InnerAtomTable>::inner (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::non_null::NonNull<alloc::sync::ArcInner<scryer_prolog::atom_table::InnerAtomTable> >::as_ref (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >::drop_slow<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> > (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::set::IndexSet (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)`0x7FFB799747B1 (3 samples, 0.02%)`0x7FFB79975B74 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$11::clone_from(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>*, alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::slice::impl$8::clone_into(ref$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> > > >, alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::extend_from_slice(ref$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>*, core::slice::iter::Iter<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)`0x7FFB7997DFFA (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (5 samples, 0.04%)`0x7FFB7997B44D (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$13::clone_from_spec(hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>*, hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::clone_from_impl(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::Bucket<usize>::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::mut_ptr::impl$0::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (55 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (55 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (43 samples, 0.31%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<tuple$<usize,usize>,alloc::alloc::Global>::push_back(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<tuple$<usize,usize>,alloc::alloc::Global>::grow<tuple$<usize,usize>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$13::clone_from_spec(hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>*, hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::clone_from_impl(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::Bucket<usize>::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::mut_ptr::impl$0::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::build_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::with_val (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::set_val (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::set_val_checked (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::specifiers::impl$165::into_bytes (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::heap::filtered_iter_to_heap_list<scryer_prolog::types::HeapCellValue,alloc::vec::into_iter::IntoIter<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>,scryer_prolog::machine::heap::iter_to_heap_list::closure_env$0<alloc::vec::into_iter::IntoIter<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>,scryer_prolog::types::HeapCellValue> >(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>, scryer_prolog::machine::heap::iter_to_heap_list::closure_env$0<alloc::vec::into_iter::IntoIter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (82 samples, 0.59%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::system_calls::BrentAlgState::detect_cycles(ref$<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::system_calls::BrentAlgState::cycle_step(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list_result (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::build_with (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::finalize_skip_max_list (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$1::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_value (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::val (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::val_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$23::push_bits(modular_bitfield::private::push_pop::PushBuffer (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arithmetic::impl$14::try_from (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::get_index_of(indexmap::HashValue, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$1::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_name_and_arity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_arity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity_or_err (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$17::push_bits(modular_bitfield::private::push_pop::PushBuffer (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor_unify_components (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (6 samples, 0.04%)`0x7FFB799747B1 (5 samples, 0.04%)`0x7FFB799F706A (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::alloc::__default_lib_allocator::__rdl_alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::alloc::impl$0::alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::alloc::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::alloc::init_or_get_process_heap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB7997B3C7 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_structure<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$1::bind (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify_atom (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$4::index (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_s (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::build_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_slice (803 samples, 5.80%)scryer-..scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (803 samples, 5.80%)scryer-..scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_ptr (803 samples, 5.80%)scryer-..scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::ptr (803 samples, 5.80%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::test_load_file(ref$ (803 samples, 5.80%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (801 samples, 5.78%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (801 samples, 5.78%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::raw_block::RawBlock (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::raw_block::impl$1::drop(scryer_prolog::raw_block::RawBlock (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$41::drop (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::drop_slab_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::machine::term_stream::LoadStatePayload (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::Machine> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_extensible_predicate_declaration<scryer_prolog::machine::loader::impl$18::add_dynamic_predicate::closure_env$0> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure$0(scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<usize,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_extensible_predicate_declaration<scryer_prolog::machine::loader::LiveLoadAndMachineState,scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>,enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize>)>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, scryer_prolog::atom_table::Atom, unsigned long long, scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_goal_expansion_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_goal_expansion_clause::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::incremental_compile_clause<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_in_situ_filename_module (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_in_situ_filename_module::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::variable_set<core::hash::BuildHasherDefault<fxhash::FxHasher> >(indexmap::set::IndexSet<scryer_prolog::types::HeapCellValue,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::compile_inline_or_expanded_goal (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::variable_set<core::hash::BuildHasherDefault<fxhash::FxHasher> >(indexmap::set::IndexSet<scryer_prolog::types::HeapCellValue,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<indexmap::set::IndexSet<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::extract_module_export_list_from_heap<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::devour_whitespace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::build_meta_predicate_clause<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::reserve_for_push<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (23 samples, 0.17%)`0x7FFB776E5FE6 (23 samples, 0.17%)`0x7FFB776E6579 (22 samples, 0.16%)`0x7FFB799EDAB4 (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (55 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (55 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (55 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (55 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::truncate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unwind_trail (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::eq_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<core::cmp::Ordering> >::map(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::atom_table::Atom> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get<ref$<str$>,scryer_prolog::atom_table::Atom,str$>(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get_entry(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`phf_shared::impl$6::borrow(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$<> >::get_index_of<scryer_prolog::atom_table::Atom,tuple$<>,str$>(indexmap::HashValue, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$2::equivalent(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$13::clone_from_spec(hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>*, hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::clone_from_impl(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::Bucket<usize>::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::mut_ptr::impl$0::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB79971BF2 (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter::Filter<indexmap::map::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_name_and_arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$17::push_bits(modular_bitfield::private::push_pop::PushBuffer (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor_unify_components (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$1::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_s (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (193 samples, 1.39%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (193 samples, 1.39%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (193 samples, 1.39%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (193 samples, 1.39%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (4 samples, 0.03%)`0x7FFB776E5FE6 (4 samples, 0.03%)`0x7FFB776E6579 (3 samples, 0.02%)`0x7FFB799EDAB4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_special_forms (215 samples, 1.55%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::current_dir (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_in_situ_filename_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_in_situ_filename_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::expect (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::impl$0::write_str<alloc::string::String> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$67::write_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::extend_from_slice (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::append_elements (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex> >::or_insert_with(enum2$<indexmap::map::core::Entry<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex> >, scryer_prolog::machine::load_state::import_module_exports::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::devour_whitespace (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::parser::Parser<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::single_line_comment (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,enum2$<scryer_prolog::parser::ast::Literal> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::select_switch_on_structure_index(scryer_prolog::types::HeapCellValue, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$2::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_fact(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (33 samples, 0.24%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (33 samples, 0.24%)`0x7FFB776E6785 (6 samples, 0.04%)`0x7FFB799ED1F4 (6 samples, 0.04%)`0x7FFB776B79C6 (3 samples, 0.02%)`0x7FFB799ED934 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$23::drop (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::file_attr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (31 samples, 0.22%)`0x7FFB776E5FE6 (31 samples, 0.22%)`0x7FFB776E6579 (30 samples, 0.22%)`0x7FFB799EDAB4 (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (75 samples, 0.54%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (75 samples, 0.54%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (75 samples, 0.54%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (75 samples, 0.54%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::indexed_try (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unwind_trail (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::stream_property (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::allocate (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_and_frame_mut (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_and_frame (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$3::next(core::ops::range::Range (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$2::spec_next(core::ops::range::Range (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$54::lt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::eq_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<core::cmp::Ordering> >::map(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::get_number(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insertion_sort_shift_left<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::slice::impl$0::sort_by::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$1> >(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, unsigned long long, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insert_tail(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$0::cmp(ref$<str$>, ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$2::cmp(ref$<slice2$<u8> >, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$9::compare(ref$<slice2$<u8> >, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> > >(scryer_prolog::parser::parser::Parser<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<enum2$<scryer_prolog::parser::ast::Literal>,alloc::collections::vec_deque::VecDeque<usize,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$<> >::get_index_of<scryer_prolog::atom_table::Atom,tuple$<>,str$>(indexmap::HashValue, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::sse2::Group::match_byte (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::core_arch::x86::sse2::_mm_movemask_epi8 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (43 samples, 0.31%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (4 samples, 0.03%)`0x7FFB79975BA1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (4 samples, 0.03%)`0x7FFB799747B1 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_top_level (268 samples, 1.93%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (268 samples, 1.93%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (268 samples, 1.93%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (268 samples, 1.93%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (268 samples, 1.93%)s..`0x7FFB6E1B14F7 (2 samples, 0.01%)`0x7FFB799F4053 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB799727D9 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::debray_allocator::BranchOccurrences,alloc::alloc::Global>::as_mut_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::debray_allocator::BranchOccurrences,alloc::alloc::Global>::ptr (3 samples, 0.02%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::debray_allocator::DebrayAllocator> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::variable_records::VarAlloc> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(bit_set::BitSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(bit_vec::BitVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB79971BF2 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB799736BD (5 samples, 0.04%)`0x7FFB799738E3 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::BranchCodeStack::pop_branch (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<alloc::vec::into_iter::IntoIter<alloc::collections::vec_deque::VecDeque<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::into_iter::impl$5::next(alloc::vec::into_iter::IntoIter<alloc::collections::vec_deque::VecDeque<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::write_iter_wrapping(unsigned long long, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$3::write_iter_wrapping::Guard<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$3::write_iter_wrapping::impl$0::drop(alloc::collections::vec_deque::impl$3::write_iter_wrapping::Guard<enum2$ (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::QueryInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_reserved_var(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::add_call(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::FactInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_reserved_var(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (36 samples, 0.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::from_rule_head_clause(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::collect(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$14::from_iter(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_from_iter::impl$0::spec_from_iter(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$15::from_iter(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$21::from(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::into_raw_parts_with_alloc(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::manually_drop::ManuallyDrop<alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global> >::new(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::iterators::TermIterState>,core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$<scryer_prolog::parser::ast::Term> >,scryer_prolog::iterators::impl$3::from_rule_head_clause::closure_env$0> >(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (39 samples, 0.28%)`0x7FFB799747B1 (3 samples, 0.02%)`0x7FFB799F721F (2 samples, 0.01%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (4 samples, 0.03%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<scryer_prolog::machine::disjuncts::ChunkInfo> >(ptr_mut$<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::BranchInfo> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::forms::ChunkedTermVec::push_chunk_term(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (3 samples, 0.02%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A176 (2 samples, 0.01%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (7 samples, 0.05%)`0x7FFB7997B3C7 (7 samples, 0.05%)`0x7FFB7997BF5E (6 samples, 0.04%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::hash<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState,scryer_prolog::machine::disjuncts::BranchNumber> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$3::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$4::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (45 samples, 0.32%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (45 samples, 0.32%)`0x7FFB7995A364 (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<ref$<str$>,ref$<str$> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<ref$<str$>,ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchInfo::new (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$13::clone (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::rbig::impl$1::clone (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::repr::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ubig::impl$1::clone (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::reserve_for_push<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (4 samples, 0.03%)`0x7FFB7997B3C7 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::insert_full<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::push(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::reserve_entries (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::RefMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$42::drop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::get (3 samples, 0.02%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::VarPtr::set(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::push(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::TempVarData::populate_conflict_set (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::collect(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$2::from_iter(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$3::extend(bit_set::BitSet<usize>*, core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::mem::replace(alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>*, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::read(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (3 samples, 0.02%)`0x7FFB799747B1 (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::extend_trusted(alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (3 samples, 0.02%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$11::sub_assign (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$5::sub (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::impl$0::div (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::repr::impl$4::div(enum2$<dashu_int::repr::TypedRepr>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$8::mul (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (205 samples, 1.48%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (205 samples, 1.48%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (205 samples, 1.48%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (205 samples, 1.48%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (144 samples, 1.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (144 samples, 1.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (144 samples, 1.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (143 samples, 1.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (143 samples, 1.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (143 samples, 1.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchInfo::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::push_binary_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::compute_arity_in_brackets (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::iter::adapters::rev::Rev<core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::rev::impl$1::next(core::iter::adapters::rev::Rev<core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$182::next_back(core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (4 samples, 0.03%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc>::get_index_of(indexmap::HashValue, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::buf (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::or_else(enum2$<core::option::Option<ref$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc>::get_index_of(indexmap::HashValue, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB79971BF2 (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$11::deref_mut(scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::streams::StreamLayout (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$4::index(ref$<str$>, core::ops::range::RangeFrom (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (274 samples, 1.98%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (67 samples, 0.48%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (67 samples, 0.48%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (66 samples, 0.48%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$11::deref_mut(scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::streams::StreamLayout (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::BootstrappingLoadState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::use_module<scryer_prolog::machine::loader::BootstrappingLoadState>(enum2$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (306 samples, 2.21%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (306 samples, 2.21%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$11::evacuate(scryer_prolog::machine::loader::Loader (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::compile::bootstrapping_compile(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::Machine*, enum2$ (317 samples, 2.29%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::impl$7::borrow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer::src_tests::iso_conformity_tests::closure_env$0,tuple$<> > (1,618 samples, 11.68%)scryer-7e5e7ddde7..scryer-7e5e7ddde7310dd8.exe`scryer::src_tests::iso_conformity_tests::closure$0 (1,618 samples, 11.68%)scryer-7e5e7ddde7..scryer-7e5e7ddde7310dd8.exe`test::assert_test_result(tuple$ (1,618 samples, 11.68%)scryer-7e5e7ddde7..scryer-7e5e7ddde7310dd8.exe`serial_test::serial_code_lock::local_serial_core(ref$<str$>, void (*) (1,618 samples, 11.68%)scryer-7e5e7ddde7..scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (1,618 samples, 11.68%)scryer-7e5e7ddde7..scryer-7e5e7ddde7310dd8.exe`serial_test::rwlock::impl$0::drop (1,618 samples, 11.68%)scryer-7e5e7ddde7..scryer-7e5e7ddde7310dd8.exe`parking_lot::condvar::Condvar::notify_one (1,618 samples, 11.68%)scryer-7e5e7ddde7..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::AtomicPtr<parking_lot::raw_mutex::RawMutex>::load (1,618 samples, 11.68%)scryer-7e5e7ddde7..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::atomic_load (1,618 samples, 11.68%)scryer-7e5e7ddde7..scryer-7e5e7ddde7310dd8.exe`scryer::helper::load_module_test<ref$<str$> >(ref$<str$>, ref$ (1,618 samples, 11.68%)scryer-7e5e7ddde7..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::with_test_streams (806 samples, 5.82%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::incremental_compile_clause<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_standalone_clause(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_local_extensible_predicate<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::compile_assert (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::compile_assert::closure$1 (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_dynamic_predicate(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_extensible_predicate_declaration<scryer_prolog::machine::loader::LiveLoadAndMachineState,scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>,enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize>)>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, scryer_prolog::atom_table::Atom, unsigned long long, scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_or_frame_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_or_frame (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_slice (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_ptr (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::ptr (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::test_load_file(ref$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::raw_block::RawBlock (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::raw_block::impl$1::drop(scryer_prolog::raw_block::RawBlock (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$41::drop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::Machine> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::machine_indices::IndexStore> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module> >(indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::cloned(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::VarPtr::set(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (23 samples, 0.17%)`0x7FFB776E5FE6 (23 samples, 0.17%)`0x7FFB776E6579 (21 samples, 0.15%)`0x7FFB799EDAB4 (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (52 samples, 0.38%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (52 samples, 0.38%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (52 samples, 0.38%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (52 samples, 0.38%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::meta_predicate_property (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::machine::machine_indices::CodeIndex> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$3::next(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$2::spec_next(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$54::lt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::allocate (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_and_frame_mut (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_and_frame (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::eq_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<core::cmp::Ordering> >::map(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insertion_sort_shift_left<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::slice::impl$0::sort_by::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$1> >(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, unsigned long long, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insert_tail(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$0::cmp(ref$<str$>, ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$2::cmp(ref$<slice2$<u8> >, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$9::compare(ref$<slice2$<u8> >, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::push_subterm(scryer_prolog::forms::Level, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$4::index (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (172 samples, 1.24%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (172 samples, 1.24%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (172 samples, 1.24%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (172 samples, 1.24%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_special_forms (190 samples, 1.37%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::current_dir (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_extensible_predicate_declaration<scryer_prolog::machine::loader::impl$18::add_dynamic_predicate::closure_env$0> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure$0(scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<usize,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_extensible_predicate_declaration<scryer_prolog::machine::loader::LiveLoadAndMachineState,scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>,enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize>)>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, scryer_prolog::atom_table::Atom, unsigned long long, scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_term_expansion_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_term_expansion_clause::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::incremental_compile_clause<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::expect (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::num::imp::impl$7::fmt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::impl$0::write_str<alloc::string::String> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$67::write_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::extend_from_slice (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::append_elements (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<u8,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global>(enum2$<core::result::Result<core::alloc::layout::Layout,core::alloc::layout::LayoutError> >, enum2$<core::option::Option<tuple$<core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >::map_err(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >, alloc::raw_vec::finish_grow::closure_env$1 (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<indexmap::set::IndexSet<enum2$<scryer_prolog::forms::ModuleExport>,std::collections::hash::map::RandomState>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::extract_module_export_list_from_heap<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$2::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::add_call(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (16 samples, 0.12%)`0x7FFB776E6785 (6 samples, 0.04%)`0x7FFB799ED1F4 (6 samples, 0.04%)`0x7FFB776E6579 (26 samples, 0.19%)`0x7FFB799EDAB4 (26 samples, 0.19%)`0x7FFB776E5FE6 (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (65 samples, 0.47%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::indexed_try (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_compiled_library (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::load_compiled_library::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_module<scryer_prolog::machine::loader::LiveLoadAndMachineState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports_into_module<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_library_as_stream (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::or_else(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<tokio::runtime::context::blocking::BlockingRegionGuard> >::expect(enum2$<core::option::Option<tokio::runtime::context::blocking::BlockingRegionGuard> >, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::context::blocking::try_enter_blocking_region (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<tokio::runtime::context::Context>::try_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::context::CONTEXT::__getit(enum2$<core::option::Option<ref_mut$<enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::meta_predicate_property (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unwind_trail (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::deref_register (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_or_frame_mut (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_or_frame (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$3::next(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$2::spec_next(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::allocate (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_and_frame_mut (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_and_frame (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deallocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::eq_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<core::cmp::Ordering> >::map(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::is(enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (4 samples, 0.03%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$1::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_ref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::build_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::with_val (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::set_val (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::set_val_checked (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::specifiers::impl$165::into_bytes (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_top_level (256 samples, 1.85%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (256 samples, 1.85%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (256 samples, 1.85%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (256 samples, 1.85%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (256 samples, 1.85%)s..scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::forms::PredicateClause>,alloc::alloc::Global>::push(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize> >,scryer_prolog::forms::LocalPredicateSkeleton>,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize> >,scryer_prolog::forms::LocalPredicateSkeleton>,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize> >,scryer_prolog::forms::LocalPredicateSkeleton>,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB799727D9 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::debray_allocator::DebrayAllocator> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$2::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_front(enum2$ (2 samples, 0.01%)`0x7FFB7995A16F (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB799736BD (4 samples, 0.03%)`0x7FFB799738E3 (4 samples, 0.03%)`0x7FFB79971BF2 (4 samples, 0.03%)`0x7FFB7997B3C7 (4 samples, 0.03%)`0x7FFB7997BF5E (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$18::extend(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$2::next (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::iterators::TermIterState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::add_call(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,usize,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,usize,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,usize>::insert_full<usize,usize> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,usize>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::from_rule_head_clause(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::as_ptr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::ptr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::reset_at_head(scryer_prolog::debray_allocator::DebrayAllocator*, alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (33 samples, 0.24%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchNumber,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchNumber::split (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchNumber::split (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::push_subterm(scryer_prolog::forms::Level, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$3::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$4::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::hash<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState,scryer_prolog::machine::disjuncts::BranchNumber> (3 samples, 0.02%)`0x7FFB7995A364 (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)`0x7FFB7997BF5E (8 samples, 0.06%)`0x7FFB7995A36F (5 samples, 0.04%)`0x7FFB7995A4EB (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (12 samples, 0.09%)`0x7FFB7997B3C7 (12 samples, 0.09%)`0x7FFB7995A364 (4 samples, 0.03%)`0x7FFB7995A4EB (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (8 samples, 0.06%)`0x7FFB7997B3C7 (8 samples, 0.06%)`0x7FFB7997BF5E (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::hash (2 samples, 0.01%)`0x7FFB79971BF2 (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::reserve_entries (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::try_reserve_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::grow_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB799736BD (5 samples, 0.04%)`0x7FFB799738E3 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::insert_full<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::push(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)`0x7FFB79971C3D (3 samples, 0.02%)`0x7FFB799736BD (5 samples, 0.04%)`0x7FFB799738E3 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::reserve_for_push<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::grow_amortized (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::insert_full<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::push(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::reserve_entries (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::RefMut<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$42::drop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::get (3 samples, 0.02%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::VarPtr::set(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::push(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::push(indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::iter::adapters::rev::Rev<core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::rev::impl$1::next(core::iter::adapters::rev::Rev<core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$182::next_back(core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::Iter<scryer_prolog::machine::disjuncts::BranchInfo>::pre_dec_end (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::sub (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::offset (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$6::cmp (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::extend_trusted(alloc::vec::drain::Drain (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$21::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$11::sub_assign (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$5::sub (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (184 samples, 1.33%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (184 samples, 1.33%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (184 samples, 1.33%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (184 samples, 1.33%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (135 samples, 0.97%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (135 samples, 0.97%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (135 samples, 0.97%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (134 samples, 0.97%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (134 samples, 0.97%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (134 samples, 0.97%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::impl$75::div (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::with_sign (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::is_zero (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::single_line_comment (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::eof (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace(scryer_prolog::parser::parser::Parser<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_list (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::pop (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::str::impl$0::trim(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::impl$0::trim_matches<core::str::impl$0::trim::closure_env$0> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (6 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (8 samples, 0.06%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::slice::impl$0::reverse(ref_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::impl$0::reverse::revswap(ref_mut$<slice2$<enum2$<scryer_prolog::parser::lexer::Token> > >, ref_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::swap(enum2$<scryer_prolog::parser::lexer::Token>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::swap_simple(enum2$<scryer_prolog::parser::lexer::Token>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::parser::lexer::Token>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$11::deref_mut(scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::streams::StreamLayout (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$4::index(ref$<str$>, core::ops::range::RangeFrom (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$9::index(core::ops::range::RangeFrom<usize>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$9::get(core::ops::range::RangeFrom<usize>, ref$ (2 samples, 0.01%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`phf_shared::impl$6::borrow(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::atom_table::Atom> > >::cloned(enum2$<core::option::Option<ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get<ref$<str$>,scryer_prolog::atom_table::Atom,str$>(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get_entry(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)`0x7FFB7997B7A2 (2 samples, 0.01%)`0x7FFB7997B3C7 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (258 samples, 1.86%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (41 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::eof (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace(scryer_prolog::parser::parser::Parser<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::single_line_comment (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::skip_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::use_module<scryer_prolog::machine::loader::BootstrappingLoadState>(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::import_module<scryer_prolog::machine::loader::BootstrappingLoadState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports_into_module<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::BootstrappingLoadState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (287 samples, 2.07%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (287 samples, 2.07%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$11::evacuate(scryer_prolog::machine::loader::Loader (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::compile::bootstrapping_compile(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::Machine*, enum2$ (296 samples, 2.14%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (777 samples, 5.61%)scryer-..scryer-7e5e7ddde7310dd8.exe`serial_test::rwlock::impl$0::drop (777 samples, 5.61%)scryer-..scryer-7e5e7ddde7310dd8.exe`parking_lot::condvar::Condvar::notify_one (777 samples, 5.61%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::AtomicPtr<parking_lot::raw_mutex::RawMutex>::load (777 samples, 5.61%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::atomic_load (777 samples, 5.61%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer::helper::load_module_test<ref$<str$> >(ref$<str$>, ref$ (777 samples, 5.61%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::with_test_streams (745 samples, 5.38%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer::src_tests::predicates::closure_env$0,tuple$<> > (778 samples, 5.62%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer::src_tests::predicates::closure$0 (778 samples, 5.62%)scryer-..scryer-7e5e7ddde7310dd8.exe`test::assert_test_result(tuple$ (778 samples, 5.62%)scryer-..scryer-7e5e7ddde7310dd8.exe`serial_test::serial_code_lock::local_serial_core(ref$<str$>, void (*) (778 samples, 5.62%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_extensible_predicate_declaration<scryer_prolog::machine::loader::impl$18::add_dynamic_predicate::closure_env$0> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure$0(scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure_env$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<usize,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_extensible_predicate_declaration<scryer_prolog::machine::loader::LiveLoadAndMachineState,scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>,enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize>)>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, scryer_prolog::atom_table::Atom, unsigned long long, scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_standalone_clause(enum2$ (3 samples, 0.02%)`0x7FFB776E6785 (2 samples, 0.01%)`0x7FFB799ED1F4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_clause_clauses<scryer_prolog::machine::loader::LiveLoadAndMachineState,core::iter::sources::once::Once<tuple$<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::Term> > > >(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::machine::loader::CompilationTarget>, core::iter::sources::once::Once<tuple$<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::incremental_compile_clause<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$<scryer_prolog::atom_table::Atom,usize>, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::push_back_to_local_predicate_skeleton(enum2$<scryer_prolog::machine::loader::CompilationTarget>*, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$23::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::file_attr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_local_extensible_predicate<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::compile_assert (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::compile_assert::closure$1 (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_dynamic_predicate(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_extensible_predicate_declaration<scryer_prolog::machine::loader::LiveLoadAndMachineState,scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>,enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize>)>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, scryer_prolog::atom_table::Atom, unsigned long long, scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB799727D9 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_slice (53 samples, 0.38%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (53 samples, 0.38%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_ptr (53 samples, 0.38%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::ptr (53 samples, 0.38%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::test_load_file(ref$ (53 samples, 0.38%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (52 samples, 0.38%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (52 samples, 0.38%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::raw_block::RawBlock (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::raw_block::impl$1::drop(scryer_prolog::raw_block::RawBlock (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$41::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::drop_slab_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::machine::term_stream::LoadStatePayload (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::Machine> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::expect (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::num::imp::impl$7::fmt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::impl$0::write_str<alloc::string::String> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$67::write_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::extend_from_slice (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::append_elements (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<u8,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global>(enum2$<core::result::Result<core::alloc::layout::Layout,core::alloc::layout::LayoutError> >, enum2$<core::option::Option<tuple$<core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >::map_err(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >, alloc::raw_vec::finish_grow::closure_env$1 (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::devour_whitespace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::parser::Parser<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::from_rule_head_clause(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::reset_at_head(scryer_prolog::debray_allocator::DebrayAllocator*, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (19 samples, 0.14%)`0x7FFB776E5FE6 (19 samples, 0.14%)`0x7FFB776E6579 (19 samples, 0.14%)`0x7FFB799EDAB4 (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::truncate (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$3::next(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::range::impl$2::spec_next(core::ops::range::Range (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::allocate (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_and_frame_mut (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_and_frame (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::eq_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<core::cmp::Ordering> >::map(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insertion_sort_shift_left<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::slice::impl$0::sort_by::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$1> >(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, unsigned long long, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insert_tail(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$0::cmp(ref$<str$>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$2::cmp(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$9::compare(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$13::clone_from_spec(hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>*, hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::clone_from_impl(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997B86B (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$4::index (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (170 samples, 1.23%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (170 samples, 1.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (170 samples, 1.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (170 samples, 1.23%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer_prolog::machine::system_calls::impl$2::remove_call_policy_check::closure_env$0,tuple$<ref_mut$<scryer_prolog::machine::machine_state::MachineState> > > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::system_calls::impl$2::remove_call_policy_check::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (2 samples, 0.01%)`0x7FFB776E6579 (3 samples, 0.02%)`0x7FFB799EDAB4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (5 samples, 0.04%)`0x7FFB776E5FE6 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_special_forms (188 samples, 1.36%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::current_dir (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_extensible_predicate_declaration<scryer_prolog::machine::loader::impl$18::add_dynamic_predicate::closure_env$0> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure$0(scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<usize,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_extensible_predicate_declaration<scryer_prolog::machine::loader::LiveLoadAndMachineState,scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>,enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize>)>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, scryer_prolog::atom_table::Atom, unsigned long long, scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_local_extensible_predicate<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::select_switch_on_structure_index(scryer_prolog::types::HeapCellValue, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$2::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::indexing::CodeOffsets<scryer_prolog::indexing::StaticCodeIndices>::index_term<scryer_prolog::indexing::StaticCodeIndices>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$23::drop (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::file_attr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (3 samples, 0.02%)`0x7FFB776B7A04 (3 samples, 0.02%)`0x7FFB799ED234 (3 samples, 0.02%)`0x7FFB776E6133 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (24 samples, 0.17%)`0x7FFB776E5FE6 (24 samples, 0.17%)`0x7FFB776E6579 (21 samples, 0.15%)`0x7FFB799EDAB4 (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (59 samples, 0.43%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (59 samples, 0.43%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (59 samples, 0.43%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (59 samples, 0.43%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::indexed_try (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_inner_applicable_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unwind_trail (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_execute (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexPtr::tag_or_err (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::CodeIndex::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deallocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::eq_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<core::cmp::Ordering> >::map(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Semaphore::add_permits_locked(unsigned long long, tokio::loom::std::parking_lot::MutexGuard (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insertion_sort_shift_left<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::slice::impl$0::sort_by::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$1> >(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, unsigned long long, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insert_tail(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$<> >::get_index_of<scryer_prolog::atom_table::Atom,tuple$<>,str$>(indexmap::HashValue, ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$2::equivalent(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list_result (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::types::Ref> >::unwrap(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_name_and_arity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_arity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity_or_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$17::push_bits(modular_bitfield::private::push_pop::PushBuffer (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor_unify_components (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$4::index (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_top_level (254 samples, 1.83%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (254 samples, 1.83%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (254 samples, 1.83%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (254 samples, 1.83%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (254 samples, 1.83%)s..`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB799727D9 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::debray_allocator::BranchOccurrences,alloc::alloc::Global>::as_mut_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::debray_allocator::BranchOccurrences,alloc::alloc::Global>::ptr (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB799F721F (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::debray_allocator::DebrayAllocator> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::write_iter(unsigned long long, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::for_each(core::iter::adapters::enumerate::Enumerate<alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> >, alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::fold(core::iter::adapters::enumerate::Enumerate<alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> >, tuple$<>, core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::into_iter::impl$2::fold(alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>, tuple$<>, core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::into_iter::impl$2::try_fold(alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, tuple$<>, alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::map::impl$2::try_fold(core::iter::adapters::map::Map<core::slice::iter::Iter<enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::into_iter::impl$2::try_fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > > >,enum2$<core::result::Result<tuple$<>,never$> > > >*, tuple$<>, alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::try_fold(core::slice::iter::Iter<enum2$<scryer_prolog::instructions::Instruction> >*, tuple$<>, core::iter::adapters::map::map_try_fold::closure_env$0<ref$<enum2$<scryer_prolog::instructions::Instruction> >,enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,enum2$<core::result::Result<tuple$<>,never$> >,alloc::collections::vec_deque::into_iter::impl$2::try_fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > > >,enum2$<core::result::Result<tuple$<>,never$> > >,ref_mut$<alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::map::map_try_fold::closure$0(core::iter::adapters::map::map_try_fold::closure_env$0<ref$<enum2$<scryer_prolog::instructions::Instruction> >,enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,enum2$<core::result::Result<tuple$<>,never$> >,alloc::collections::vec_deque::into_iter::impl$2::try_fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > > >,enum2$<core::result::Result<tuple$<>,never$> > >,ref_mut$<alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > > > > >*, tuple$<>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::impls::impl$3::call_mut(alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > > >**, tuple$<>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::into_iter::impl$2::fold::closure$0(alloc::collections::vec_deque::into_iter::impl$2::fold::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,tuple$<>,core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > > >*, tuple$<>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::fold::enumerate::closure$0(core::iter::adapters::enumerate::impl$1::fold::enumerate::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,tuple$<>,core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > > >*, tuple$<>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::for_each::call::closure$0(core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<tuple$<usize,enum2$<scryer_prolog::instructions::Instruction> >,alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> > >*, tuple$<>, tuple$<usize,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$3::write_iter::closure$0(alloc::collections::vec_deque::impl$3::write_iter::closure_env$0<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> >*, tuple$<usize,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$18::extend(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::write_iter_wrapping(unsigned long long, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::BranchCodeStack::pop_branch (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<alloc::vec::into_iter::IntoIter<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::into_iter::impl$5::next(alloc::vec::into_iter::IntoIter<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB799736BD (4 samples, 0.03%)`0x7FFB799738E3 (4 samples, 0.03%)`0x7FFB79971BF2 (4 samples, 0.03%)`0x7FFB7997B44D (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::subterm_to_instr<scryer_prolog::targets::QueryInstruction>(enum2$<scryer_prolog::parser::ast::Term>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::add_call(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::FactInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_reserved_var(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,usize>,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,usize>,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,usize> >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,usize> >(unsigned long long, indexmap::map::core::get_hash::closure_env$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::as_ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::ptr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::reset_at_head(scryer_prolog::debray_allocator::DebrayAllocator*, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,usize,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,usize,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,usize>::insert_full<usize,usize> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,usize>::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,usize>,alloc::alloc::Global>::push(indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,usize>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (45 samples, 0.32%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (45 samples, 0.32%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (38 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (36 samples, 0.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::from_rule_head_clause(alloc::vec::Vec<enum2$ (6 samples, 0.04%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<scryer_prolog::machine::disjuncts::BranchNumber,std::collections::hash::map::RandomState>::insert (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::insert(scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::insert_full(scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchNumber::incr_by_delta (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::rbig::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::repr::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ibig::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$1::add (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::repr::Repr::reduce_with_hint (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::alloc::__default_lib_allocator::__rdl_alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::alloc::impl$0::alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::alloc::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::reserve_entries (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$3::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$4::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::hash<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState,scryer_prolog::machine::disjuncts::BranchNumber> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<scryer_prolog::machine::disjuncts::BranchNumber,std::collections::hash::map::RandomState>::contains (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::contains_key (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::bitmask::impl$2::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::bitmask::BitMask::remove_lowest_bit (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,scryer_prolog::machine::disjuncts::BranchNumber> >(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::equivalent::impl$0::equivalent (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$1::eq (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$2::eq (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ibig::impl$6::eq (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::impl$5::eq (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::tuple::impl$9::eq(tuple$<dashu_base::sign::Sign,ref$<slice2$<u64> > >*, tuple$<dashu_base::sign::Sign,ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::cloned(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (34 samples, 0.25%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (7 samples, 0.05%)`0x7FFB7997B3C7 (7 samples, 0.05%)`0x7FFB7997BF5E (5 samples, 0.04%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<ref$<str$>,ref$<str$> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<ref$<str$>,ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::reserve_entries (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::try_reserve_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::grow_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB799736BD (4 samples, 0.03%)`0x7FFB799738E3 (4 samples, 0.03%)`0x7FFB79971BF2 (4 samples, 0.03%)`0x7FFB7997B3C7 (4 samples, 0.03%)`0x7FFB7997BF5E (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::pop_front (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::to_physical_idx (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::wrap_add (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::num::impl$11::wrapping_add (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (32 samples, 0.23%)`0x7FFB79971C3D (3 samples, 0.02%)`0x7FFB799736BD (4 samples, 0.03%)`0x7FFB799738E3 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::reserve_for_push<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::insert_full<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::push(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::reserve_entries (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::grow_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB7997B3C7 (4 samples, 0.03%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::push(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::TempVarData::populate_conflict_set (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (33 samples, 0.24%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::TempVarData::uses_reg (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::impl$13::next(indexmap::set::Iter<tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$181::next(core::slice::iter::Iter<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB7997B3C7 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::iter::adapters::rev::Rev<core::slice::iter::Iter (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::rev::impl$1::next(core::iter::adapters::rev::Rev<core::slice::iter::Iter (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$182::next_back(core::slice::iter::Iter (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::Iter<scryer_prolog::machine::disjuncts::BranchInfo>::pre_dec_end (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::sub (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::offset (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$6::cmp (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ubig::UBig::is_one (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::is_one (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::extend_trusted(alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::impl$3::gcd (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::repr::impl$0::gcd(enum2$<dashu_int::repr::TypedReprRef>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::from_dword (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_base::ring::gcd::impl$20::gcd (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$11::sub_assign (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$5::sub (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$3::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::impl$0::div (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (188 samples, 1.36%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (187 samples, 1.35%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (187 samples, 1.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (187 samples, 1.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (129 samples, 0.93%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (129 samples, 0.93%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (129 samples, 0.93%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (128 samples, 0.92%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (128 samples, 0.92%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (128 samples, 0.92%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$8::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::with_sign (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::eof (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace(scryer_prolog::parser::parser::Parser<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (2 samples, 0.01%)`0x7FFB7997B3C7 (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::or_else(enum2$<core::option::Option<ref$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (31 samples, 0.22%)`0x7FFB7997B73C (2 samples, 0.01%)`0x7FFB79971BF2 (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB799738E3 (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (7 samples, 0.05%)`0x7FFB799736BD (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::parser::lexer::Token>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$11::deref_mut(scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::streams::StreamLayout (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$4::index(ref$<str$>, core::ops::range::RangeFrom (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$9::index(core::ops::range::RangeFrom<usize>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$9::get(core::ops::range::RangeFrom<usize>, ref$ (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (4 samples, 0.03%)`0x7FFB7997B3C7 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::sync::Arc<indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$27::drop(alloc::sync::Arc<indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::atom_table::Atom> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get<ref$<str$>,scryer_prolog::atom_table::Atom,str$>(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$<> >::get_index_of<scryer_prolog::atom_table::Atom,tuple$<>,str$>(indexmap::HashValue, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$2::equivalent(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::get_non_quote_char<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<char,enum2$<scryer_prolog::parser::ast::ParserError> > >::map(enum2$<core::result::Result<char,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<core::option::Option<char> > (*) (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::get_single_quoted_char<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::get_single_quoted_item (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (25 samples, 0.18%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997B86B (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (273 samples, 1.97%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (81 samples, 0.58%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (81 samples, 0.58%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (81 samples, 0.58%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (48 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (39 samples, 0.28%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (2 samples, 0.01%)`0x7FFB6E1B153E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::cloned(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::use_module<scryer_prolog::machine::loader::BootstrappingLoadState>(enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::BootstrappingLoadState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (303 samples, 2.19%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (303 samples, 2.19%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$11::evacuate(scryer_prolog::machine::loader::Loader (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::compile::bootstrapping_compile(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::Machine*, enum2$ (311 samples, 2.24%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer::src_tests::rules::closure_env$0,tuple$<> > (813 samples, 5.87%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer::src_tests::rules::closure$0 (813 samples, 5.87%)scryer-..scryer-7e5e7ddde7310dd8.exe`test::assert_test_result(tuple$ (813 samples, 5.87%)scryer-..scryer-7e5e7ddde7310dd8.exe`serial_test::serial_code_lock::local_serial_core(ref$<str$>, void (*) (813 samples, 5.87%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (813 samples, 5.87%)scryer-..scryer-7e5e7ddde7310dd8.exe`serial_test::rwlock::impl$0::drop (813 samples, 5.87%)scryer-..scryer-7e5e7ddde7310dd8.exe`parking_lot::condvar::Condvar::notify_one (813 samples, 5.87%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::AtomicPtr<parking_lot::raw_mutex::RawMutex>::load (813 samples, 5.87%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::atomic_load (813 samples, 5.87%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer::helper::load_module_test<ref$<str$> >(ref$<str$>, ref$ (813 samples, 5.87%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::with_test_streams (755 samples, 5.45%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::compile_inline_or_expanded_goal (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::variable_set<core::hash::BuildHasherDefault<fxhash::FxHasher> >(indexmap::set::IndexSet<scryer_prolog::types::HeapCellValue,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list_result (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::build_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::finalize_skip_max_list (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_name_and_arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$17::push_bits(modular_bitfield::private::push_pop::PushBuffer (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor_unify_components (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_slice (46 samples, 0.33%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (46 samples, 0.33%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_ptr (46 samples, 0.33%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::ptr (46 samples, 0.33%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::test_load_file(ref$ (46 samples, 0.33%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (45 samples, 0.32%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (45 samples, 0.32%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_s (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::raw_block::RawBlock (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::raw_block::impl$1::drop(scryer_prolog::raw_block::RawBlock (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$41::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::Machine> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::machine_indices::IndexStore> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::devour_whitespace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::parser::Parser<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::IndexingLine>,alloc::alloc::Global>::is_empty (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::IndexingLine>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::indexing::CodeOffsets<scryer_prolog::indexing::StaticCodeIndices>::compute_indices<scryer_prolog::indexing::StaticCodeIndices>(scryer_prolog::indexing::CodeOffsets (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::indexing::impl$2::switch_on(scryer_prolog::indexing::impl$4::compute_indices::closure_env$0<scryer_prolog::indexing::StaticCodeIndices>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::indexing::impl$2::second_level_index(indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::IndexedChoiceInstruction>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (19 samples, 0.14%)`0x7FFB776E5FE6 (19 samples, 0.14%)`0x7FFB776E6579 (18 samples, 0.13%)`0x7FFB799EDAB4 (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (42 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (42 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (42 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (42 samples, 0.30%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (21 samples, 0.15%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unwind_trail (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::eq_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<core::cmp::Ordering> >::map(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue>::insert_full<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue>(indexmap::HashValue, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue>::push(indexmap::HashValue, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::system_calls::BrentAlgState::detect_cycles(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list_result (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997B86B (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$1::bind (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$4::index (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (172 samples, 1.24%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (172 samples, 1.24%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (172 samples, 1.24%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (172 samples, 1.24%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_s (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_special_forms (190 samples, 1.37%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::current_dir (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_in_situ_filename_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_in_situ_filename_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (3 samples, 0.02%)`0x7FFB776E5FE6 (3 samples, 0.02%)`0x7FFB776E6579 (3 samples, 0.02%)`0x7FFB799EDAB4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::expect (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::num::imp::impl$7::fmt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::impl$0::write_str<alloc::string::String> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$67::write_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::extend_from_slice (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::append_elements (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<u8,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global>(enum2$<core::result::Result<core::alloc::layout::Layout,core::alloc::layout::LayoutError> >, enum2$<core::option::Option<tuple$<core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >::map_err(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >, alloc::raw_vec::finish_grow::closure_env$1 (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::select_switch_on_structure_index(scryer_prolog::types::HeapCellValue, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::fast_call (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$2::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (37 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (37 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (3 samples, 0.02%)`0x7FFB776E6785 (2 samples, 0.01%)`0x7FFB799ED1F4 (2 samples, 0.01%)`0x7FFB776B79C6 (3 samples, 0.02%)`0x7FFB799ED934 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$23::drop (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::file_attr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (5 samples, 0.04%)`0x7FFB776B7A04 (2 samples, 0.01%)`0x7FFB776E6133 (3 samples, 0.02%)`0x7FFB7996AF2D (3 samples, 0.02%)`0x7FFB7996B024 (2 samples, 0.01%)`0x7FFB7996B53F (2 samples, 0.01%)`0x7FFB776E5FE6 (15 samples, 0.11%)`0x7FFB776E6579 (12 samples, 0.09%)`0x7FFB799EDAB4 (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (62 samples, 0.45%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (62 samples, 0.45%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (62 samples, 0.45%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (62 samples, 0.45%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::http_open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::indexed_try (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_inner_applicable_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_compiled_library (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::load_compiled_library::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_module<scryer_prolog::machine::loader::LiveLoadAndMachineState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports_into_module<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::budget(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::with_budget(tokio::runtime::coop::Budget, tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::impl$4::block_on::closure$0(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0::async_block$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn$0::async_block_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::future::into_future::impl$0::into_future (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::meta_predicate_property (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::machine::machine_indices::CodeIndex> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$2::hash(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::Hasher::write_str(fxhash::FxHasher*, ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$1::write(fxhash::FxHasher*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::write(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::write64(unsigned long long, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$8::hash_word (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::num::impl$9::rotate_left (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::eq_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<core::cmp::Ordering> >::map(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::is(enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insertion_sort_shift_left<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::slice::impl$0::sort_by::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$1> >(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, unsigned long long, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_list (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::as_partial_string(enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::atom_table::Atom> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get<ref$<str$>,scryer_prolog::atom_table::Atom,str$>(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`phf::map::Map<ref$<str$>,scryer_prolog::atom_table::Atom>::get_entry(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$11::clone_from(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>*, alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::slice::impl$8::clone_into(ref$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> > > >, alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::extend_from_slice(ref$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>*, core::slice::iter::Iter<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify_atom (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_name_and_arity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_arity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity_or_err (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$17::push_bits(modular_bitfield::private::push_pop::PushBuffer (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor_unify_components (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::impl$4::index (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_top_level (252 samples, 1.82%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (252 samples, 1.82%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (252 samples, 1.82%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (252 samples, 1.82%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (252 samples, 1.82%)s..`0x7FFB799727D9 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB799736BD (4 samples, 0.03%)`0x7FFB799738E3 (4 samples, 0.03%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB79971BF2 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::BranchCodeStack::pop_branch (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<alloc::vec::into_iter::IntoIter<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::into_iter::impl$5::next(alloc::vec::into_iter::IntoIter<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::write_iter_wrapping(unsigned long long, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::QueryInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_reserved_var(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$2::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,usize>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,usize>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,usize> >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,usize> >(unsigned long long, indexmap::map::core::get_hash::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::as_ptr (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::ptr (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::reset_at_head(scryer_prolog::debray_allocator::DebrayAllocator*, alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,usize,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,usize,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,usize>::insert_full<usize,usize> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,usize>::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,usize>,alloc::alloc::Global>::push(indexmap::Bucket (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,usize>,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::from_rule_head_clause(alloc::vec::Vec<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::split_predicate(ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::BranchInfo> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<scryer_prolog::machine::disjuncts::ChunkInfo> >(ptr_mut$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::rc::Rc<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::impl$20::drop(alloc::rc::Rc<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)`0x7FFB7997B3C7 (4 samples, 0.03%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7995A36F (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$3::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$4::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::ibig::impl$4::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::impl$8::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::as_sign_slice (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::hash<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState,scryer_prolog::machine::disjuncts::BranchNumber> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::get_meta_specs (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::get_or_insert_local_code_index<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::atom_table::Atom, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_mut (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module>::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (4 samples, 0.03%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::reserve_entries (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchInfo::new (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$13::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::insert_full<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::push(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::grow_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)`0x7FFB79971BF2 (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::reserve_for_push<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB799736BD (5 samples, 0.04%)`0x7FFB799738E3 (5 samples, 0.04%)`0x7FFB79971C3D (2 samples, 0.01%)`0x7FFB799F3F97 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997B3C7 (4 samples, 0.03%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::insert_full<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::push(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::reserve_entries (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::grow_exact (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::RefMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$42::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::get (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::VarPtr::set(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (6 samples, 0.04%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::push(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::push(indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::reserve_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::try_reserve_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::grow_exact (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (37 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::TempVarData::populate_conflict_set (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::collect(core::ops::range::Range (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$2::from_iter(core::ops::range::Range (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_set::impl$3::extend(bit_set::BitSet<usize>*, core::ops::range::Range (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<usize,alloc::alloc::Global>*, core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<usize,alloc::alloc::Global>::extend_trusted(core::iter::adapters::take::Take<core::iter::sources::repeat::Repeat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>(alloc::raw_vec::RawVec<ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<ptr_mut$<libffi_sys::ffi_type>,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)`0x7FFB7997B86B (3 samples, 0.02%)`0x7FFB7997B3C7 (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::iter::adapters::rev::Rev<core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::rev::impl$1::next(core::iter::adapters::rev::Rev<core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$182::next_back(core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::Iter<scryer_prolog::machine::disjuncts::BranchInfo>::pre_dec_end (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::sub (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::offset (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$6::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::add_ops::impl$16::sub (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::impl$3::gcd (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$11::sub_assign (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$5::sub (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::impl$0::div (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::repr::impl$4::div(enum2$<dashu_int::repr::TypedRepr>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (183 samples, 1.32%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (183 samples, 1.32%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (183 samples, 1.32%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (183 samples, 1.32%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (133 samples, 0.96%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (133 samples, 0.96%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (133 samples, 0.96%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (133 samples, 0.96%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (133 samples, 0.96%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (133 samples, 0.96%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::eof (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace(scryer_prolog::parser::parser::Parser<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::single_line_comment (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::push_binary_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)`0x7FFB7995A364 (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)`0x7FFB7997B3C7 (8 samples, 0.06%)`0x7FFB7997BF5E (5 samples, 0.04%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::budget(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::coop::with_budget(tokio::runtime::coop::Budget, tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::impl$4::block_on::closure$0(tokio::runtime::park::impl$4::block_on::closure_env$0<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::rwlock::impl$14::read::async_fn$0::async_block$0(core::pin::Pin<ref_mut$<enum2$<tokio::sync::rwlock::impl$14::read::async_fn$0::async_block_env$0<alloc::vec::Vec<alloc::sync::Weak (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::future::into_future::impl$0::into_future (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Semaphore::acquire (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::sync::batch_semaphore::Acquire::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::or_else(enum2$<core::option::Option<ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::parser::lexer::Token>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >::active_epoch<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState> >::increment_strong_count(indexmap::set::IndexSet (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::mem::manually_drop::impl$5::clone(core::mem::manually_drop::ManuallyDrop<alloc::sync::Arc<indexmap::set::IndexSet (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$22::clone(alloc::sync::Arc<indexmap::set::IndexSet (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$<> >::get_index_of<scryer_prolog::atom_table::Atom,tuple$<>,str$>(indexmap::HashValue, ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::equivalent::closure$0(indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$2::equivalent(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<str$>*, ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::str::traits::impl$1::eq(ref$<str$>, ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::cmp::impls::impl$9::eq(ref$<slice2$<u8> >*, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$0::eq(ref$<slice2$<u8> >, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::cmp::impl$5::equal(ref$<slice2$<u8> >, ref$<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::skip_char (2 samples, 0.01%)`0x7FFB7997B8A4 (2 samples, 0.01%)`0x7FFB7997B3C7 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (252 samples, 1.82%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (66 samples, 0.48%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (66 samples, 0.48%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (66 samples, 0.48%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(tuple$<scryer_prolog::atom_table::Atom,alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::IndexingLine>,alloc::alloc::Global>::is_empty (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::IndexingLine>,alloc::alloc::Global>::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::extend_trusted(core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::push_subterm(scryer_prolog::forms::Level, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::use_module<scryer_prolog::machine::loader::BootstrappingLoadState>(enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::BootstrappingLoadState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::entry(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$13::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$1::write_usize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`fxhash::impl$6::hash_word (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (282 samples, 2.04%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (282 samples, 2.04%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$11::evacuate(scryer_prolog::machine::loader::Loader (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::compile::bootstrapping_compile(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::Machine*, enum2$ (290 samples, 2.09%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer::src_tests::setup_call_cleanup_load::closure_env$0,tuple$<> > (787 samples, 5.68%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer::src_tests::setup_call_cleanup_load::closure$0 (787 samples, 5.68%)scryer-..scryer-7e5e7ddde7310dd8.exe`test::assert_test_result(tuple$ (787 samples, 5.68%)scryer-..scryer-7e5e7ddde7310dd8.exe`serial_test::serial_code_lock::local_serial_core(ref$<str$>, void (*) (787 samples, 5.68%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (787 samples, 5.68%)scryer-..scryer-7e5e7ddde7310dd8.exe`serial_test::rwlock::impl$0::drop (787 samples, 5.68%)scryer-..scryer-7e5e7ddde7310dd8.exe`parking_lot::condvar::Condvar::notify_one (787 samples, 5.68%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::AtomicPtr<parking_lot::raw_mutex::RawMutex>::load (787 samples, 5.68%)scryer-..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::atomic_load (787 samples, 5.68%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer::helper::load_module_test<ref$<str$> >(ref$<str$>, ref$ (787 samples, 5.68%)scryer-..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::with_test_streams (735 samples, 5.31%)scryer..scryer-7e5e7ddde7310dd8.exe`assert_cmd::cmd::Command::wait_with_input_output(std::process::Child, enum2$<core::option::Option<alloc::vec::Vec<u8,alloc::alloc::Global> > >, enum2$<core::option::Option (3 samples, 0.02%)`0x7FFB7770B473 (5 samples, 0.04%)`0x7FFB799EE924 (5 samples, 0.04%)`0x7FFB7770B7CE (3 samples, 0.02%)`0x7FFB7915D1A2 (3 samples, 0.02%)`0x7FFB7915D84F (3 samples, 0.02%)`0x7FFB799ED994 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (12 samples, 0.09%)`0x7FFB7916D334 (12 samples, 0.09%)`0x7FFB777097E6 (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer::src_tests::setup_call_cleanup_process::closure_env$0,tuple$<> > (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer::src_tests::setup_call_cleanup_process::closure$0 (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`test::assert_test_result(tuple$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer::helper::run_top_level_test_with_args<ref$<array$<ref$<str$>,4> >,ref$<str$>,ref$<str$>,ref$<ref$<str$> >,assert_cmd::assert::StrContentOutputPredicate>(ref$<str$>[4]*, ref$<str$>, ref$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`assert_cmd::cmd::Command::assert (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`assert_cmd::cmd::impl$4::assert (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`assert_cmd::cmd::Command::output (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`std::process::Command::spawn (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::process::Command::spawn (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::with_capacity_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::allocate_in (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::Global::alloc_impl (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::alloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BEDA (2 samples, 0.01%)`0x7FFB79970B31 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter::impl$0::from_iter<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >(alloc::vec::drain::Drain<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_from_iter_nested::impl$1::from_iter(alloc::vec::drain::Drain<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>*, alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::extend_trusted(alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::for_each(alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>, alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global,alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::traits::iterator::Iterator::fold(alloc::vec::drain::Drain<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>, tuple$<>, core::iter::traits::iterator::Iterator::for_each::call::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,alloc::vec::impl$20::extend_trusted::closure_env$0<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global,alloc::vec::drain::Drain<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (12 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (3 samples, 0.02%)`0x7FFB799727D9 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$2::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::or_else(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::cloned(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<ref$<str$>,ref$<str$> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<ref$<str$>,ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (35 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (2 samples, 0.01%)`0x7FFB776E6579 (19 samples, 0.14%)`0x7FFB799EDAB4 (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (20 samples, 0.14%)`0x7FFB776E5FE6 (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (56 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (56 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (56 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (56 samples, 0.40%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_compiled_library (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::load_compiled_library::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_module<scryer_prolog::machine::loader::LiveLoadAndMachineState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::meta_predicate_property (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash<fxhash::FxHasher> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_call (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::select_switch_on_term_index(scryer_prolog::types::HeapCellValue, enum2$<scryer_prolog::instructions::IndexingCodePtr>, enum2$<scryer_prolog::instructions::IndexingCodePtr>, enum2$<scryer_prolog::instructions::IndexingCodePtr>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_or_frame_mut (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_or_frame (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::allocate (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::index_and_frame_mut (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::stack::Stack::allocate_and_frame (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::parser::ast::Term> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$11::clone_from(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>*, alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::slice::impl$8::clone_into(ref$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> > > >, alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::extend_from_slice(ref$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>*, core::slice::iter::Iter<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$<> >,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<indexmap::Bucket<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::number_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::buffer_write(unsigned long long, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::ptr (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::push_subterm(scryer_prolog::forms::Level, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::iterators::TermIterState>,alloc::alloc::Global>::push_back(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (26 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$13::clone_from_spec(hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>*, hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::clone_from_impl(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$26::next(hashbrown::raw::inner::RawIter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (34 samples, 0.25%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::grow_exact (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_s (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::store (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_slice (223 samples, 1.61%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$9::deref(alloc::vec::Vec (223 samples, 1.61%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::as_ptr (223 samples, 1.61%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::ptr (223 samples, 1.61%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::test_load_file(ref$ (223 samples, 1.61%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (222 samples, 1.60%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (222 samples, 1.60%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::raw_block::RawBlock (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::raw_block::impl$1::drop(scryer_prolog::raw_block::RawBlock (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::impl$41::drop (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::drop_slab_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(scryer_prolog::machine::term_stream::LoadStatePayload (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<tuple$<scryer_prolog::forms::OpDecl,enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<tuple$<scryer_prolog::forms::OpDecl,enum2$<core::option::Option (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<tuple$<scryer_prolog::forms::OpDecl,enum2$<core::option::Option (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)`0x7FFB79975B74 (2 samples, 0.01%)`0x7FFB799765F6 (2 samples, 0.01%)`0x7FFB7996E412 (2 samples, 0.01%)`0x7FFB7996F35E (2 samples, 0.01%)`0x7FFB7997095C (2 samples, 0.01%)`0x7FFB79959B1A (2 samples, 0.01%)`0x7FFB799ED3D4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::Machine> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::machine_indices::IndexStore> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module> >(indexmap::Bucket (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_extensible_predicate_declaration<scryer_prolog::machine::loader::impl$18::add_dynamic_predicate::closure_env$0> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure$0(scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<usize,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_extensible_predicate_declaration<scryer_prolog::machine::loader::LiveLoadAndMachineState,scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>,enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize>)>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, scryer_prolog::atom_table::Atom, unsigned long long, scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_local_extensible_predicate<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::expect (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::num::imp::impl$7::fmt (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::fmt::impl$0::write_str<alloc::string::String> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::impl$67::write_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::push_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::extend_from_slice (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$4::spec_extend (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::append_elements (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::len (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<u8,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global>(enum2$<core::result::Result<core::alloc::layout::Layout,core::alloc::layout::LayoutError> >, enum2$<core::option::Option<tuple$<core::ptr::non_null::NonNull (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >::map_err(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$<u8> >,core::alloc::AllocError> >, alloc::raw_vec::finish_grow::closure_env$1 (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::heap_iter::IterStackLoc,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::reserve_for_push<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::fast_call (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::get_structure_index (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::UntypedArenaPtr::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::ArenaHeader::get_tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::ArenaHeader::tag (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::arena::ArenaHeader::tag_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::hash<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState,scryer_prolog::machine::disjuncts::BranchNumber> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$3::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$4::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (11 samples, 0.08%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (11 samples, 0.08%)`0x7FFB776E6133 (2 samples, 0.01%)`0x7FFB7996AF2D (2 samples, 0.01%)`0x7FFB7996B024 (2 samples, 0.01%)`0x7FFB7996B61A (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (49 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (49 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (49 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (49 samples, 0.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (32 samples, 0.23%)`0x7FFB776E5FE6 (32 samples, 0.23%)`0x7FFB776E6579 (30 samples, 0.22%)`0x7FFB799EDAB4 (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::meta_predicate_property (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::machine::machine_indices::CodeIndex> > >::cloned(enum2$<core::option::Option<ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex>::get_index_of(indexmap::HashValue, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::impl$2::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::impl$2::deref::__stability (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`lazy_static::lazy::Lazy<core::sync::atomic::AtomicBool>::get(core::sync::atomic::AtomicBool (*) (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sync::once::Once::call_once(lazy_static::lazy::impl$0::get::closure_env$0<core::sync::atomic::AtomicBool,core::sync::atomic::AtomicBool (*) (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys_common::once::queue::Once::is_completed (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::AtomicPtr<tuple$<> >::load (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::atomic_load(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insertion_sort_shift_left<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,alloc::slice::impl$0::sort_by::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,scryer_prolog::machine::dispatch::impl$0::keysort::closure_env$1> >(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, unsigned long long, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::sort::insert_tail(ref_mut$<slice2$<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue> > >, alloc::slice::impl$0::sort_by::closure_env$0<tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::compare_term_test (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$13::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::buf (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<scryer_prolog::atom_table::InnerAtomTable>::active_epoch<scryer_prolog::atom_table::InnerAtomTable> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::keysort (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)`0x7FFB7997B86B (2 samples, 0.01%)`0x7FFB79954452 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (19 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::push_subterm(scryer_prolog::forms::Level, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (23 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::skip_max_list (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (174 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (174 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (174 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (174 samples, 1.26%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_s (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (4 samples, 0.03%)`0x7FFB776E5FE6 (4 samples, 0.03%)`0x7FFB776E6579 (3 samples, 0.02%)`0x7FFB799EDAB4 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_special_forms (191 samples, 1.38%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::current_dir (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$13::index(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$0::index(ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::index::impl$2::index(unsigned long long, ref$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_extensible_predicate_declaration<scryer_prolog::machine::loader::impl$18::add_dynamic_predicate::closure_env$0> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure$0(scryer_prolog::machine::loader::impl$18::add_extensible_predicate_declaration::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<usize,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_extensible_predicate_declaration<scryer_prolog::machine::loader::LiveLoadAndMachineState,scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>,enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>,tuple$<scryer_prolog::atom_table::Atom,usize>)>(enum2$<scryer_prolog::machine::loader::CompilationTarget>, scryer_prolog::atom_table::Atom, unsigned long long, scryer_prolog::machine::loader::impl$15::add_dynamic_predicate::closure_env$0<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::machine::loader::RetractionRecord> (*)(enum2$<scryer_prolog::machine::loader::CompilationTarget>, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::add_in_situ_filename_module (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::add_in_situ_filename_module::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::fmt::format::format_inner (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::impl$7::next<scryer_prolog::heap_iter::StackfulPreOrderHeapIter>(scryer_prolog::heap_iter::PostOrderIterator (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::heap_iter::StackfulPreOrderHeapIter::follow (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_from_heap (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::clause_to_evacuable (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::restore_load_state_payload(enum2$<core::result::Result<scryer_prolog::arena::TypedArenaPtr<scryer_prolog::machine::term_stream::LoadStatePayload<scryer_prolog::machine::term_stream::LiveTermStream> >,enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::read_and_enqueue_term(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>, enum2$<scryer_prolog::parser::ast::RegType>, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::conclude_load (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::conclude_load::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (2 samples, 0.01%)`0x7FFB776E5FE6 (2 samples, 0.01%)`0x7FFB776E6579 (2 samples, 0.01%)`0x7FFB799EDAB4 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::declare_module (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::declare_module::closure$0 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::load_decl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::add_module(scryer_prolog::forms::ModuleDecl, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_builtins_in_module(scryer_prolog::atom_table::Atom, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tuple$<>,enum2$<scryer_prolog::machine::machine_errors::SessionError> > >::unwrap(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,enum2$<scryer_prolog::parser::ast::Literal> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<enum2$<scryer_prolog::parser::ast::Literal>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::select_switch_on_structure_index(scryer_prolog::types::HeapCellValue, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,usize> >(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,enum2$<scryer_prolog::instructions::IndexingCodePtr>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::execute_switch_on_term (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::fast_call (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::or_else(enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >, scryer_prolog::machine::system_calls::impl$2::fast_call::closure_env$1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::system_calls::impl$2::fast_call::closure$1(scryer_prolog::machine::system_calls::impl$2::fast_call::closure_env$1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::forms::ChunkedTermVec::push_chunk_term(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::forms::QueryTerm>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<http::header::map::Bucket<http::header::value::HeaderValue>,alloc::alloc::Global>::reserve_for_push<http::header::map::Bucket<http::header::value::HeaderValue>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<http::header::map::Bucket<http::header::value::HeaderValue>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchInfo::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$13::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::rbig::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::repr::impl$1::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::impl$3::clone (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::try_term_to_tl(enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$ (17 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (28 samples, 0.20%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile<scryer_prolog::machine::loader::LiveLoadAndMachineState>(tuple$ (28 samples, 0.20%)`0x7FFB776E6785 (5 samples, 0.04%)`0x7FFB799ED1F4 (5 samples, 0.04%)`0x7FFB776B79C6 (3 samples, 0.02%)`0x7FFB799ED934 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$23::drop (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::file_attr (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::cvt (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::impl$2::is_zero (5 samples, 0.04%)`0x7FFB776B7A04 (2 samples, 0.01%)`0x7FFB799ED234 (2 samples, 0.01%)`0x7FFB776E6579 (27 samples, 0.19%)`0x7FFB799EDAB4 (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`core::convert::impl$6::try_into (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`std::os::windows::io::handle::impl$12::try_from (29 samples, 0.21%)`0x7FFB776E5FE6 (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::listing_src_file_name (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`std::path::Path::is_file (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`std::fs::metadata (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::stat (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::metadata (40 samples, 0.29%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::fs::File::open (30 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::flush_term_queue (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::flush_term_queue::closure$0 (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::compile_and_submit<scryer_prolog::machine::loader::LiveLoadAndMachineState> (70 samples, 0.51%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_compiled_library (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$18::load_compiled_library::closure$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::LiveLoadAndMachineState>::import_module<scryer_prolog::machine::loader::LiveLoadAndMachineState> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::import_module_exports_into_module<scryer_prolog::machine::loader::LiveLoadAndMachineState>(scryer_prolog::machine::loader::LiveLoadAndMachineState*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, scryer_prolog::forms::Module*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,scryer_prolog::machine::machine_indices::CodeIndex,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global>,core::hash::BuildHasherDefault<fxhash::FxHasher> >*, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$181::next(core::slice::iter::Iter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::load_state::set_code_index(scryer_prolog::machine::loader::RetractionInfo*, enum2$<scryer_prolog::machine::loader::CompilationTarget>*, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::RetractionInfo::push_record(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::machine::loader::RetractionRecord>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::machine::loader::RetractionRecord>,alloc::alloc::Global>::reserve_for_push<enum2$<scryer_prolog::machine::loader::RetractionRecord>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::machine::loader::RetractionRecord>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB799727D9 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::predicate_defined (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::machine::machine_indices::CodeIndex> >::map(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_predicate_code_index (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::retry_me_else (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::trust_me_epilogue (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::unwind_trail (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_applicable_clause (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::next_clause_applicable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::try_me_else (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::CodeIndex::get (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::trail(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::TrailEntry::build_with (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deallocate (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::deref (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::types::HeapCellValue::is_var (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_list (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> >,std::thread::local::AccessError> >::unwrap(enum2$<core::result::Result<tokio::sync::rwlock::read_guard::RwLockReadGuard<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::runtime::park::CachedParkThread::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef<indexmap::set::IndexSet<scryer_prolog::atom_table::Atom,std::collections::hash::map::RandomState>,indexmap::set::IndexSet (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::impl$0::clone(indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::impl$0::clone<scryer_prolog::atom_table::Atom,tuple$<> >(indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$12::clone<usize,hashbrown::raw::inner::alloc::inner::Global>(hashbrown::raw::inner::RawTable (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$13::clone_from_spec(hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>*, hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::clone_from_impl(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<tuple$<usize,usize>,alloc::alloc::Global>::push_back(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read(enum2$<scryer_prolog::machine::streams::Stream>, indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault (29 samples, 0.21%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::TermWriter::write_term_to_heap(scryer_prolog::read::TermWriter, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$16::drop(hashbrown::raw::inner::RawTable (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::is_empty_singleton (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_read_term_options(alloc::vec::Vec<tuple$<enum2$<scryer_prolog::machine::machine_indices::VarKey>,scryer_prolog::types::HeapCellValue,usize>,alloc::alloc::Global>, alloc::vec::Vec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::push_var_eq_functors(alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>*, core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<tuple$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term<enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(ref_mut$<scryer_prolog::machine::machine_state::MachineState>,enum2$<scryer_prolog::machine::streams::Stream>)>(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::machine_indices::IndexStore*, enum2$<core::result::Result<scryer_prolog::machine::machine_state::OnEOF,alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global> > > (*)(scryer_prolog::machine::machine_state::MachineState*, enum2$ (33 samples, 0.24%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::read_term_body (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_arg (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_name_and_arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::get_arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomCell::arity_or_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::proc::read_specifier(ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`modular_bitfield::private::push_pop::impl$17::push_bits(modular_bitfield::private::push_pop::PushBuffer (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::try_functor_unify_components (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::types::HeapCellValue,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >,alloc::alloc::Global>::capacity (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::insert_full<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>,tuple$<> >::push(indexmap::HashValue, tuple$<scryer_prolog::types::HeapCellValue,scryer_prolog::types::HeapCellValue>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::unify (15 samples, 0.11%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::Unifier::unify_internal<scryer_prolog::machine::unify::DefaultUnifier> (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::unify::impl$1::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::bind (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::MachineState::write_literal_to_var (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$2::index(scryer_prolog::machine::machine_state::MachineState*, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get (261 samples, 1.88%)s..scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,scryer_prolog::forms::Module,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of (261 samples, 1.88%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::run_module_predicate(scryer_prolog::atom_table::Atom, tuple$ (261 samples, 1.88%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::dispatch_loop (261 samples, 1.88%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_state::impl$3::index_mut(scryer_prolog::machine::machine_state::MachineState*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::load_top_level (262 samples, 1.89%)s..scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$2::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::append_elements(ptr_const$<slice2$<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::len (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB799727D9 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(tuple$<scryer_prolog::atom_table::Atom,alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)`0x7FFB799747B1 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop(alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::impl$1::drop::impl$0::drop(alloc::collections::vec_deque::impl$1::drop::Dropper<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<enum2$<scryer_prolog::forms::ChunkedTerms> > >(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$189::next(core::slice::iter::IterMut<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$2::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::vec::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_fact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::BranchCodeStack::pop_branch (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::spec_extend::impl$1::spec_extend<enum2$<scryer_prolog::instructions::Instruction>,alloc::collections::vec_deque::into_iter::IntoIter<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,alloc::alloc::Global>(alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, alloc::collections::vec_deque::into_iter::IntoIter<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::reserve (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>(alloc::raw_vec::RawVec (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB79971BF2 (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_var<scryer_prolog::targets::QueryInstruction>(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::mark_reserved_var(scryer_prolog::debray_allocator::DebrayAllocator*, unsigned long long, scryer_prolog::forms::Level, core::cell::Cell<enum2$<scryer_prolog::parser::ast::VarReg> >*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::push_back(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::grow<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::collections::vec_deque::VecDeque<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>::handle_capacity_increase (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::forms::ClauseIndexInfo,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_query_line(enum2$<scryer_prolog::forms::QueryTerm>*, enum2$<scryer_prolog::parser::ast::GenContext>, alloc::collections::vec_deque::VecDeque<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target(scryer_prolog::iterators::QueryIterator, enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::max_reg_allocated (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_target<scryer_prolog::targets::FactInstruction,scryer_prolog::iterators::FactIterator>(scryer_prolog::iterators::FactIterator, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (37 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (37 samples, 0.27%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (32 samples, 0.23%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::debray_allocator::impl$5::reset (2 samples, 0.01%)`0x7FFB799747B1 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::VariableClassifier> (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<scryer_prolog::machine::disjuncts::BranchInfo> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<slice2$<scryer_prolog::machine::disjuncts::ChunkInfo> >(ptr_mut$<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$3::drop(alloc::raw_vec::RawVec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::impl$1::deallocate(alloc::alloc::Global*, core::ptr::non_null::NonNull (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::dealloc (4 samples, 0.03%)`0x7FFB799747B1 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>*, core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::extend_trusted(core::iter::adapters::map::Map<core::iter::adapters::chain::Chain<core::iter::adapters::rev::Rev<alloc::vec::into_iter::IntoIter<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global> >,core::iter::sources::once::Once<enum2$<scryer_prolog::parser::ast::Term> > >,enum2$<scryer_prolog::machine::disjuncts::TraversalState> (*)(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::set_len_on_drop::SetLenOnDrop::new (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>(alloc::raw_vec::RawVec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<enum2$<scryer_prolog::machine::disjuncts::TraversalState>,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)`0x7FFB799F6F6A (2 samples, 0.01%)`0x7FFB799747B1 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::breadth_first_iter(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::FactIterator::new(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$23::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::Ref<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$35::drop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::set (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::replace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::mem::replace (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$133::hash<std::collections::hash::map::DefaultHasher>(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$5::write<core::hash::sip::Sip13Rounds>(core::hash::sip::Hasher<core::hash::sip::Sip13Rounds>*, ref$<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::hash (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`std::collections::hash::map::impl$86::finish (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$4::finish (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::sip::impl$5::finish(core::hash::sip::Hasher (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState>::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>,std::collections::hash::map::RandomState> (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::hash<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState,scryer_prolog::machine::disjuncts::BranchNumber> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (27 samples, 0.19%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (16 samples, 0.12%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<scryer_prolog::machine::disjuncts::BranchNumber,std::collections::hash::map::RandomState>::contains (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::contains_key (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,std::collections::hash::map::RandomState>::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::get_index_of (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::bitmask::impl$2::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::bitmask::BitMask::remove_lowest_bit (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::impl$7::find::closure$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<>,scryer_prolog::machine::disjuncts::BranchNumber> >(hashbrown::raw::inner::impl$7::find::closure_env$0<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::equivalent::closure_env$0<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> > > >::cloned(enum2$<core::option::Option<ref$<alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::machine_indices::IndexStore::get_meta_predicate_spec(scryer_prolog::atom_table::Atom, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (47 samples, 0.34%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (47 samples, 0.34%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (33 samples, 0.24%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (5 samples, 0.04%)`0x7FFB7995A364 (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB7997B3C7 (5 samples, 0.04%)`0x7FFB7997BF5E (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::push (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_for_push<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<scryer_prolog::atom_table::Atom,usize>,alloc::vec::Vec<enum2$<scryer_prolog::forms::MetaSpec>,alloc::alloc::Global> >,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<ref$<str$>,ref$<str$> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<ref$<str$>,ref$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> > >::or_insert_with(enum2$<indexmap::map::core::Entry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::insert<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >(indexmap::map::core::VacantEntry<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >, alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::push(indexmap::HashValue, scryer_prolog::parser::ast::VarPtr, alloc::vec::Vec (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >::reserve_entries (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::try_reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::parser::ast::VarPtr,alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> >,alloc::alloc::Global>::grow_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB799736BD (3 samples, 0.02%)`0x7FFB799738E3 (3 samples, 0.02%)`0x7FFB79971BF2 (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7995A364 (3 samples, 0.02%)`0x7FFB7995A4EB (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_head_variables(enum2$ (22 samples, 0.16%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::iterators::impl$4::next (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::insert_full<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >::push(indexmap::HashValue, scryer_prolog::machine::disjuncts::BranchNumber, tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::push(indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::reserve_exact<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<scryer_prolog::machine::disjuncts::BranchNumber,tuple$<> >,alloc::alloc::Global>::grow_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB7995A36F (2 samples, 0.01%)`0x7FFB7995A4EB (2 samples, 0.01%)`0x7FFB79971BF2 (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)`0x7FFB7997BF5E (3 samples, 0.02%)`0x7FFB799F3FA2 (2 samples, 0.01%)`0x7FFB79971C3D (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::push (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::reserve_for_push<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::variable_records::VariableRecord,alloc::alloc::Global>::grow_amortized (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (8 samples, 0.06%)`0x7FFB799736BD (8 samples, 0.06%)`0x7FFB799738E3 (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::prepare_resize (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::fallible_with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::new_uninitialized (3 samples, 0.02%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<>,core::hash::BuildHasherDefault<fxhash::FxHasher> >::insert_full(tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::insert_full<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::push(indexmap::HashValue, tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>, tuple$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >::reserve_entries (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::try_reserve_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,tuple$<> >,alloc::alloc::Global>::grow_exact (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::VarPtr::set(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(core::cell::RefMut<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::cell::impl$42::drop (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::cell::Cell<isize>::get (5 samples, 0.04%)`0x7FFB799747B1 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`bit_set::BitSet<usize>::insert (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::set (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`bit_vec::BitVec<usize>::grow<usize> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<indexmap::Bucket<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >,alloc::alloc::Global>::capacity (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::insert<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > > >(unsigned long long, unsigned long long, indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash<usize,hashbrown::raw::inner::alloc::inner::Global,indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > > >(unsigned long long, indexmap::map::core::get_hash::closure_env$0<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::reserve_rehash_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$<Output,u64> > > >, hashbrown::raw::inner::Fallibility, hashbrown::raw::inner::TableLayout, enum2$<core::option::Option<void (*)(ptr_mut$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::resize_inner(unsigned long long, ref$<dyn$<core::ops::function::Fn<tuple$<ref_mut$<hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global> >,usize>,assoc$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::BranchMap::separate_and_classify_variables(unsigned long long, enum2$<core::option::Option (31 samples, 0.22%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::variable_records::VariableRecords::populate_restricting_sets (10 samples, 0.07%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> >,std::collections::hash::map::RandomState>(unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::insert_full<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<usize,indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault<fxhash::FxHasher> > >::push(indexmap::HashValue, unsigned long long, indexmap::set::IndexSet<tuple$<enum2$<scryer_prolog::parser::ast::GenContext>,usize>,core::hash::BuildHasherDefault (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::push (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::reserve_for_push<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::BranchInfo,alloc::alloc::Global>::grow_amortized (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (4 samples, 0.03%)`0x7FFB7997B3C7 (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::enumerate::impl$1::next(core::iter::adapters::enumerate::Enumerate<core::iter::adapters::rev::Rev<core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::iter::adapters::rev::impl$1::next(core::iter::adapters::rev::Rev<core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::impl$182::next_back(core::slice::iter::Iter (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::slice::iter::Iter<scryer_prolog::machine::disjuncts::BranchInfo>::pre_dec_end (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::sub (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::const_ptr::impl$0::offset (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::cmp::impl$6::cmp (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$21::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::with_sign (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::is_zero (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::capacity (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::impl$3::mul(enum2$<dashu_int::repr::TypedReprRef>, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::mul_dword (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::repr::mul_dword_spilled (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$19::extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::spec_extend::impl$1::spec_extend(alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>*, alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::extend_trusted(alloc::vec::drain::Drain (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::reserve (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::impl$1::reserve::do_reserve_and_handle(alloc::raw_vec::RawVec (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<scryer_prolog::machine::disjuncts::ChunkInfo,alloc::alloc::Global>::grow_amortized (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`dashu_int::gcd_ops::impl$3::gcd (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::mul_ops::impl$21::mul (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$5::sub (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::add::impl$11::sub_assign (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`dashu_int::div_ops::impl$75::div (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`dashu_int::repr::Repr::with_sign (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (187 samples, 1.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (187 samples, 1.35%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (187 samples, 1.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (187 samples, 1.35%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (141 samples, 1.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (141 samples, 1.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (141 samples, 1.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (139 samples, 1.00%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (139 samples, 1.00%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (139 samples, 1.00%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::merge_branches (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::merge_branch_seq(alloc::vec::drain::Drain (18 samples, 0.13%)scryer-7e5e7ddde7310dd8.exe`dashu_ratio::mul::impl$19::mul (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::eof (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::read::devour_whitespace(scryer_prolog::parser::parser::Parser<enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::consume_layout(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::single_line_comment (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_term (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::reduce_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::parser::parser::TokenDesc,alloc::alloc::Global>::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::push_binary_op<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (2 samples, 0.01%)`0x7FFB7997B3C7 (2 samples, 0.01%)`0x7FFB7997B748 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::ast::Term>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)`0x7FFB7997BF5E (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift<enum2$<scryer_prolog::machine::streams::Stream> >(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$27::from (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::impl$26::from(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::rc::Rc<core::cell::RefCell<enum2$<scryer_prolog::parser::ast::Var> > >::new(core::cell::RefCell<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$0::new(alloc::rc::RcBox<core::cell::RefCell<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::alloc::exchange_malloc (4 samples, 0.03%)`0x7FFB7997B3C7 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::global_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`tokio::future::block_on::block_on<enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak<core::sync::atomic::AtomicU8>,alloc::alloc::Global> > > >(enum2$<tokio::sync::rwlock::impl$14::read::async_fn_env$0<alloc::vec::Vec<alloc::sync::Weak (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::cloned(enum2$<core::option::Option<ref$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc>::get_index_of(indexmap::HashValue, tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::likely (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::arc_atom_table (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (20 samples, 0.14%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_op (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::get_op_desc (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::ast::CompositeOpDir::get (8 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<ref$<scryer_prolog::parser::ast::OpDesc> > >::or_else(enum2$<core::option::Option<ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher>,tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity> >(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::get_index_of(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<tuple$<scryer_prolog::atom_table::Atom,scryer_prolog::parser::ast::Fixity>,scryer_prolog::parser::ast::OpDesc,core::hash::BuildHasherDefault<fxhash::FxHasher> >::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::hash::impls::impl$23::hash(tuple$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$5::hash (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_str (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::Atom::as_ptr (3 samples, 0.02%)`0x7FFB79971BF2 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (5 samples, 0.04%)`0x7FFB799736BD (5 samples, 0.04%)`0x7FFB799738E3 (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`core::ptr::write(enum2$<scryer_prolog::parser::lexer::Token>*, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<bool,enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::scan_for_layout<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::Rcu<scryer_prolog::atom_table::InnerAtomTable>::active_epoch<scryer_prolog::atom_table::InnerAtomTable> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::once::OnceCell<alloc::sync::Arc<core::sync::atomic::AtomicU8> > >::with(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::thread::local::LocalKey<core::cell::once::OnceCell<alloc::sync::Arc<core::sync::atomic::AtomicU8> > >::try_with(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$1::active_epoch::closure$0(scryer_prolog::rcu::impl$1::active_epoch::closure_env$0<scryer_prolog::atom_table::InnerAtomTable>, core::cell::once::OnceCell<alloc::sync::Arc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::AtomTable::build_with(ref$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::rcu::impl$4::deref(scryer_prolog::rcu::RcuRef (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::option::Option<scryer_prolog::atom_table::Atom> >::or_else(enum2$<core::option::Option (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::atom_table::impl$14::lookup_str::closure$0 (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::IndexMap<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState>::get_key_value<scryer_prolog::atom_table::Atom,tuple$<>,std::collections::hash::map::RandomState,str$>(ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`indexmap::map::core::IndexMapCore<scryer_prolog::atom_table::Atom,tuple$<> >::get_index_of<scryer_prolog::atom_table::Atom,tuple$<>,str$>(indexmap::HashValue, ref$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::get(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTable<usize,hashbrown::raw::inner::alloc::inner::Global>::find(unsigned long long, indexmap::map::core::equivalent::closure_env$0<scryer_prolog::atom_table::Atom,tuple$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`hashbrown::raw::inner::RawTableInner<hashbrown::raw::inner::alloc::inner::Global>::find_inner(unsigned long long, ref_mut$<dyn$<core::ops::function::FnMut<tuple$<usize>,assoc$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::get_single_quoted_item (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (13 samples, 0.09%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::lookahead_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::streams::impl$28::peek_char(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::string::String::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<u8,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::with_capacity_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<u8,alloc::alloc::Global>::allocate_in (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`std::alloc::__default_lib_allocator::__rdl_alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::alloc::impl$0::alloc (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::alloc::allocate (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (249 samples, 1.80%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (57 samples, 0.41%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (57 samples, 0.41%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (57 samples, 0.41%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (33 samples, 0.24%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::variable_token (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::read_char (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::impl$25::drop(alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ptr_mut$<slice2$<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place<enum2$<scryer_prolog::forms::PredicateClause> >(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<alloc::vec::Vec<enum2$<scryer_prolog::instructions::Instruction>,alloc::alloc::Global>,enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_predicate(alloc::vec::Vec<enum2$ (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_pred_subseq(ref_mut$<slice2$<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_rule (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::codegen::CodeGenerator::compile_seq(scryer_prolog::forms::ChunkedTermVec*, alloc::collections::vec_deque::VecDeque<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_term(unsigned long long, unsigned long long, enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::probe_body_var (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<scryer_prolog::machine::disjuncts::VarInfo,alloc::alloc::Global>::push (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::forms::ChunkedTermVec,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_body_variables<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure$1<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::impl$10::classify_body_variables::closure_env$1<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::machine::disjuncts::VariableClassifier*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::clause_to_query_term<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, scryer_prolog::atom_table::Atom, alloc::vec::Vec<enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (14 samples, 0.10%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::shift_token(enum2$ (3 samples, 0.02%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (24 samples, 0.17%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (9 samples, 0.06%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load_decl(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::use_module<scryer_prolog::machine::loader::BootstrappingLoadState>(enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (25 samples, 0.18%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::machine::loader::CompilationTarget>,enum2$ (278 samples, 2.01%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (278 samples, 2.01%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::impl$11::evacuate(scryer_prolog::machine::loader::Loader (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile_and_submit<scryer_prolog::machine::loader::BootstrappingLoadState> (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<scryer_prolog::machine::machine_indices::CodeIndex,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::compile<scryer_prolog::machine::loader::BootstrappingLoadState>(tuple$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::try_term_to_tl(enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<enum2$<scryer_prolog::forms::TopLevel>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::try_term_to_tl<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::preprocessor::Preprocessor::setup_rule(scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<tuple$<enum2$<scryer_prolog::parser::ast::Term>,scryer_prolog::forms::ChunkedTermVec,scryer_prolog::machine::disjuncts::VarData>,enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::disjuncts::VariableClassifier::classify_rule<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::disjuncts::VariableClassifier, scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>*, enum2$<scryer_prolog::parser::ast::Term>, enum2$ (4 samples, 0.03%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec<enum2$<scryer_prolog::parser::lexer::Token>,alloc::alloc::Global>::push(enum2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::reserve_for_push<bytes::bytes::Bytes,alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::RawVec<bytes::bytes::Bytes,alloc::alloc::Global>::grow_amortized (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::impl$26::branch(enum2$<core::result::Result<core::ptr::non_null::NonNull<slice2$ (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::raw_vec::finish_grow<alloc::alloc::Global> (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::result::Result::map_err (2 samples, 0.01%)`0x7FFB799736BD (2 samples, 0.01%)`0x7FFB799738E3 (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::dequeue_terms (7 samples, 0.05%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::term_stream::impl$1::next (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >::map_err(enum2$<core::result::Result<enum2$<scryer_prolog::parser::ast::Term>,enum2$<scryer_prolog::parser::ast::ParserError> > >, enum2$<scryer_prolog::machine::machine_errors::CompilationError> (*)(enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::Parser<enum2$<scryer_prolog::machine::streams::Stream> >::read_term<enum2$<scryer_prolog::machine::streams::Stream> >(scryer_prolog::parser::ast::CompositeOpDir*, enum2$ (6 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::parser::read_tokens(scryer_prolog::parser::lexer::Lexer<enum2$ (5 samples, 0.04%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::next_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::parser::lexer::Lexer<enum2$<scryer_prolog::machine::streams::Stream> >::name_token<enum2$<scryer_prolog::machine::streams::Stream> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::compile::bootstrapping_compile(enum2$<scryer_prolog::machine::streams::Stream>, scryer_prolog::machine::Machine*, enum2$ (286 samples, 2.06%)s..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::loader::Loader<scryer_prolog::machine::loader::BootstrappingLoadState>::load<scryer_prolog::machine::loader::BootstrappingLoadState>(scryer_prolog::machine::loader::Loader (8 samples, 0.06%)`0x7FFB79167614 (13,782 samples, 99.48%)`0x7FFB79167614scryer-7e5e7ddde7310dd8.exe`std::sys::windows::thread::impl$0::new::thread_start (13,728 samples, 99.09%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::thread::impl$0::new::thread_startscryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$47::call_once (13,728 samples, 99.09%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$47::call_oncescryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$47::call_once (13,728 samples, 99.09%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$47::call_oncescryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<std::thread::impl$0::spawn_unchecked_::closure_env$1<test::run_test::run_test_inner::closure_env$1,tuple$<> >,tuple$<> > (13,726 samples, 99.08%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<std::thread::impl$0::spawn_unchecked_::closure_env$1<test::run_test::run_test_inner::closure_env$1..scryer-7e5e7ddde7310dd8.exe`std::thread::impl$0::spawn_unchecked_::closure$1 (13,726 samples, 99.08%)scryer-7e5e7ddde7310dd8.exe`std::thread::impl$0::spawn_unchecked_::closure$1scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$23::deref (13,726 samples, 99.08%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::impl$23::derefscryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc::inner (13,726 samples, 99.08%)scryer-7e5e7ddde7310dd8.exe`alloc::sync::Arc::innerscryer-7e5e7ddde7310dd8.exe`core::ptr::non_null::NonNull::as_ref (13,726 samples, 99.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::non_null::NonNull::as_refscryer-7e5e7ddde7310dd8.exe`std::sys_common::backtrace::__rust_begin_short_backtrace<test::run_test::run_test_inner::closure_env$1,tuple$<> > (13,726 samples, 99.08%)scryer-7e5e7ddde7310dd8.exe`std::sys_common::backtrace::__rust_begin_short_backtrace<test::run_test::run_test_inner::closure_env$1,tuple$<> >scryer-7e5e7ddde7310dd8.exe`test::run_test::run_test_inner::closure$1 (13,726 samples, 99.08%)scryer-7e5e7ddde7310dd8.exe`test::run_test::run_test_inner::closure$1scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (13,726 samples, 99.08%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_placescryer-7e5e7ddde7310dd8.exe`std::sync::mutex::impl$12::drop (13,726 samples, 99.08%)scryer-7e5e7ddde7310dd8.exe`std::sync::mutex::impl$12::dropscryer-7e5e7ddde7310dd8.exe`std::sync::poison::Flag::done (13,726 samples, 99.08%)scryer-7e5e7ddde7310dd8.exe`std::sync::poison::Flag::donescryer-7e5e7ddde7310dd8.exe`test::run_test::run_test_inner::closure$0 (13,726 samples, 99.08%)scryer-7e5e7ddde7310dd8.exe`test::run_test::run_test_inner::closure$0scryer-7e5e7ddde7310dd8.exe`test::run_test_in_process (13,726 samples, 99.08%)scryer-7e5e7ddde7310dd8.exe`test::run_test_in_processscryer-7e5e7ddde7310dd8.exe`std::panic::catch_unwind (13,724 samples, 99.06%)scryer-7e5e7ddde7310dd8.exe`std::panic::catch_unwindscryer-7e5e7ddde7310dd8.exe`std::panicking::try (13,724 samples, 99.06%)scryer-7e5e7ddde7310dd8.exe`std::panicking::tryscryer-7e5e7ddde7310dd8.exe`std::panicking::try::do_call (13,724 samples, 99.06%)scryer-7e5e7ddde7310dd8.exe`std::panicking::try::do_callscryer-7e5e7ddde7310dd8.exe`core::panic::unwind_safe::impl$23::call_once (13,724 samples, 99.06%)scryer-7e5e7ddde7310dd8.exe`core::panic::unwind_safe::impl$23::call_oncescryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$47::call_once (13,724 samples, 99.06%)scryer-7e5e7ddde7310dd8.exe`alloc::boxed::impl$47::call_oncescryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<test::run_test::closure_env$1,tuple$<> > (13,724 samples, 99.06%)scryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<test::run_test::closure_env$1,tuple$<> >scryer-7e5e7ddde7310dd8.exe`test::__rust_begin_short_backtrace<enum2$<core::result::Result<tuple$<>,alloc::string::String> >,enum2$<core::result::Result<tuple$<>,alloc::string::String> > (*)()> (13,724 samples, 99.06%)scryer-7e5e7ddde7310dd8.exe`test::__rust_begin_short_backtrace<enum2$<core::result::Result<tuple$<>,alloc::string::String> >,enum2$<core::result::Result<tuple$<>,all..scryer-7e5e7ddde7310dd8.exe`test::bench::black_box (13,724 samples, 99.06%)scryer-7e5e7ddde7310dd8.exe`test::bench::black_boxscryer-7e5e7ddde7310dd8.exe`core::hint::black_box (13,724 samples, 99.06%)scryer-7e5e7ddde7310dd8.exe`core::hint::black_boxscryer-7e5e7ddde7310dd8.exe`core::ops::function::FnOnce::call_once<scryer::src_tests::syntax_error::closure_env$0,tuple$<> > (974 samples, 7.03%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`scryer::src_tests::syntax_error::closure$0 (974 samples, 7.03%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`test::assert_test_result(tuple$ (974 samples, 7.03%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`serial_test::serial_code_lock::local_serial_core(ref$<str$>, void (*) (974 samples, 7.03%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place (974 samples, 7.03%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`serial_test::rwlock::impl$0::drop (974 samples, 7.03%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`parking_lot::condvar::Condvar::notify_one (974 samples, 7.03%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::AtomicPtr<parking_lot::raw_mutex::RawMutex>::load (974 samples, 7.03%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`core::sync::atomic::atomic_load (974 samples, 7.03%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`scryer::helper::load_module_test<ref$<str$> >(ref$<str$>, ref$ (974 samples, 7.03%)scryer-7e..scryer-7e5e7ddde7310dd8.exe`scryer_prolog::machine::Machine::with_test_streams (743 samples, 5.36%)scryer-..`0x7FFB799675B6 (2 samples, 0.01%)`0x7FFB79969A1D (2 samples, 0.01%)`0x7FFB799A26B1 (13,787 samples, 99.52%)`0x7FFB799A26B1`0x7FFB7916761D (5 samples, 0.04%)`0x7FFB799A468E (5 samples, 0.04%)`0x7FFB7996763B (2 samples, 0.01%)`0x7FFB79969AFF (2 samples, 0.01%)`0x7FFB79969A1D (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::thread_local_key::on_tls_callback (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::thread_local_key::on_tls_callback::reference_tls_used (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::windows::thread_local_dtor::run_keyless_dtors (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`alloc::vec::Vec::pop (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`std::sys::common::thread_local::fast_local::destroy_value<ref_thread_local::refmanager::RefManagerDataGuard<indexmap::map::IndexMap<ref$<str$>,ref$<str$>,std::collections::hash::map::RandomState> > > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`ref_thread_local::refmanager::RefManagerDataGuard<indexmap::map::IndexMap<ref$<str$>,ref$<str$>,std::collections::hash::map::RandomState> >::destroy<indexmap::map::IndexMap<ref$<str$>,ref$<str$>,std::collections::hash::map::RandomState> > (2 samples, 0.01%)scryer-7e5e7ddde7310dd8.exe`core::ptr::drop_in_place(ref_thread_local::refmanager::RefManagerInnerData<indexmap::map::IndexMap<ref$<str$>,ref$ (2 samples, 0.01%)`0x7FFB7996FB31 (4 samples, 0.03%)`0x7FFB799BB2FD (4 samples, 0.03%)`0x7FFB79964479 (4 samples, 0.03%)`0x7FFB79964C14 (3 samples, 0.02%)`0x7FFB79967BC4 (2 samples, 0.01%)`0x7FFB79A2393E (7 samples, 0.05%)`0x7FFB79966AF4 (7 samples, 0.05%)`0x7FFB799673E4 (7 samples, 0.05%)`0x7FFB7996FBAE (2 samples, 0.01%)`0x7FFB7998D947 (2 samples, 0.01%)`0x7FFB799BC120 (2 samples, 0.01%)`0x7FFB799BC09A (2 samples, 0.01%)`0x7FFB799BC307 (2 samples, 0.01%)`0x7FFB79969A1D (2 samples, 0.01%)`0x7FFB7995FA99 (2 samples, 0.01%)`0x7FFB799606E7 (2 samples, 0.01%)`0x7FFB79964BCF (3 samples, 0.02%)`0x7FFB799679D2 (2 samples, 0.01%)`0x7FFB79965096 (2 samples, 0.01%)`0x7FFB79964BCF (2 samples, 0.01%)`0x7FFB79967B29 (3 samples, 0.02%)`0x7FFB79967B29 (8 samples, 0.06%)`0x7FFB799688A8 (8 samples, 0.06%)`0x7FFB79964479 (8 samples, 0.06%)`0x7FFB79964C14 (5 samples, 0.04%)`0x7FFB799688A8 (15 samples, 0.11%)`0x7FFB79964479 (15 samples, 0.11%)`0x7FFB79964C14 (12 samples, 0.09%)`0x7FFB79967BA2 (2 samples, 0.01%)`0x7FFB7995F49F (2 samples, 0.01%)`0x7FFB79962A66 (2 samples, 0.01%)`0x7FFB79962BD9 (2 samples, 0.01%)`0x7FFB799EFE24 (2 samples, 0.01%)`0x7FFB79A23CDD (17 samples, 0.12%)`0x7FFB79967B29 (16 samples, 0.12%)`0x7FFB799AFCDC (2 samples, 0.01%)`0x7FFB799ED674 (2 samples, 0.01%)`0x7FFB79A23CE7 (3 samples, 0.02%)`0x7FFB799AEB98 (3 samples, 0.02%)`0x7FFB799AECB0 (3 samples, 0.02%)`0x7FFB799AF7F0 (3 samples, 0.02%)`0x7FFB76AE6287 (2 samples, 0.01%)`0x7FFB76AE244C (2 samples, 0.01%)`0x7FFB76AE60CF (2 samples, 0.01%)`0x7FFB76AE2732 (2 samples, 0.01%)`0x7FFB79960446 (2 samples, 0.01%)`0x7FFB79981927 (2 samples, 0.01%)`0x7FFB799666EE (2 samples, 0.01%)`0x7FFB79966D40 (2 samples, 0.01%)`0x7FFB7996FB53 (2 samples, 0.01%)`0x7FFB799AECB0 (2 samples, 0.01%)`0x7FFB77B514CF (2 samples, 0.01%)`0x7FFB783E64FF (2 samples, 0.01%)`0x7FFB799BC09A (11 samples, 0.08%)`0x7FFB799BC307 (11 samples, 0.08%)`0x7FFB79969A1D (11 samples, 0.08%)`0x7FFB78EE4A4F (3 samples, 0.02%)`0x7FFB793582B0 (2 samples, 0.01%)`0x7FFB799C4DFB (56 samples, 0.40%)`0x7FFB79A23E22 (25 samples, 0.18%)`0x7FFB799BC120 (25 samples, 0.18%)`0x7FFB799BC120 (14 samples, 0.10%)`0x7FFB799BC09A (14 samples, 0.10%)`0x7FFB799BC307 (14 samples, 0.10%)`0x7FFB79969A1D (14 samples, 0.10%)`0x7FFB793584AA (3 samples, 0.02%)`0x7FFB773C27FE (3 samples, 0.02%)`0x7FFB77376C84 (3 samples, 0.02%)`0x7FFB7996789F (6 samples, 0.04%)`0x7FFB79969A1D (6 samples, 0.04%)`0x7FFB799C4C83 (64 samples, 0.46%)`0x7FFB799C50A4 (8 samples, 0.06%)all (13,854 samples, 100%)`0x7FFB799C4C2E (65 samples, 0.47%) \ No newline at end of file diff --git a/src/arena.rs b/src/arena.rs index 9434b28d..0631decc 100644 --- a/src/arena.rs +++ b/src/arena.rs @@ -4,12 +4,16 @@ use crate::machine::loader::LiveLoadState; use crate::machine::machine_indices::*; use crate::machine::streams::*; use crate::raw_block::*; +use crate::rcu::Rcu; +use crate::rcu::RcuRef; use crate::read::*; -use ordered_float::OrderedFloat; use crate::parser::dashu::{Integer, Rational}; +use ordered_float::OrderedFloat; +use tokio::sync::RwLock; use std::alloc; +use std::cell::UnsafeCell; use std::fmt; use std::hash::{Hash, Hasher}; use std::mem; @@ -22,7 +26,9 @@ macro_rules! arena_alloc { ($e:expr, $arena:expr) => {{ let result = $e; #[allow(unused_unsafe)] - unsafe { ArenaAllocated::alloc($arena, result) } + unsafe { + ArenaAllocated::alloc($arena, result) + } }}; } @@ -31,24 +37,36 @@ macro_rules! float_alloc { ($e:expr, $arena:expr) => {{ let result = $e; #[allow(unused_unsafe)] - unsafe { $arena.f64_tbl.build_with(result) } + unsafe { + $arena.f64_tbl.build_with(result).as_ptr() + } }}; } -#[cfg(test)] -use std::cell::RefCell; +use std::sync::Arc; +use std::sync::Mutex; +use std::sync::Weak; const F64_TABLE_INIT_SIZE: usize = 1 << 16; const F64_TABLE_ALIGN: usize = 8; -#[cfg(test)] -thread_local! { - static F64_TABLE_BUF_BASE: RefCell<*const u8> = RefCell::new(ptr::null_mut()); +#[inline(always)] +fn global_f64table() -> &'static RwLock> { + #[cfg(feature = "rust_beta_channel")] + { + // const Weak::new will be stabilized in 1.73 which is currently in beta, + // till then we need a OnceLock for initialization + static GLOBAL_ATOM_TABLE: RwLock> = RwLock::const_new(Weak::new()); + &GLOBAL_ATOM_TABLE + } + #[cfg(not(feature = "rust_beta_channel"))] + { + use std::sync::OnceLock; + static GLOBAL_ATOM_TABLE: OnceLock>> = OnceLock::new(); + GLOBAL_ATOM_TABLE.get_or_init(|| RwLock::new(Weak::new())) + } } -#[cfg(not(test))] -static mut F64_TABLE_BUF_BASE: *const u8 = ptr::null_mut(); - impl RawBlockTraits for F64Table { #[inline] fn init_size() -> usize { @@ -63,69 +81,86 @@ impl RawBlockTraits for F64Table { #[derive(Debug)] pub struct F64Table { - block: RawBlock, -} - -impl Drop for F64Table { - fn drop(&mut self) { - self.block.deallocate(); - } -} - -#[cfg(test)] -fn set_f64_tbl_buf_base(ptr: *const u8) { - F64_TABLE_BUF_BASE.with(|f64_table_buf_base| { - *f64_table_buf_base.borrow_mut() = ptr; - }); -} - -#[cfg(test)] -pub(crate) fn get_f64_tbl_buf_base() -> *const u8 { - F64_TABLE_BUF_BASE.with(|f64_table_buf_base| *f64_table_buf_base.borrow()) -} - -#[cfg(not(test))] -fn set_f64_tbl_buf_base(ptr: *const u8) { - unsafe { - F64_TABLE_BUF_BASE = ptr; - } -} - -#[cfg(not(test))] -pub(crate) fn get_f64_tbl_buf_base() -> *const u8 { - unsafe { F64_TABLE_BUF_BASE } + block: Rcu>, + update: Mutex<()>, } #[inline(always)] -pub fn lookup_float(offset: usize) -> *mut OrderedFloat { - let base = get_f64_tbl_buf_base() as usize; - (base + offset) as *mut _ +pub fn lookup_float( + offset: F64Offset, +) -> RcuRef, UnsafeCell>> { + let f64table = global_f64table() + .blocking_read() + .upgrade() + .expect("We should only be looking up floats while there is a float table"); + + RcuRef::try_map(f64table.block.active_epoch(), |raw_block| unsafe { + raw_block + .base + .offset(offset.0 as isize) + .cast_mut() + .cast::>>() + .as_ref() + }) + .expect("The offset should result in a non-null pointer") } impl F64Table { #[inline] - pub fn new() -> Self { - let table = Self { block: RawBlock::new() }; - set_f64_tbl_buf_base(table.block.base); - table + pub fn new() -> Arc { + let upgraded = global_f64table().blocking_read().upgrade(); + // don't inline upgraded, otherwise temporary will be dropped too late in case of None + if let Some(atom_table) = upgraded { + atom_table + } else { + let mut guard = global_f64table().blocking_write(); + // try to upgrade again in case we lost the race on the write lock + if let Some(atom_table) = guard.upgrade() { + atom_table + } else { + let atom_table = Arc::new(Self { + block: Rcu::new(RawBlock::new()), + update: Mutex::new(()), + }); + *guard = Arc::downgrade(&atom_table); + atom_table + } + } } - pub unsafe fn build_with(&mut self, value: f64) -> F64Ptr { + pub unsafe fn build_with(&self, value: f64) -> F64Offset { + let update_guard = self.update.lock(); + + // we don't have an index table for lookups as AtomTable does so + // just get the epoch after we take the upgrade lock + let mut block_epoch = self.block.active_epoch(); + let mut ptr; loop { - ptr = self.block.alloc(mem::size_of::()); + ptr = block_epoch.alloc(mem::size_of::()); if ptr.is_null() { - self.block.grow(); - set_f64_tbl_buf_base(self.block.base); + let new_block = block_epoch.grow_new().unwrap(); + self.block.replace(new_block); + block_epoch = self.block.active_epoch(); } else { break; } } ptr::write(ptr as *mut OrderedFloat, OrderedFloat(value)); - F64Ptr(ptr::NonNull::new_unchecked(ptr as *mut _)) + + let float = F64Offset { + 0: ptr as usize - block_epoch.base as usize, + }; + + // atometable would have to update the index table at this point + + // expicit drop to ensure we don't accidentally drop it early + drop(update_guard); + + float } } @@ -141,7 +176,7 @@ pub enum ArenaHeaderTag { OutputFileStream = 0b10100, NamedTcpStream = 0b011100, NamedTlsStream = 0b100000, - HttpReadStream = 0b100001, + HttpReadStream = 0b100001, HttpWriteStream = 0b100010, ReadlineStream = 0b110000, StaticStringStream = 0b110100, @@ -276,7 +311,9 @@ impl TypedArenaPtr { #[inline] pub fn set_tag(&mut self, tag: ArenaHeaderTag) { - unsafe { (*self.header_ptr_mut()).set_tag(tag); } + unsafe { + (*self.header_ptr_mut()).set_tag(tag); + } } #[inline] @@ -313,10 +350,10 @@ pub trait ArenaAllocated: Sized { unsafe fn alloc(arena: &mut Arena, value: Self) -> Self::PtrToAllocated { let size = value.size() + mem::size_of::(); - #[cfg(target_pointer_width="32")] + #[cfg(target_pointer_width = "32")] let align = mem::align_of::() * 2; - #[cfg(target_pointer_width="64")] + #[cfg(target_pointer_width = "64")] let align = mem::align_of::(); let layout = alloc::Layout::from_size_align_unchecked(size, align); @@ -334,12 +371,18 @@ pub trait ArenaAllocated: Sized { } } -#[derive(Copy, Clone, Debug)] -pub struct F64Ptr(pub ptr::NonNull>); +#[derive(Debug)] +pub struct F64Ptr(RcuRef, UnsafeCell>>); + +impl Clone for F64Ptr { + fn clone(&self) -> Self { + Self(RcuRef::clone(&self.0)) + } +} impl PartialEq for F64Ptr { fn eq(&self, other: &F64Ptr) -> bool { - self.0 == other.0 || &**self == &**other + RcuRef::ptr_eq(&self.0, &other.0) || self.deref() == other.deref() } } @@ -375,28 +418,26 @@ impl Deref for F64Ptr { #[inline] fn deref(&self) -> &Self::Target { - unsafe { &*self.0.as_ptr() } + unsafe { &*self.0.get().as_ref().unwrap() } } } impl DerefMut for F64Ptr { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { - unsafe { &mut *self.0.as_ptr() } + unsafe { &mut *self.0.get().as_mut().unwrap() } } } impl F64Ptr { #[inline(always)] - pub fn from_offset(offset: usize) -> Self { - unsafe { - F64Ptr(ptr::NonNull::new_unchecked(lookup_float(offset))) - } + pub fn from_offset(offset: F64Offset) -> Self { + Self(lookup_float(offset)) } #[inline(always)] pub fn as_offset(&self) -> F64Offset { - F64Offset(self.0.as_ptr() as usize - get_f64_tbl_buf_base() as usize) + F64Offset(self.0.get() as usize - RcuRef::get_root(&self.0).base as usize) } } @@ -416,7 +457,7 @@ impl F64Offset { #[inline(always)] pub fn as_ptr(self) -> F64Ptr { - F64Ptr::from_offset(self.0) + F64Ptr::from_offset(self) } #[inline(always)] @@ -577,20 +618,20 @@ impl ArenaAllocated for HttpListener { #[inline] fn tag() -> ArenaHeaderTag { - ArenaHeaderTag::HttpListener + ArenaHeaderTag::HttpListener } #[inline] fn size(&self) -> usize { - mem::size_of::() + mem::size_of::() } #[inline] fn copy_to_arena(self, dst: *mut Self) -> Self::PtrToAllocated { - unsafe { - ptr::write(dst, self); - TypedArenaPtr::new(dst as *mut Self) - } + unsafe { + ptr::write(dst, self); + TypedArenaPtr::new(dst as *mut Self) + } } } @@ -600,20 +641,20 @@ impl ArenaAllocated for HttpResponse { #[inline] fn tag() -> ArenaHeaderTag { - ArenaHeaderTag::HttpResponse + ArenaHeaderTag::HttpResponse } #[inline] fn size(&self) -> usize { - mem::size_of::() + mem::size_of::() } #[inline] fn copy_to_arena(self, dst: *mut Self) -> Self::PtrToAllocated { - unsafe { - ptr::write(dst, self); - TypedArenaPtr::new(dst as *mut Self) - } + unsafe { + ptr::write(dst, self); + TypedArenaPtr::new(dst as *mut Self) + } } } @@ -664,7 +705,7 @@ impl ArenaAllocated for IndexPtr { #[derive(Clone, Copy, Debug)] struct AllocSlab { next: *mut AllocSlab, - #[cfg(target_pointer_width="32")] + #[cfg(target_pointer_width = "32")] _padding: u32, header: ArenaHeader, } @@ -672,7 +713,7 @@ struct AllocSlab { #[derive(Debug)] pub struct Arena { base: *mut AllocSlab, - pub f64_tbl: F64Table, + pub f64_tbl: Arc, } unsafe impl Send for Arena {} @@ -681,7 +722,10 @@ unsafe impl Sync for Arena {} impl Arena { #[inline] pub fn new() -> Self { - Arena { base: ptr::null_mut(), f64_tbl: F64Table::new() } + Arena { + base: ptr::null_mut(), + f64_tbl: F64Table::new(), + } } } @@ -712,10 +756,10 @@ unsafe fn drop_slab_in_place(value: &mut AllocSlab) { #[cfg(feature = "http")] ptr::drop_in_place(value.payload_offset::>>()); } - ArenaHeaderTag::HttpWriteStream => { + ArenaHeaderTag::HttpWriteStream => { #[cfg(feature = "http")] - ptr::drop_in_place(value.payload_offset::>>()); - } + ptr::drop_in_place(value.payload_offset::>>()); + } ArenaHeaderTag::ReadlineStream => { ptr::drop_in_place(value.payload_offset::>()); } @@ -731,29 +775,29 @@ unsafe fn drop_slab_in_place(value: &mut AllocSlab) { ArenaHeaderTag::LiveLoadState | ArenaHeaderTag::InactiveLoadState => { ptr::drop_in_place(value.payload_offset::()); } - ArenaHeaderTag::Dropped => { - } + ArenaHeaderTag::Dropped => {} ArenaHeaderTag::TcpListener => { ptr::drop_in_place(value.payload_offset::()); } - ArenaHeaderTag::HttpListener => { + ArenaHeaderTag::HttpListener => { #[cfg(feature = "http")] - ptr::drop_in_place(value.payload_offset::()); - } - ArenaHeaderTag::HttpResponse => { + ptr::drop_in_place(value.payload_offset::()); + } + ArenaHeaderTag::HttpResponse => { #[cfg(feature = "http")] - ptr::drop_in_place(value.payload_offset::()); - } + ptr::drop_in_place(value.payload_offset::()); + } ArenaHeaderTag::StandardOutputStream => { ptr::drop_in_place(value.payload_offset::>()); } ArenaHeaderTag::StandardErrorStream => { ptr::drop_in_place(value.payload_offset::>()); } - ArenaHeaderTag::NullStream | ArenaHeaderTag::IndexPtrUndefined | - ArenaHeaderTag::IndexPtrDynamicUndefined | ArenaHeaderTag::IndexPtrDynamicIndex | - ArenaHeaderTag::IndexPtrIndex => { - } + ArenaHeaderTag::NullStream + | ArenaHeaderTag::IndexPtrUndefined + | ArenaHeaderTag::IndexPtrDynamicUndefined + | ArenaHeaderTag::IndexPtrDynamicIndex + | ArenaHeaderTag::IndexPtrIndex => {} } } @@ -801,23 +845,25 @@ const_assert!(mem::size_of::>() == 8); #[cfg(test)] mod tests { + use std::ops::Deref; + use crate::machine::mock_wam::*; use crate::machine::partial_string::*; - use ordered_float::OrderedFloat; use crate::parser::dashu::{Integer, Rational}; + use ordered_float::OrderedFloat; #[test] fn float_ptr_cast() { - let mut wam = MockWAM::new(); + let wam = MockWAM::new(); let f = 0f64; let fp = float_alloc!(f, wam.machine_st.arena); - let mut cell = HeapCellValue::from(fp); + let mut cell = HeapCellValue::from(fp.clone()); assert_eq!(cell.get_tag(), HeapCellValueTag::F64); assert_eq!(cell.get_mark_bit(), false); - assert_eq!(*fp, OrderedFloat(f)); + assert_eq!(fp.deref(), &OrderedFloat(f)); cell.set_mark_bit(true); @@ -834,12 +880,12 @@ mod tests { #[test] fn heap_cell_value_const_cast() { let mut wam = MockWAM::new(); - #[cfg(target_pointer_width="32")] + #[cfg(target_pointer_width = "32")] let const_value = HeapCellValue::from(ConsPtr::build_with( 0x0000_0431 as *const _, ConsPtrMaskTag::Cons, )); - #[cfg(target_pointer_width="64")] + #[cfg(target_pointer_width = "64")] let const_value = HeapCellValue::from(ConsPtr::build_with( 0x0000_5555_ff00_0431 as *const _, ConsPtrMaskTag::Cons, @@ -847,7 +893,10 @@ mod tests { match const_value.to_untyped_arena_ptr() { Some(arena_ptr) => { - assert_eq!(arena_ptr.into_bytes(), const_value.to_untyped_arena_ptr_bytes()); + assert_eq!( + arena_ptr.into_bytes(), + const_value.to_untyped_arena_ptr_bytes() + ); } None => { assert!(false); @@ -860,7 +909,10 @@ mod tests { match stream_cell.to_untyped_arena_ptr() { Some(arena_ptr) => { - assert_eq!(arena_ptr.into_bytes(), stream_cell.to_untyped_arena_ptr_bytes()); + assert_eq!( + arena_ptr.into_bytes(), + stream_cell.to_untyped_arena_ptr_bytes() + ); } None => { assert!(false); @@ -875,8 +927,7 @@ mod tests { // integer let big_int: Integer = 2 * Integer::from(1u64 << 63); - let big_int_ptr: TypedArenaPtr = - arena_alloc!(big_int, &mut wam.machine_st.arena); + let big_int_ptr: TypedArenaPtr = arena_alloc!(big_int, &mut wam.machine_st.arena); assert!(!big_int_ptr.as_ptr().is_null()); @@ -951,8 +1002,8 @@ mod tests { let f_atom = atom!("f"); let g_atom = atom!("g"); - assert_eq!(f_atom.as_str(), "f"); - assert_eq!(g_atom.as_str(), "g"); + assert_eq!(&*f_atom.as_str(), "f"); + assert_eq!(&*g_atom.as_str(), "g"); let f_atom_cell = atom_as_cell!(f_atom); let g_atom_cell = atom_as_cell!(g_atom); @@ -962,7 +1013,7 @@ mod tests { match f_atom_cell.to_atom() { Some(atom) => { assert_eq!(f_atom, atom); - assert_eq!(atom.as_str(), "f"); + assert_eq!(&*atom.as_str(), "f"); } None => { assert!(false); @@ -973,7 +1024,7 @@ mod tests { (HeapCellValueTag::Atom, (atom, arity)) => { assert_eq!(f_atom, atom); assert_eq!(arity, 0); - assert_eq!(atom.as_str(), "f"); + assert_eq!(&*atom.as_str(), "f"); } _ => { unreachable!() } ); @@ -982,21 +1033,22 @@ mod tests { (HeapCellValueTag::Atom, (atom, arity)) => { assert_eq!(g_atom, atom); assert_eq!(arity, 0); - assert_eq!(atom.as_str(), "g"); + assert_eq!(&*atom.as_str(), "g"); } _ => { unreachable!() } ); // complete string - let pstr_var_cell = put_partial_string(&mut wam.machine_st.heap, "ronan", &mut wam.machine_st.atom_tbl); + let pstr_var_cell = + put_partial_string(&mut wam.machine_st.heap, "ronan", &wam.machine_st.atom_tbl); let pstr_cell = wam.machine_st.heap[pstr_var_cell.get_value() as usize]; assert_eq!(pstr_cell.get_tag(), HeapCellValueTag::PStr); match pstr_cell.to_pstr() { Some(pstr) => { - assert_eq!(pstr.as_str_from(0), "ronan"); + assert_eq!(&*pstr.as_str_from(0), "ronan"); } None => { assert!(false); @@ -1006,7 +1058,7 @@ mod tests { read_heap_cell!(pstr_cell, (HeapCellValueTag::PStr, pstr_atom) => { let pstr = PartialString::from(pstr_atom); - assert_eq!(pstr.as_str_from(0), "ronan"); + assert_eq!(&*pstr.as_str_from(0), "ronan"); } _ => { unreachable!() } ); @@ -1115,7 +1167,7 @@ mod tests { read_heap_cell!(cell, (HeapCellValueTag::Atom, (el, _arity)) => { assert_eq!(el.flat_index(), empty_list_as_cell!().get_value()); - assert_eq!(el.as_str(), "[]"); + assert_eq!(&*el.as_str(), "[]"); } _ => { unreachable!() } ); diff --git a/src/arithmetic.rs b/src/arithmetic.rs index a13510b7..95b4fe2c 100644 --- a/src/arithmetic.rs +++ b/src/arithmetic.rs @@ -160,13 +160,13 @@ fn push_literal(interm: &mut Vec, c: &Literal) -> Result<(), Ari Literal::Float(n) => interm.push(ArithmeticTerm::Number(Number::Float(*n.as_ptr()))), Literal::Rational(n) => interm.push(ArithmeticTerm::Number(Number::Rational(*n))), Literal::Atom(name) if name == &atom!("e") => interm.push(ArithmeticTerm::Number( - Number::Float(OrderedFloat(std::f64::consts::E)) + Number::Float(OrderedFloat(std::f64::consts::E)), )), Literal::Atom(name) if name == &atom!("pi") => interm.push(ArithmeticTerm::Number( - Number::Float(OrderedFloat(std::f64::consts::PI)) + Number::Float(OrderedFloat(std::f64::consts::PI)), )), Literal::Atom(name) if name == &atom!("epsilon") => interm.push(ArithmeticTerm::Number( - Number::Float(OrderedFloat(std::f64::EPSILON)) + Number::Float(OrderedFloat(std::f64::EPSILON)), )), _ => return Err(ArithmeticError::NonEvaluableFunctor(*c, 0)), } @@ -328,23 +328,14 @@ impl<'a> ArithmeticEvaluator<'a> { let var_num = name.to_var_num().unwrap(); let r = if lvl == Level::Shallow { - self.marker.mark_non_callable( - var_num, - arg, - term_loc, - cell, - &mut code, - ) + self.marker + .mark_non_callable(var_num, arg, term_loc, cell, &mut code) } else if term_loc.is_last() || cell.get().norm().reg_num() == 0 { let r = self.marker.get_binding(var_num); if r.reg_num() == 0 { self.marker.mark_var::( - var_num, - lvl, - cell, - term_loc, - &mut code, + var_num, lvl, cell, term_loc, &mut code, ); cell.get().norm() } else { @@ -438,7 +429,7 @@ fn classify_float(f: f64) -> Result { } } FpCategory::Nan => Err(EvalError::Undefined), - _ => Ok(f) + _ => Ok(f), } } @@ -553,8 +544,12 @@ impl PartialEq for Number { (&Number::Fixnum(n1), &Number::Float(n2)) => OrderedFloat(n1.get_num() as f64).eq(&n2), (&Number::Float(n1), &Number::Fixnum(n2)) => n1.eq(&OrderedFloat(n2.get_num() as f64)), (&Number::Integer(ref n1), &Number::Integer(ref n2)) => n1.eq(n2), - (&Number::Integer(ref n1), Number::Float(n2)) => OrderedFloat(n1.to_f64().value()).eq(n2), - (&Number::Float(n1), &Number::Integer(ref n2)) => n1.eq(&OrderedFloat(n2.to_f64().value())), + (&Number::Integer(ref n1), Number::Float(n2)) => { + OrderedFloat(n1.to_f64().value()).eq(n2) + } + (&Number::Float(n1), &Number::Integer(ref n2)) => { + n1.eq(&OrderedFloat(n2.to_f64().value())) + } (&Number::Integer(ref n1), &Number::Rational(ref n2)) => { #[cfg(feature = "num")] { @@ -575,8 +570,12 @@ impl PartialEq for Number { (&**n1).num_eq(&**n2) } } - (&Number::Rational(ref n1), &Number::Float(n2)) => OrderedFloat(n1.to_f64().value()).eq(&n2), - (&Number::Float(n1), &Number::Rational(ref n2)) => n1.eq(&OrderedFloat(n2.to_f64().value())), + (&Number::Rational(ref n1), &Number::Float(n2)) => { + OrderedFloat(n1.to_f64().value()).eq(&n2) + } + (&Number::Float(n1), &Number::Rational(ref n2)) => { + n1.eq(&OrderedFloat(n2.to_f64().value())) + } (&Number::Float(f1), &Number::Float(f2)) => f1.eq(&f2), (&Number::Rational(ref r1), &Number::Rational(ref r2)) => r1.eq(&r2), } @@ -645,7 +644,9 @@ impl Ord for Number { (&Number::Float(n1), &Number::Fixnum(n2)) => n1.cmp(&OrderedFloat(n2.get_num() as f64)), (&Number::Integer(n1), &Number::Integer(n2)) => (*n1).cmp(&*n2), (&Number::Integer(n1), Number::Float(n2)) => OrderedFloat(n1.to_f64().value()).cmp(n2), - (&Number::Float(n1), &Number::Integer(ref n2)) => n1.cmp(&OrderedFloat(n2.to_f64().value())), + (&Number::Float(n1), &Number::Integer(ref n2)) => { + n1.cmp(&OrderedFloat(n2.to_f64().value())) + } (&Number::Integer(n1), &Number::Rational(n2)) => { #[cfg(feature = "num")] { @@ -666,8 +667,12 @@ impl Ord for Number { (&*n1).num_partial_cmp(&*n2).unwrap_or(Ordering::Less) } } - (&Number::Rational(n1), &Number::Float(n2)) => OrderedFloat(n1.to_f64().value()).cmp(&n2), - (&Number::Float(n1), &Number::Rational(n2)) => n1.cmp(&OrderedFloat(n2.to_f64().value())), + (&Number::Rational(n1), &Number::Float(n2)) => { + OrderedFloat(n1.to_f64().value()).cmp(&n2) + } + (&Number::Float(n1), &Number::Rational(n2)) => { + n1.cmp(&OrderedFloat(n2.to_f64().value())) + } (&Number::Float(f1), &Number::Float(f2)) => f1.cmp(&f2), (&Number::Rational(r1), &Number::Rational(r2)) => (*r1).cmp(&*r2), } diff --git a/src/atom_table.rs b/src/atom_table.rs index 79c83805..80ba5411 100644 --- a/src/atom_table.rs +++ b/src/atom_table.rs @@ -1,18 +1,23 @@ use crate::parser::ast::MAX_ARITY; use crate::raw_block::*; +use crate::rcu::{Rcu, RcuRef}; use crate::types::*; -use std::borrow::Borrow; use std::cmp::Ordering; use std::hash::{Hash, Hasher}; use std::mem; +use std::ops::Deref; use std::ptr; use std::slice; use std::str; +use std::sync::Arc; +use std::sync::Mutex; +use std::sync::Weak; use indexmap::IndexSet; use modular_bitfield::prelude::*; +use tokio::sync::RwLock; #[derive(Copy, Clone, Debug, PartialEq, Eq)] pub struct Atom { @@ -33,65 +38,43 @@ impl<'a> From<&'a Atom> for Atom { impl From for Atom { #[inline] fn from(value: bool) -> Self { - if value { atom!("true") } else { atom!("false") } + if value { + atom!("true") + } else { + atom!("false") + } + } +} + +impl indexmap::Equivalent for str { + fn equivalent(&self, key: &Atom) -> bool { + &*key.as_str() == self } } const ATOM_TABLE_INIT_SIZE: usize = 1 << 16; const ATOM_TABLE_ALIGN: usize = 8; -#[cfg(test)] -thread_local! { - static ATOM_TABLE_BUF_BASE: std::cell::RefCell<*const u8> = std::cell::RefCell::new(ptr::null_mut()); -} - -#[cfg(not(test))] -static ATOM_TABLE_BUF_BASE: std::sync::atomic::AtomicPtr = - std::sync::atomic::AtomicPtr::new(ptr::null_mut()); - -fn set_atom_tbl_buf_base(old_ptr: *const u8, new_ptr: *const u8) -> Result<(), *const u8> { -#[cfg(test)] +#[inline(always)] +fn global_atom_table() -> &'static RwLock> { + #[cfg(feature = "rust_beta_channel")] { - ATOM_TABLE_BUF_BASE.with(|atom_table_buf_base| { - let mut borrow = atom_table_buf_base.borrow_mut(); - if *borrow != old_ptr { - Err(*borrow) - } else { - *borrow = new_ptr; - Ok(()) - } - })?; - }; - #[cfg(not(test))] + // const Weak::new will be stabilized in 1.73 which is currently in beta, + // till then we need a OnceLock for initialization + static GLOBAL_ATOM_TABLE: RwLock> = RwLock::const_new(Weak::new()); + &GLOBAL_ATOM_TABLE + } + #[cfg(not(feature = "rust_beta_channel"))] { - ATOM_TABLE_BUF_BASE - .compare_exchange( - old_ptr.cast_mut(), - new_ptr.cast_mut(), - std::sync::atomic::Ordering::Relaxed, - std::sync::atomic::Ordering::Relaxed, - ) - .map_err(|ptr| ptr.cast_const()) - }?; - Ok(()) -} - -pub(crate) fn get_atom_tbl_buf_base() -> *const u8 { - #[cfg(test)] - { - ATOM_TABLE_BUF_BASE.with(|atom_table_buf_base| *atom_table_buf_base.borrow()) -} -#[cfg(not(test))] - { - ATOM_TABLE_BUF_BASE.load(std::sync::atomic::Ordering::Relaxed) + use std::sync::OnceLock; + static GLOBAL_ATOM_TABLE: OnceLock>> = OnceLock::new(); + GLOBAL_ATOM_TABLE.get_or_init(|| RwLock::new(Weak::new())) } } -#[test] -#[should_panic(expected = "Overwriting atom table base pointer")] -fn atomtable_is_not_concurrency_safe() { - let _table_a = AtomTable::new(); - let _table_b = AtomTable::new(); +#[inline(always)] +fn arc_atom_table() -> Option> { + global_atom_table().blocking_read().upgrade() } impl RawBlockTraits for AtomTable { @@ -109,9 +92,11 @@ impl RawBlockTraits for AtomTable { #[bitfield] #[derive(Copy, Clone, Debug)] struct AtomHeader { - #[allow(unused)] m: bool, + #[allow(unused)] + m: bool, len: B50, - #[allow(unused)] padding: B13, + #[allow(unused)] + padding: B13, } impl AtomHeader { @@ -120,13 +105,6 @@ impl AtomHeader { } } -impl Borrow for Atom { - #[inline] - fn borrow(&self) -> &str { - self.as_str() - } -} - impl Hash for Atom { #[inline] fn hash(&self, hasher: &mut H) { @@ -142,29 +120,76 @@ macro_rules! is_char { }; } -impl Atom { - #[inline] - pub fn buf(self) -> *const u8 { - let ptr = self.as_ptr(); +pub enum AtomString<'a> { + Static(&'a str), + Dynamic(AtomTableRef), +} - if ptr.is_null() { - return ptr::null(); +impl AtomString<'_> { + pub fn map(self, f: F) -> Self + where + for<'a> F: FnOnce(&'a str) -> &'a str, + { + match self { + Self::Static(reference) => Self::Static(f(reference)), + Self::Dynamic(guard) => Self::Dynamic(AtomTableRef::map(guard, f)), } + } +} - (ptr as usize + mem::size_of::()) as *const u8 +impl std::fmt::Debug for AtomString<'_> { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + std::fmt::Debug::fmt(self.deref(), f) + } +} + +impl std::fmt::Display for AtomString<'_> { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + std::fmt::Display::fmt(self.deref(), f) + } +} + +impl std::ops::Deref for AtomString<'_> { + type Target = str; + fn deref(&self) -> &Self::Target { + match self { + Self::Static(reference) => reference, + Self::Dynamic(guard) => guard.deref(), + } + } +} + +#[cfg(feature = "repl")] +impl rustyline::completion::Candidate for AtomString<'_> { + fn display(&self) -> &str { + self.deref() } + fn replacement(&self) -> &str { + self.deref() + } +} + +impl Atom { #[inline(always)] pub fn is_static(self) -> bool { (self.index as usize) < STRINGS.len() << 3 } #[inline(always)] - pub fn as_ptr(self) -> *const u8 { + pub fn as_ptr(self) -> Option> { if self.is_static() { - ptr::null() + None } else { - (get_atom_tbl_buf_base() as usize + (self.index as usize) - (STRINGS.len() << 3)) as *const u8 + let atom_table = + arc_atom_table().expect("We should only have an Atom while there is an AtomTable"); + unsafe { + AtomTableRef::try_map(atom_table.buf(), |buf| { + (buf as *const u8) + .offset(((self.index as usize) - (STRINGS.len() << 3)) as isize) + .as_ref() + }) + } } } @@ -178,7 +203,9 @@ impl Atom { if self.is_static() { STRINGS[(self.index >> 3) as usize].len() } else { - unsafe { ptr::read(self.as_ptr() as *const AtomHeader).len() as _ } + let ptr = self.as_ptr().unwrap(); + let ptr = ptr.deref() as *const u8 as *const AtomHeader; + unsafe { ptr::read(ptr) }.len() as _ } } @@ -194,41 +221,44 @@ impl Atom { let c1 = it.next(); let c2 = it.next(); - if c2.is_none() { c1 } else { None } - } - - #[inline] - pub fn chars(&self) -> str::Chars { - self.as_str().chars() - } - - #[inline] - pub fn as_str(&self) -> &str { - unsafe { - let ptr = self.as_ptr(); - - if ptr.is_null() { - return STRINGS[(self.index >> 3) as usize]; - } - - let header = ptr::read::(ptr as *const _); - let len = header.len() as usize; - let buf = (ptr as usize + mem::size_of::()) as *mut u8; - - str::from_utf8_unchecked(slice::from_raw_parts(buf, len)) + if c2.is_none() { + c1 + } else { + None } } - pub fn defrock_brackets(&self, atom_tbl: &mut AtomTable) -> Self { + #[inline] + pub fn as_str(&self) -> AtomString<'static> { + if self.is_static() { + AtomString::Static(STRINGS[(self.index >> 3) as usize]) + } else { + if let Some(ptr) = self.as_ptr() { + AtomString::Dynamic(AtomTableRef::map(ptr, |ptr| { + let header = + unsafe { ptr::read::(ptr as *const u8 as *const AtomHeader) }; + let len = header.len() as usize; + let buf = + unsafe { (ptr as *const u8).offset(mem::size_of::() as isize) }; + + unsafe { str::from_utf8_unchecked(slice::from_raw_parts(buf, len)) } + })) + } else { + AtomString::Static(&STRINGS[(self.index >> 3) as usize]) + } + } + } + + pub fn defrock_brackets(&self, atom_tbl: &AtomTable) -> Self { let s = self.as_str(); - let s = if s.starts_with('(') && s.ends_with(')') { + let sub_str = if s.starts_with('(') && s.ends_with(')') { &s['('.len_utf8()..s.len() - ')'.len_utf8()] } else { return *self; }; - atom_tbl.build_with(s) + AtomTable::build_with(&atom_tbl, &sub_str) } } @@ -248,116 +278,156 @@ impl PartialOrd for Atom { impl Ord for Atom { #[inline] fn cmp(&self, other: &Atom) -> Ordering { - self.as_str().cmp(other.as_str()) + self.as_str().cmp(&*other.as_str()) } } #[derive(Debug)] -pub struct AtomTable { +pub struct InnerAtomTable { block: RawBlock, - pub table: IndexSet, + pub table: Rcu>, } -#[cold] -fn atom_table_base_pointer_mismatch(expected: *const u8, got: *const u8) -> ! { - assert_eq!(expected, got, "Overwriting atom table base pointer, expected old value to be {expected:p}, but found {got:p}"); - unreachable!("This should only be called in a case of a mismatch as such the assert_eq should have failed!") +#[derive(Debug)] +pub struct AtomTable { + inner: Rcu, + // this lock is taking during resizing + update: Mutex<()>, } -impl Drop for AtomTable { - fn drop(&mut self) { - if let Err(got) = set_atom_tbl_buf_base(self.block.base, ptr::null()) { - atom_table_base_pointer_mismatch(self.block.base, got); - } - self.block.deallocate(); +pub type AtomTableRef = RcuRef; + +impl InnerAtomTable { + #[inline(always)] + fn lookup_str(self: &InnerAtomTable, string: &str) -> Option { + STATIC_ATOMS_MAP + .get(string) + .cloned() + .or_else(|| self.table.active_epoch().get(string).cloned()) } } impl AtomTable { #[inline] - pub fn new() -> Self { - let mut block = RawBlock::new(); - - if let Err(got) = set_atom_tbl_buf_base(ptr::null(), block.base) { - block.deallocate(); - atom_table_base_pointer_mismatch(ptr::null(), got); - } - - Self { - block, - table: IndexSet::new(), + pub fn new() -> Arc { + let upgraded = global_atom_table().blocking_read().upgrade(); + // don't inline upgraded, otherwise temporary will be dropped too late in case of None + if let Some(atom_table) = upgraded { + atom_table + } else { + let mut guard = global_atom_table().blocking_write(); + // try to upgrade again in case we lost the race on the write lock + if let Some(atom_table) = guard.upgrade() { + atom_table + } else { + let atom_table = Arc::new(Self { + inner: Rcu::new(InnerAtomTable { + block: RawBlock::new(), + table: Rcu::new(IndexSet::new()), + }), + update: Mutex::new(()), + }); + *guard = Arc::downgrade(&atom_table); + atom_table + } } } #[inline] - pub fn buf(&self) -> *const u8 { - self.block.base as *const u8 + pub fn buf(&self) -> AtomTableRef { + AtomTableRef::::map(self.inner.active_epoch(), |inner| { + unsafe { inner.block.base.as_ref() }.unwrap() + }) } - #[inline] - pub fn top(&self) -> *const u8 { - self.block.top + pub fn active_table(&self) -> RcuRef, IndexSet> { + self.inner.active_epoch().table.active_epoch() } - #[inline(always)] - fn lookup_str(&self, string: &str) -> Option { - STATIC_ATOMS_MAP.get(string).or_else(|| self.table.get(string)).cloned() - } + pub fn build_with(atom_table: &AtomTable, string: &str) -> Atom { + loop { + let mut block_epoch = atom_table.inner.active_epoch(); + let mut table_epoch = block_epoch.table.active_epoch(); - pub fn build_with(&mut self, string: &str) -> Atom { - if let Some(atom) = self.lookup_str(string) { - return atom; - } + if let Some(atom) = block_epoch.lookup_str(string) { + return atom; + } + + // take a lock to prevent concurrent updates + let update_guard = atom_table.update.lock().unwrap(); + + let is_same_allocation = + RcuRef::same_epoch(&block_epoch, &atom_table.inner.active_epoch()); + let is_same_atom_list = + RcuRef::same_epoch(&table_epoch, &block_epoch.table.active_epoch()); + + if !(is_same_allocation && is_same_atom_list) { + // some other thread raced us between our lookup and + // us aquring the update lock, + // try again + continue; + } - unsafe { let size = mem::size_of::() + string.len(); let align_offset = 8 * mem::align_of::(); let size = (size & !(align_offset - 1)) + align_offset; - let len_ptr = { - let mut ptr; - - loop { - ptr = self.block.alloc(size); + unsafe { + let len_ptr = loop { + let ptr = block_epoch.block.alloc(size); if ptr.is_null() { - let old_base = self.block.base; - self.block.grow(); - if let Err(got) = set_atom_tbl_buf_base(old_base, self.block.base) { - atom_table_base_pointer_mismatch(old_base, got); - } + // garbage collection would go here + let new_block = block_epoch.block.grow_new().unwrap(); + let new_table = Rcu::new(table_epoch.clone()); + let new_alloc = InnerAtomTable { + block: new_block, + table: new_table, + }; + atom_table.inner.replace(new_alloc); + block_epoch = atom_table.inner.active_epoch(); + table_epoch = block_epoch.table.active_epoch(); } else { - break; + break ptr; } - } + }; - ptr - }; + let ptr_base = block_epoch.block.base as usize; - let ptr_base = self.block.base as usize; + write_to_ptr(string, len_ptr); - write_to_ptr(string, len_ptr); + let atom = Atom { + index: ((STRINGS.len() << 3) + len_ptr as usize - ptr_base) as u64, + }; - let atom = Atom { - index: ((STRINGS.len() << 3) + len_ptr as usize - ptr_base) as u64, - }; + let mut table = table_epoch.clone(); + table.insert(atom); + block_epoch.table.replace(table); - self.table.insert(atom); + // expicit drop to ensure we don't accidentally drop it early + drop(update_guard); - atom + return atom; + } } } } +unsafe impl Send for AtomTable {} +unsafe impl Sync for AtomTable {} + #[bitfield] #[repr(u64)] #[derive(Copy, Clone, Debug)] pub struct AtomCell { name: B46, arity: B10, - #[allow(unused)] f: bool, - #[allow(unused)] m: bool, - #[allow(unused)] tag: B6, + #[allow(unused)] + f: bool, + #[allow(unused)] + m: bool, + #[allow(unused)] + tag: B6, } impl AtomCell { diff --git a/src/bin/scryer-prolog.rs b/src/bin/scryer-prolog.rs index eb0fd5ff..09465006 100644 --- a/src/bin/scryer-prolog.rs +++ b/src/bin/scryer-prolog.rs @@ -1,11 +1,12 @@ fn main() -> std::process::ExitCode { - use std::sync::atomic::Ordering; use scryer_prolog::*; + use std::sync::atomic::Ordering; #[cfg(feature = "repl")] ctrlc::set_handler(move || { scryer_prolog::machine::INTERRUPT.store(true, Ordering::Relaxed); - }).unwrap(); + }) + .unwrap(); let mut wam = machine::Machine::new(); wam.run_top_level() diff --git a/src/codegen.rs b/src/codegen.rs index 4902a618..e4e75006 100644 --- a/src/codegen.rs +++ b/src/codegen.rs @@ -1,14 +1,14 @@ -use crate::atom_table::*; -use crate::parser::ast::*; -use crate::temp_v; use crate::allocator::*; use crate::arithmetic::*; +use crate::atom_table::*; use crate::debray_allocator::*; use crate::forms::*; use crate::indexing::*; use crate::instructions::*; use crate::iterators::*; +use crate::parser::ast::*; use crate::targets::*; +use crate::temp_v; use crate::types::*; use crate::instr; @@ -48,15 +48,20 @@ impl BranchCodeStack { } fn code<'a>(&'a mut self, default_code: &'a mut CodeDeque) -> &'a mut CodeDeque { - self.stack.last_mut() + self.stack + .last_mut() .and_then(|stack| stack.last_mut()) .unwrap_or(default_code) } - fn push_missing_vars(&mut self, depth: usize, marker: &mut DebrayAllocator) -> SubsumedBranchHits { + fn push_missing_vars( + &mut self, + depth: usize, + marker: &mut DebrayAllocator, + ) -> SubsumedBranchHits { let mut subsumed_hits = SubsumedBranchHits::with_hasher(FxBuildHasher::default()); - for idx in (self.stack.len() - depth .. self.stack.len()).rev() { + for idx in (self.stack.len() - depth..self.stack.len()).rev() { let branch = &mut marker.branch_stack[idx]; let branch_hits = &branch.hits; @@ -91,14 +96,14 @@ impl BranchCodeStack { fn push_jump_instrs(&mut self, depth: usize) { // add 2 in each arm length to compensate for each jump // instruction and each branch instruction not yet added. - let mut jump_span: usize = self.stack[self.stack.len() - depth ..] + let mut jump_span: usize = self.stack[self.stack.len() - depth..] .iter() .map(|branch| branch.iter().map(|code| code.len() + 2).sum::()) .sum(); jump_span -= depth; - for idx in self.stack.len() - depth .. self.stack.len() { + for idx in self.stack.len() - depth..self.stack.len() { let inner_len = self.stack[idx].len(); for (inner_idx, code) in self.stack[idx].iter_mut().enumerate() { @@ -117,9 +122,11 @@ impl BranchCodeStack { fn pop_branch(&mut self, depth: usize, settings: CodeGenSettings) -> CodeDeque { let mut combined_code = CodeDeque::new(); - for mut branch_arm in self.stack.drain(self.stack.len() - depth ..).rev() { + for mut branch_arm in self.stack.drain(self.stack.len() - depth..).rev() { let num_branch_arms = branch_arm.len(); - branch_arm.last_mut().map(|code| code.extend(combined_code.drain(..))); + branch_arm + .last_mut() + .map(|code| code.extend(combined_code.drain(..))); for (idx, code) in branch_arm.into_iter().enumerate() { combined_code.push_back(if idx == 0 { @@ -255,7 +262,7 @@ impl CodeGenSettings { #[derive(Debug)] pub(crate) struct CodeGenerator<'a> { - pub(crate) atom_tbl: &'a mut AtomTable, + pub(crate) atom_tbl: &'a AtomTable, marker: DebrayAllocator, settings: CodeGenSettings, pub(crate) skeleton: PredicateSkeleton, @@ -269,13 +276,7 @@ impl DebrayAllocator { vr: &Cell, code: &mut CodeDeque, ) -> RegType { - self.mark_var::( - var_num, - Level::Shallow, - vr, - term_loc, - code, - ); + self.mark_var::(var_num, Level::Shallow, vr, term_loc, code); vr.get().norm() } @@ -308,8 +309,8 @@ impl DebrayAllocator { // decrement the arity of the PutStructure instruction by 1. fn trim_structure_by_last_arg(instr: &mut Instruction, last_arg: &Term) { match instr { - Instruction::PutStructure(_, ref mut arity, _) | - Instruction::GetStructure(.., ref mut arity, _) => { + Instruction::PutStructure(_, ref mut arity, _) + | Instruction::GetStructure(.., ref mut arity, _) => { if let Term::Literal(_, Literal::CodeIndex(_)) = last_arg { // it is acceptable if arity == 0 is the result of // this decrement. call/N will have to read the index @@ -352,16 +353,16 @@ impl<'a, 'b> AddToFreeList<'a, QueryInstruction> for CodeGenerator<'b> { fn structure_cell(term: &Term) -> Option<&Cell> { match term { - &Term::Cons(ref cell, ..) | - &Term::Clause(ref cell, ..) | - Term::PartialString(ref cell, ..) | - Term::CompleteString(ref cell, ..) => Some(cell), + &Term::Cons(ref cell, ..) + | &Term::Clause(ref cell, ..) + | Term::PartialString(ref cell, ..) + | Term::CompleteString(ref cell, ..) => Some(cell), _ => None, } } impl<'b> CodeGenerator<'b> { - pub(crate) fn new(atom_tbl: &'b mut AtomTable, settings: CodeGenSettings) -> Self { + pub(crate) fn new(atom_tbl: &'b AtomTable, settings: CodeGenSettings) -> Self { CodeGenerator { atom_tbl, marker: DebrayAllocator::new(), @@ -392,7 +393,8 @@ impl<'b> CodeGenerator<'b> { target: &mut CodeDeque, ) { if self.marker.var_data.records[var_num].num_occurrences > 1 { - self.marker.mark_var::(var_num, Level::Deep, cell, term_loc, target); + self.marker + .mark_var::(var_num, Level::Deep, cell, term_loc, target); } else { Self::add_or_increment_void_instr::(target); } @@ -408,31 +410,33 @@ impl<'b> CodeGenerator<'b> { &Term::AnonVar => { Self::add_or_increment_void_instr::(target); } - &Term::Cons(ref cell, ..) | - &Term::Clause(ref cell, ..) | - Term::PartialString(ref cell, ..) | - Term::CompleteString(ref cell, ..) => { - self.marker.mark_non_var::(Level::Deep, term_loc, cell, target); + &Term::Cons(ref cell, ..) + | &Term::Clause(ref cell, ..) + | Term::PartialString(ref cell, ..) + | Term::CompleteString(ref cell, ..) => { + self.marker + .mark_non_var::(Level::Deep, term_loc, cell, target); target.push_back(Target::clause_arg_to_instr(cell.get())); } &Term::Literal(_, ref constant) => { target.push_back(Target::constant_subterm(constant.clone())); } &Term::Var(ref cell, ref var_ptr) => { - self.deep_var_instr::(cell, var_ptr.to_var_num().unwrap(), term_loc, target); + self.deep_var_instr::( + cell, + var_ptr.to_var_num().unwrap(), + term_loc, + target, + ); } }; } - fn compile_target<'a, Target, Iter>( - &mut self, - iter: Iter, - term_loc: GenContext, - ) -> CodeDeque + fn compile_target<'a, Target, Iter>(&mut self, iter: Iter, term_loc: GenContext) -> CodeDeque where Target: crate::targets::CompilationTarget<'a>, Iter: Iterator>, - CodeGenerator<'b>: AddToFreeList<'a, Target> + CodeGenerator<'b>: AddToFreeList<'a, Target>, { let mut target = CodeDeque::new(); @@ -442,14 +446,19 @@ impl<'b> CodeGenerator<'b> { if let GenContext::Head = term_loc { self.marker.advance_arg(); } else { - self.marker.mark_anon_var::(lvl, term_loc, &mut target); + self.marker + .mark_anon_var::(lvl, term_loc, &mut target); } } TermRef::Clause(lvl, cell, name, terms) => { - self.marker.mark_non_var::(lvl, term_loc, cell, &mut target); + self.marker + .mark_non_var::(lvl, term_loc, cell, &mut target); target.push_back(Target::to_structure(lvl, name, terms.len(), cell.get())); - as AddToFreeList<'a, Target>>::add_term_to_free_list(self, cell.get()); + as AddToFreeList<'a, Target>>::add_term_to_free_list( + self, + cell.get(), + ); if let Some(instr) = target.back_mut() { if let Some(term) = terms.last() { @@ -462,38 +471,52 @@ impl<'b> CodeGenerator<'b> { } for subterm in terms { - as AddToFreeList<'a, Target>>::add_subterm_to_free_list(self, subterm); + as AddToFreeList<'a, Target>>::add_subterm_to_free_list( + self, subterm, + ); } } TermRef::Cons(lvl, cell, head, tail) => { - self.marker.mark_non_var::(lvl, term_loc, cell, &mut target); + self.marker + .mark_non_var::(lvl, term_loc, cell, &mut target); target.push_back(Target::to_list(lvl, cell.get())); - as AddToFreeList<'a, Target>>::add_term_to_free_list(self, cell.get()); + as AddToFreeList<'a, Target>>::add_term_to_free_list( + self, + cell.get(), + ); self.subterm_to_instr::(head, term_loc, &mut target); self.subterm_to_instr::(tail, term_loc, &mut target); - as AddToFreeList<'a, Target>>::add_subterm_to_free_list(self, head); - as AddToFreeList<'a, Target>>::add_subterm_to_free_list(self, tail); + as AddToFreeList<'a, Target>>::add_subterm_to_free_list( + self, head, + ); + as AddToFreeList<'a, Target>>::add_subterm_to_free_list( + self, tail, + ); } TermRef::Literal(lvl @ Level::Shallow, cell, Literal::String(ref string)) => { - self.marker.mark_non_var::(lvl, term_loc, cell, &mut target); + self.marker + .mark_non_var::(lvl, term_loc, cell, &mut target); target.push_back(Target::to_pstr(lvl, *string, cell.get(), false)); } TermRef::Literal(lvl @ Level::Shallow, cell, constant) => { - self.marker.mark_non_var::(lvl, term_loc, cell, &mut target); + self.marker + .mark_non_var::(lvl, term_loc, cell, &mut target); target.push_back(Target::to_constant(lvl, *constant, cell.get())); } TermRef::PartialString(lvl, cell, string, tail) => { - self.marker.mark_non_var::(lvl, term_loc, cell, &mut target); - let atom = self.atom_tbl.build_with(&string); + self.marker + .mark_non_var::(lvl, term_loc, cell, &mut target); + let atom = AtomTable::build_with(&self.atom_tbl, &string); target.push_back(Target::to_pstr(lvl, atom, cell.get(), true)); self.subterm_to_instr::(tail, term_loc, &mut target); } TermRef::CompleteString(lvl, cell, atom) => { - self.marker.mark_non_var::(lvl, term_loc, cell, &mut target); + self.marker + .mark_non_var::(lvl, term_loc, cell, &mut target); target.push_back(Target::to_pstr(lvl, atom, cell.get(), false)); } TermRef::Var(lvl @ Level::Shallow, cell, var) => { @@ -563,9 +586,9 @@ impl<'b> CodeGenerator<'b> { compare_number_instr!(cmp, at_1, at_2) } &InlinedClauseType::IsAtom(..) => match &terms[0] { - &Term::Literal(_, Literal::Char(_)) | - &Term::Literal(_, Literal::Atom(atom!("[]"))) | - &Term::Literal(_, Literal::Atom(..)) => { + &Term::Literal(_, Literal::Char(_)) + | &Term::Literal(_, Literal::Atom(atom!("[]"))) + | &Term::Literal(_, Literal::Atom(..)) => { instr!("$succeed") } &Term::Var(ref vr, ref name) => { @@ -586,11 +609,11 @@ impl<'b> CodeGenerator<'b> { } }, &InlinedClauseType::IsAtomic(..) => match &terms[0] { - &Term::AnonVar | - &Term::Clause(..) | - &Term::Cons(..) | - &Term::PartialString(..) | - &Term::CompleteString(..) => { + &Term::AnonVar + | &Term::Clause(..) + | &Term::Cons(..) + | &Term::PartialString(..) + | &Term::CompleteString(..) => { instr!("$fail") } &Term::Literal(_, Literal::String(_)) => { @@ -614,11 +637,11 @@ impl<'b> CodeGenerator<'b> { } }, &InlinedClauseType::IsCompound(..) => match &terms[0] { - &Term::Clause(..) | - &Term::Cons(..) | - &Term::PartialString(..) | - &Term::CompleteString(..) | - &Term::Literal(_, Literal::String(..)) => { + &Term::Clause(..) + | &Term::Cons(..) + | &Term::PartialString(..) + | &Term::CompleteString(..) + | &Term::Literal(_, Literal::String(..)) => { instr!("$succeed") } &Term::Var(ref vr, ref name) => { @@ -644,7 +667,13 @@ impl<'b> CodeGenerator<'b> { } &Term::Var(ref vr, ref name) => { self.marker.reset_arg(1); - let r = self.marker.mark_non_callable(name.to_var_num().unwrap(), 1, term_loc, vr, code); + let r = self.marker.mark_non_callable( + name.to_var_num().unwrap(), + 1, + term_loc, + vr, + code, + ); instr!("rational", r) } _ => { @@ -673,10 +702,10 @@ impl<'b> CodeGenerator<'b> { } }, &InlinedClauseType::IsNumber(..) => match &terms[0] { - &Term::Literal(_, Literal::Float(_)) | - &Term::Literal(_, Literal::Rational(_)) | - &Term::Literal(_, Literal::Integer(_)) | - &Term::Literal(_, Literal::Fixnum(_)) => { + &Term::Literal(_, Literal::Float(_)) + | &Term::Literal(_, Literal::Rational(_)) + | &Term::Literal(_, Literal::Integer(_)) + | &Term::Literal(_, Literal::Fixnum(_)) => { instr!("$succeed") } &Term::Var(ref vr, ref name) => { @@ -718,8 +747,7 @@ impl<'b> CodeGenerator<'b> { } }, &InlinedClauseType::IsInteger(..) => match &terms[0] { - &Term::Literal(_, Literal::Integer(_)) | - &Term::Literal(_, Literal::Fixnum(_)) => { + &Term::Literal(_, Literal::Integer(_)) | &Term::Literal(_, Literal::Fixnum(_)) => { instr!("$succeed") } &Term::Var(ref vr, ref name) => { @@ -740,11 +768,11 @@ impl<'b> CodeGenerator<'b> { } }, &InlinedClauseType::IsVar(..) => match &terms[0] { - &Term::Literal(..) | - &Term::Clause(..) | - &Term::Cons(..) | - &Term::PartialString(..) | - &Term::CompleteString(..) => { + &Term::Literal(..) + | &Term::Clause(..) + | &Term::Cons(..) + | &Term::PartialString(..) + | &Term::CompleteString(..) => { instr!("$fail") } &Term::AnonVar => { @@ -791,11 +819,11 @@ impl<'b> CodeGenerator<'b> { call_policy: CallPolicy, ) -> Result<(), CompilationError> { macro_rules! compile_expr { - ($self:expr, $terms:expr, $term_loc:expr, $code:expr) => ({ + ($self:expr, $terms:expr, $term_loc:expr, $code:expr) => {{ let (acode, at) = $self.compile_arith_expr($terms, 1, $term_loc, 2)?; $code.extend(acode.into_iter()); at - }); + }}; } self.marker.reset_arg(2); @@ -843,10 +871,13 @@ impl<'b> CodeGenerator<'b> { compile_expr!(self, &terms[1], term_loc, code) } } - &Term::Literal(_, c @ Literal::Integer(_) | - c @ Literal::Float(_) | - c @ Literal::Rational(_) | - c @ Literal::Fixnum(_)) => { + &Term::Literal( + _, + c @ Literal::Integer(_) + | c @ Literal::Float(_) + | c @ Literal::Rational(_) + | c @ Literal::Fixnum(_), + ) => { let v = HeapCellValue::from(c); code.push_back(instr!("put_constant", Level::Shallow, v, temp_v!(1))); @@ -939,15 +970,29 @@ impl<'b> CodeGenerator<'b> { ClauseType::BuiltIn(BuiltInClauseType::Is(..)), ref terms, call_policy, - ) => self.compile_is_call(terms, branch_code_stack.code(code), term_loc, call_policy)?, + ) => self.compile_is_call( + terms, + branch_code_stack.code(code), + term_loc, + call_policy, + )?, &QueryTerm::Clause(_, ClauseType::Inlined(ref ct), ref terms, _) => { - self.compile_inlined(ct, terms, term_loc, branch_code_stack.code(code))? + self.compile_inlined( + ct, + terms, + term_loc, + branch_code_stack.code(code), + )? } &QueryTerm::Fail => { branch_code_stack.code(code).push_back(instr!("$fail")); } term @ &QueryTerm::Clause(..) => { - self.compile_query_line(term, term_loc, branch_code_stack.code(code)); + self.compile_query_line( + term, + term_loc, + branch_code_stack.code(code), + ); if self.marker.max_reg_allocated() > MAX_ARITY { return Err(CompilationError::ExceededMaxArity); @@ -975,7 +1020,8 @@ impl<'b> CodeGenerator<'b> { } ClauseItem::BranchEnd(depth) => { if !clause_iter.in_tail_position() { - let subsumed_hits = branch_code_stack.push_missing_vars(depth, &mut self.marker); + let subsumed_hits = + branch_code_stack.push_missing_vars(depth, &mut self.marker); self.marker.pop_branch(depth, subsumed_hits); branch_code_stack.push_jump_instrs(depth); } else { @@ -1001,8 +1047,15 @@ impl<'b> CodeGenerator<'b> { Ok(()) } - pub(crate) fn compile_rule(&mut self, rule: &Rule, var_data: VarData) -> Result { - let Rule { head: (_, args), clauses } = rule; + pub(crate) fn compile_rule( + &mut self, + rule: &Rule, + var_data: VarData, + ) -> Result { + let Rule { + head: (_, args), + clauses, + } = rule; self.marker.var_data = var_data; let mut code = VecDeque::new(); @@ -1023,7 +1076,11 @@ impl<'b> CodeGenerator<'b> { Ok(Vec::from(code)) } - pub(crate) fn compile_fact(&mut self, fact: &Fact, var_data: VarData) -> Result { + pub(crate) fn compile_fact( + &mut self, + fact: &Fact, + var_data: VarData, + ) -> Result { let mut code = Vec::new(); self.marker.var_data = var_data; @@ -1031,10 +1088,7 @@ impl<'b> CodeGenerator<'b> { self.marker.reset_at_head(args); let iter = FactInstruction::iter(&fact.head); - let compiled_fact = self.compile_target::( - iter, - GenContext::Head, - ); + let compiled_fact = self.compile_target::(iter, GenContext::Head); if self.marker.max_reg_allocated() > MAX_ARITY { return Err(CompilationError::ExceededMaxArity); @@ -1059,7 +1113,7 @@ impl<'b> CodeGenerator<'b> { &QueryTerm::Clause(_, ref ct, _, call_policy) => { self.add_call(code, ct.to_instr(), call_policy); } - _ => unreachable!() + _ => unreachable!(), }; } @@ -1072,8 +1126,7 @@ impl<'b> CodeGenerator<'b> { if let Some(args) = clause.args() { for (instantiated_arg_index, arg) in args.iter().enumerate() { match arg { - Term::Var(..) | Term::AnonVar => { - } + Term::Var(..) | Term::AnonVar => {} _ => { if optimal_index != instantiated_arg_index { if left >= right { @@ -1098,7 +1151,11 @@ impl<'b> CodeGenerator<'b> { } if left < right { - subseqs.push(ClauseSpan { left, right, instantiated_arg_index: optimal_index }); + subseqs.push(ClauseSpan { + left, + right, + instantiated_arg_index: optimal_index, + }); } optimal_index = 0; @@ -1129,7 +1186,8 @@ impl<'b> CodeGenerator<'b> { optimal_index: usize, ) -> Result { let mut code = VecDeque::new(); - let mut code_offsets = CodeOffsets::new(I::new(), optimal_index + 1); + let mut code_offsets = + CodeOffsets::new(I::new(), optimal_index + 1, self.settings.non_counted_bt); let mut skip_stub_try_me_else = false; let clauses_len = clauses.len(); @@ -1174,7 +1232,9 @@ impl<'b> CodeGenerator<'b> { skip_stub_try_me_else = !self.settings.is_dynamic(); } - let arg = clause.args().and_then(|args| args.iter().nth(optimal_index)); + let arg = clause + .args() + .and_then(|args| args.iter().nth(optimal_index)); if let Some(arg) = arg { let index = code.len(); @@ -1217,7 +1277,12 @@ impl<'b> CodeGenerator<'b> { let split_pred = Self::split_predicate(&clauses); let multi_seq = split_pred.len() > 1; - for ClauseSpan { left, right, instantiated_arg_index } in split_pred { + for ClauseSpan { + left, + right, + instantiated_arg_index, + } in split_pred + { let skel_lower_bound = self.skeleton.clauses.len(); let code_segment = if self.settings.is_dynamic() { self.compile_pred_subseq::( @@ -1248,9 +1313,8 @@ impl<'b> CodeGenerator<'b> { if self.settings.is_extensible { let segment_is_indexed = code_segment[0].to_indexing_line().is_some(); - for clause_index_info in self.skeleton.clauses - .make_contiguous()[skel_lower_bound..] - .iter_mut() + for clause_index_info in + self.skeleton.clauses.make_contiguous()[skel_lower_bound..].iter_mut() { clause_index_info.clause_start += clause_start_offset + 2 * (segment_is_indexed as usize); diff --git a/src/debray_allocator.rs b/src/debray_allocator.rs index 0337ed4d..54f4283b 100644 --- a/src/debray_allocator.rs +++ b/src/debray_allocator.rs @@ -76,11 +76,16 @@ impl BranchStack { } } - fn safety_unneeded_in_branch(&self, safety: &VarSafetyStatus, branch: &BranchDesignator) -> bool { + fn safety_unneeded_in_branch( + &self, + safety: &VarSafetyStatus, + branch: &BranchDesignator, + ) -> bool { match safety { VarSafetyStatus::Needed => false, - VarSafetyStatus::LocallyUnneeded(planter_branch) => - self.branch_subsumes(planter_branch, branch), + VarSafetyStatus::LocallyUnneeded(planter_branch) => { + self.branch_subsumes(planter_branch, branch) + } VarSafetyStatus::GloballyUnneeded => true, } } @@ -91,7 +96,9 @@ impl BranchStack { let num_branches = occurrences.num_branches; - let entry = occurrences.hits.entry(var_num) + let entry = occurrences + .hits + .entry(var_num) .or_insert_with(|| BitVec::repeat(false, num_branches)); entry.set(occurrences.current_branch, true); @@ -105,11 +112,15 @@ impl BranchStack { pub(crate) fn current_branch_designator(&self) -> BranchDesignator { let branch_stack_num = self.len(); - let branch_num = self.last() + let branch_num = self + .last() .map(|occurrences| occurrences.current_branch) .unwrap_or(0); - BranchDesignator { branch_stack_num, branch_num } + BranchDesignator { + branch_stack_num, + branch_num, + } } #[inline] @@ -121,7 +132,7 @@ impl BranchStack { #[inline] pub(crate) fn drain_branches(&mut self, depth: usize) -> std::vec::Drain { let start_idx = self.len() - depth; - self.drain(start_idx ..) + self.drain(start_idx..) } } @@ -156,13 +167,23 @@ impl DebrayAllocator { match &mut self.var_data.records[var_num].allocation { VarAlloc::Perm(_, ref mut allocation) => { match allocation { - PermVarAllocation::Done { shallow_safety, deep_safety, .. } => { - if !self.branch_stack.safety_unneeded_in_branch(shallow_safety, &branch_designator) { + PermVarAllocation::Done { + shallow_safety, + deep_safety, + .. + } => { + if !self + .branch_stack + .safety_unneeded_in_branch(shallow_safety, &branch_designator) + { let branch_occurrences = self.branch_stack.last_mut().unwrap(); branch_occurrences.shallow_safety.insert(var_num); } - if !self.branch_stack.safety_unneeded_in_branch(deep_safety, &branch_designator) { + if !self + .branch_stack + .safety_unneeded_in_branch(deep_safety, &branch_designator) + { let branch_occurrences = self.branch_stack.last_mut().unwrap(); branch_occurrences.deep_safety.insert(var_num); } @@ -182,15 +203,15 @@ impl DebrayAllocator { pub(crate) fn pop_branch(&mut self, depth: usize, subsumed_hits: SubsumedBranchHits) { let removed_branches = self.branch_stack.drain_branches(depth); - let (deep_safety, shallow_safety) = removed_branches - .into_iter() - .fold((BitSet::default(), BitSet::default()), - |(mut deep_safety, mut shallow_safety), branch_occurrences| { - deep_safety.union_with(&branch_occurrences.deep_safety); - shallow_safety.union_with(&branch_occurrences.shallow_safety); + let (deep_safety, shallow_safety) = removed_branches.into_iter().fold( + (BitSet::default(), BitSet::default()), + |(mut deep_safety, mut shallow_safety), branch_occurrences| { + deep_safety.union_with(&branch_occurrences.deep_safety); + shallow_safety.union_with(&branch_occurrences.shallow_safety); - (deep_safety, shallow_safety) - }); + (deep_safety, shallow_safety) + }, + ); let branch_designator = self.branch_stack.current_branch_designator(); @@ -201,7 +222,7 @@ impl DebrayAllocator { (&latest_branch.deep_safety, &latest_branch.shallow_safety) } - None => (&deep_safety, &shallow_safety) + None => (&deep_safety, &shallow_safety), }; for var_num in subsumed_hits.iter().cloned() { @@ -221,10 +242,13 @@ impl DebrayAllocator { ); if running_count < num_occurrences { - *allocation = PermVarAllocation::Done { shallow_safety, deep_safety }; + *allocation = PermVarAllocation::Done { + shallow_safety, + deep_safety, + }; } } - _ => unreachable!() + _ => unreachable!(), } } @@ -244,9 +268,11 @@ impl DebrayAllocator { fn occurs_shallowly_in_head(&self, var_num: usize, r: usize) -> bool { match &self.var_data.records[var_num].allocation { - VarAlloc::Temp { temp_var_data, term_loc: GenContext::Head, .. } => { - temp_var_data.use_set.contains(&(GenContext::Head, r)) - } + VarAlloc::Temp { + temp_var_data, + term_loc: GenContext::Head, + .. + } => temp_var_data.use_set.contains(&(GenContext::Head, r)), _ => false, } } @@ -325,12 +351,14 @@ impl DebrayAllocator { match &self.var_data.records[t_var].allocation { VarAlloc::Temp { temp_var_data, .. } => { - if !temp_var_data.use_set.contains(&(GenContext::Last(chunk_num), k)) { + if !temp_var_data + .use_set + .contains(&(GenContext::Last(chunk_num), k)) + { return Some((t_var, self.alloc_with_ca(t_var))); } } - _ => { - } + _ => {} } None @@ -356,7 +384,9 @@ impl DebrayAllocator { self.shallow_temp_mappings.swap_remove(&k); self.shallow_temp_mappings.insert(r.reg_num(), var_num); - self.var_data.records[var_num].allocation.set_register(r.reg_num()); + self.var_data.records[var_num] + .allocation + .set_register(r.reg_num()); self.in_use.insert(r.reg_num()); } } @@ -417,12 +447,9 @@ impl DebrayAllocator { fn in_place(&self, var_num: usize, term_loc: GenContext, r: RegType, k: usize) -> bool { match term_loc { GenContext::Head if !r.is_perm() => r.reg_num() == k, - _ => { - match &self.var_data.records[var_num].allocation { - &VarAlloc::Temp { temp_reg, .. } if r.reg_num() == k => - temp_reg == k, - _ => false, - } + _ => match &self.var_data.records[var_num].allocation { + &VarAlloc::Temp { temp_reg, .. } if r.reg_num() == k => temp_reg == k, + _ => false, }, } } @@ -483,8 +510,7 @@ impl DebrayAllocator { VarAlloc::Perm(p, PermVarAllocation::Pending) if *p > 0 => { return Some(std::mem::replace(p, 0)); } - _ => { - } + _ => {} } } else { return None; @@ -500,8 +526,7 @@ impl DebrayAllocator { *allocation = PermVarAllocation::Pending; self.add_perm_to_free_list(chunk_num, var_num); } - _ => { - } + _ => {} } } @@ -509,7 +534,14 @@ impl DebrayAllocator { let branch_designator = self.branch_stack.current_branch_designator(); match &mut self.var_data.records[var_num].allocation { - VarAlloc::Perm(_, PermVarAllocation::Done { deep_safety, shallow_safety, .. }) => { + VarAlloc::Perm( + _, + PermVarAllocation::Done { + deep_safety, + shallow_safety, + .. + }, + ) => { *deep_safety = VarSafetyStatus::unneeded(branch_designator); *shallow_safety = VarSafetyStatus::unneeded(branch_designator); } @@ -524,7 +556,14 @@ impl DebrayAllocator { let branch_designator = self.branch_stack.current_branch_designator(); match &mut self.var_data.records[var_num].allocation { - VarAlloc::Perm(_, PermVarAllocation::Done { deep_safety, shallow_safety, .. }) => { + VarAlloc::Perm( + _, + PermVarAllocation::Done { + deep_safety, + shallow_safety, + .. + }, + ) => { // GetVariable in head chunk is considered safe. if lvl == Level::Deep { *deep_safety = VarSafetyStatus::unneeded(branch_designator); @@ -532,12 +571,16 @@ impl DebrayAllocator { } else if term_loc == GenContext::Head { *shallow_safety = VarSafetyStatus::GloballyUnneeded; } else { - if let Some(temp_var_num) = self.shallow_temp_mappings.get(&self.arg_c).cloned() { + if let Some(temp_var_num) = self.shallow_temp_mappings.get(&self.arg_c).cloned() + { match &mut self.var_data.records[temp_var_num].allocation { - VarAlloc::Temp { ref mut to_perm_var_num, .. } => { + VarAlloc::Temp { + ref mut to_perm_var_num, + .. + } => { *to_perm_var_num = Some(var_num); } - _ => unreachable!() + _ => unreachable!(), } } } @@ -560,8 +603,18 @@ impl DebrayAllocator { let branch_designator = self.branch_stack.current_branch_designator(); match &mut self.var_data.records[var_num].allocation { - VarAlloc::Perm(_, PermVarAllocation::Done { ref mut shallow_safety, .. }) => { - if !self.in_tail_position || self.branch_stack.safety_unneeded_in_branch(shallow_safety, &branch_designator) { + VarAlloc::Perm( + _, + PermVarAllocation::Done { + ref mut shallow_safety, + .. + }, + ) => { + if !self.in_tail_position + || self + .branch_stack + .safety_unneeded_in_branch(shallow_safety, &branch_designator) + { Target::argument_to_value(r, arg_c) } else { *shallow_safety = VarSafetyStatus::unneeded(branch_designator); @@ -569,7 +622,10 @@ impl DebrayAllocator { } } VarAlloc::Temp { ref mut safety, .. } => { - if self.branch_stack.safety_unneeded_in_branch(safety, &branch_designator) { + if self + .branch_stack + .safety_unneeded_in_branch(safety, &branch_designator) + { Target::argument_to_value(r, arg_c) } else { *safety = VarSafetyStatus::GloballyUnneeded; @@ -590,8 +646,17 @@ impl DebrayAllocator { let branch_designator = self.branch_stack.current_branch_designator(); match &mut self.var_data.records[var_num].allocation { - VarAlloc::Perm(_, PermVarAllocation::Done { ref mut deep_safety, .. }) => { - if self.branch_stack.safety_unneeded_in_branch(deep_safety, &branch_designator) { + VarAlloc::Perm( + _, + PermVarAllocation::Done { + ref mut deep_safety, + .. + }, + ) => { + if self + .branch_stack + .safety_unneeded_in_branch(deep_safety, &branch_designator) + { Target::subterm_to_value(r) } else { *deep_safety = VarSafetyStatus::unneeded(branch_designator); @@ -599,7 +664,10 @@ impl DebrayAllocator { } } VarAlloc::Temp { ref mut safety, .. } => { - if self.branch_stack.safety_unneeded_in_branch(safety, &branch_designator) { + if self + .branch_stack + .safety_unneeded_in_branch(safety, &branch_designator) + { Target::subterm_to_value(r) } else { *safety = VarSafetyStatus::unneeded(branch_designator); @@ -626,7 +694,7 @@ impl Allocator for DebrayAllocator { in_use: BitSet::default(), temp_free_list: vec![], perm_free_list: VecDeque::new(), - branch_stack: BranchStack { stack: vec![] } + branch_stack: BranchStack { stack: vec![] }, } } @@ -705,12 +773,14 @@ impl Allocator for DebrayAllocator { } r @ RegType::Perm(_) => { let is_new_var = match &mut self.var_data.records[var_num].allocation { - VarAlloc::Perm(_, allocation) => if allocation.pending() { - *allocation = PermVarAllocation::done(); - true - } else { - false - }, + VarAlloc::Perm(_, allocation) => { + if allocation.pending() { + *allocation = PermVarAllocation::done(); + true + } else { + false + } + } _ => unreachable!(), }; @@ -828,7 +898,9 @@ impl Allocator for DebrayAllocator { if !r.is_perm() && r.reg_num() == 0 { self.in_use.insert(idx + 1); self.shallow_temp_mappings.insert(idx + 1, var_num); - self.var_data.records[var_num].allocation.set_register(idx + 1); + self.var_data.records[var_num] + .allocation + .set_register(idx + 1); } } } diff --git a/src/ffi.rs b/src/ffi.rs index a48ed62e..8fd55dbc 100644 --- a/src/ffi.rs +++ b/src/ffi.rs @@ -24,12 +24,12 @@ use crate::atom_table::Atom; use std::alloc::{alloc, Layout}; use std::any::Any; use std::collections::HashMap; -use std::error::Error; -use std::ffi::{CString, c_void}; use std::convert::TryFrom; +use std::error::Error; +use std::ffi::{c_void, CString}; -use libffi::low::{ffi_cif, types, CodePtr, ffi_abi_FFI_DEFAULT_ABI, prep_cif, ffi_type, type_tag}; -use libloading::{Symbol, Library}; +use libffi::low::{ffi_abi_FFI_DEFAULT_ABI, ffi_cif, ffi_type, prep_cif, type_tag, types, CodePtr}; +use libloading::{Library, Symbol}; pub struct FunctionDefinition { pub name: String, @@ -65,338 +65,393 @@ struct PointerArgs { impl ForeignFunctionTable { pub fn merge(&mut self, other: ForeignFunctionTable) { - self.table.extend(other.table); + self.table.extend(other.table); } pub fn define_struct(&mut self, name: &str, atom_fields: Vec) { - let mut fields: Vec<_> = atom_fields.iter().map(|x| self.map_type_ffi(&x)).collect(); - fields.push(std::ptr::null_mut::()); - let mut struct_type: ffi_type = Default::default(); - struct_type.type_ = type_tag::STRUCT; - struct_type.elements = fields.as_mut_ptr(); - self.structs.insert(name.to_string(), StructImpl { ffi_type: struct_type, fields, atom_fields}); + let mut fields: Vec<_> = atom_fields.iter().map(|x| self.map_type_ffi(&x)).collect(); + fields.push(std::ptr::null_mut::()); + let mut struct_type: ffi_type = Default::default(); + struct_type.type_ = type_tag::STRUCT; + struct_type.elements = fields.as_mut_ptr(); + self.structs.insert( + name.to_string(), + StructImpl { + ffi_type: struct_type, + fields, + atom_fields, + }, + ); } fn map_type_ffi(&mut self, source: &Atom) -> *mut ffi_type { - unsafe { - match source { - atom!("sint64") => &mut types::sint64, - atom!("sint32") => &mut types::sint32, - atom!("sint16") => &mut types::sint16, - atom!("sint8") => &mut types::sint8, - atom!("uint64") => &mut types::uint64, - atom!("uint32") => &mut types::uint32, - atom!("uint16") => &mut types::uint16, - atom!("uint8") => &mut types::uint8, - atom!("bool") => &mut types::sint8, - atom!("void") => &mut types::void, - atom!("cstr") => &mut types::pointer, - atom!("ptr") => &mut types::pointer, - atom!("f32") => &mut types::float, - atom!("f64") => &mut types::double, - struct_name => { - match self.structs.get_mut(struct_name.as_str()) { - Some(ref mut struct_type) => { - &mut struct_type.ffi_type - }, - None => unreachable!() - } - } - } - } + unsafe { + match source { + atom!("sint64") => &mut types::sint64, + atom!("sint32") => &mut types::sint32, + atom!("sint16") => &mut types::sint16, + atom!("sint8") => &mut types::sint8, + atom!("uint64") => &mut types::uint64, + atom!("uint32") => &mut types::uint32, + atom!("uint16") => &mut types::uint16, + atom!("uint8") => &mut types::uint8, + atom!("bool") => &mut types::sint8, + atom!("void") => &mut types::void, + atom!("cstr") => &mut types::pointer, + atom!("ptr") => &mut types::pointer, + atom!("f32") => &mut types::float, + atom!("f64") => &mut types::double, + struct_name => match self.structs.get_mut(&*struct_name.as_str()) { + Some(ref mut struct_type) => &mut struct_type.ffi_type, + None => unreachable!(), + }, + } + } } - pub(crate) fn load_library(&mut self, library_name: &str, functions: &Vec) -> Result<(), Box> { - let mut ff_table: ForeignFunctionTable = Default::default(); - unsafe { - let library = Library::new(library_name)?; - for function in functions { - let symbol_name: CString = CString::new(function.name.clone())?; - let code_ptr: Symbol<*mut c_void> = library.get(&symbol_name.into_bytes_with_nul())?; - let mut args: Vec<_> = function.args.iter().map(|x| self.map_type_ffi(&x)).collect(); - let mut cif: ffi_cif = Default::default(); - prep_cif( - &mut cif, - ffi_abi_FFI_DEFAULT_ABI, - args.len(), - self.map_type_ffi(&function.return_value), - args.as_mut_ptr() - ).unwrap(); + pub(crate) fn load_library( + &mut self, + library_name: &str, + functions: &Vec, + ) -> Result<(), Box> { + let mut ff_table: ForeignFunctionTable = Default::default(); + unsafe { + let library = Library::new(library_name)?; + for function in functions { + let symbol_name: CString = CString::new(function.name.clone())?; + let code_ptr: Symbol<*mut c_void> = + library.get(&symbol_name.into_bytes_with_nul())?; + let mut args: Vec<_> = function + .args + .iter() + .map(|x| self.map_type_ffi(&x)) + .collect(); + let mut cif: ffi_cif = Default::default(); + prep_cif( + &mut cif, + ffi_abi_FFI_DEFAULT_ABI, + args.len(), + self.map_type_ffi(&function.return_value), + args.as_mut_ptr(), + ) + .unwrap(); - let return_struct_name = if (*self.map_type_ffi(&function.return_value)).type_ as u32 == libffi::raw::FFI_TYPE_STRUCT { - Some(function.return_value.as_str().to_string()) - } else { - None - }; + let return_struct_name = if (*self.map_type_ffi(&function.return_value)).type_ + as u32 + == libffi::raw::FFI_TYPE_STRUCT + { + Some(function.return_value.as_str().to_string()) + } else { + None + }; - ff_table.table.insert(function.name.clone(), FunctionImpl { - cif, - args, - code_ptr: CodePtr(code_ptr.into_raw().into_raw() as *mut _), - return_struct_name, - }); - } - std::mem::forget(library); - } - self.merge(ff_table); - Ok(()) + ff_table.table.insert( + function.name.clone(), + FunctionImpl { + cif, + args, + code_ptr: CodePtr(code_ptr.into_raw().into_raw() as *mut _), + return_struct_name, + }, + ); + } + std::mem::forget(library); + } + self.merge(ff_table); + Ok(()) } - fn build_pointer_args(args: &mut Vec, type_args: &Vec<*mut ffi_type>, structs_table: &mut HashMap) -> Result { - let mut pointers = Vec::with_capacity(args.len()); - let mut _memory = Vec::new(); - for i in 0..args.len() { - let field_type = type_args[i]; - unsafe { - macro_rules! push_int { - ($type:ty) => { - { - let n: $type = <$type>::try_from(args[i].as_int()?).map_err(|_| FFIError::ValueDontFit)?; - let mut box_value = Box::new(n) as Box; - pointers.push(&mut *box_value as *mut _ as *mut c_void); - _memory.push(box_value); - } - } - } - - match (*field_type).type_ as u32 { - libffi::raw::FFI_TYPE_UINT8 => push_int!(u8), - libffi::raw::FFI_TYPE_SINT8 => push_int!(i8), - libffi::raw::FFI_TYPE_UINT16 => push_int!(u16), - libffi::raw::FFI_TYPE_SINT16 => push_int!(i16), - libffi::raw::FFI_TYPE_UINT32 => push_int!(u32), - libffi::raw::FFI_TYPE_SINT32 => push_int!(i32), - libffi::raw::FFI_TYPE_UINT64 => push_int!(u64), - libffi::raw::FFI_TYPE_SINT64 => push_int!(i64), - libffi::raw::FFI_TYPE_FLOAT => { - let n: f32 = args[i].as_float()? as f32; - let mut box_value = Box::new(n) as Box; - pointers.push(&mut *box_value as *mut _ as *mut c_void); - _memory.push(box_value); - }, - libffi::raw::FFI_TYPE_DOUBLE => { - let n: f64 = args[i].as_float()?; - let mut box_value = Box::new(n) as Box; - pointers.push(&mut *box_value as *mut _ as *mut c_void); - _memory.push(box_value); - }, - libffi::raw::FFI_TYPE_POINTER => { - let ptr: *mut c_void = args[i].as_ptr()?; - pointers.push(ptr); - }, - libffi::raw::FFI_TYPE_STRUCT => { - let (mut ptr, _size, _align) = Self::build_struct(&mut args[i], structs_table)?; - pointers.push(&mut *ptr as *mut _ as *mut c_void); - _memory.push(ptr); - }, - _ => return Err(FFIError::InvalidFFIType) - } - } - } - Ok(PointerArgs { - pointers, - _memory - }) + fn build_pointer_args( + args: &mut Vec, + type_args: &Vec<*mut ffi_type>, + structs_table: &mut HashMap, + ) -> Result { + let mut pointers = Vec::with_capacity(args.len()); + let mut _memory = Vec::new(); + for i in 0..args.len() { + let field_type = type_args[i]; + unsafe { + macro_rules! push_int { + ($type:ty) => {{ + let n: $type = <$type>::try_from(args[i].as_int()?) + .map_err(|_| FFIError::ValueDontFit)?; + let mut box_value = Box::new(n) as Box; + pointers.push(&mut *box_value as *mut _ as *mut c_void); + _memory.push(box_value); + }}; + } + + match (*field_type).type_ as u32 { + libffi::raw::FFI_TYPE_UINT8 => push_int!(u8), + libffi::raw::FFI_TYPE_SINT8 => push_int!(i8), + libffi::raw::FFI_TYPE_UINT16 => push_int!(u16), + libffi::raw::FFI_TYPE_SINT16 => push_int!(i16), + libffi::raw::FFI_TYPE_UINT32 => push_int!(u32), + libffi::raw::FFI_TYPE_SINT32 => push_int!(i32), + libffi::raw::FFI_TYPE_UINT64 => push_int!(u64), + libffi::raw::FFI_TYPE_SINT64 => push_int!(i64), + libffi::raw::FFI_TYPE_FLOAT => { + let n: f32 = args[i].as_float()? as f32; + let mut box_value = Box::new(n) as Box; + pointers.push(&mut *box_value as *mut _ as *mut c_void); + _memory.push(box_value); + } + libffi::raw::FFI_TYPE_DOUBLE => { + let n: f64 = args[i].as_float()?; + let mut box_value = Box::new(n) as Box; + pointers.push(&mut *box_value as *mut _ as *mut c_void); + _memory.push(box_value); + } + libffi::raw::FFI_TYPE_POINTER => { + let ptr: *mut c_void = args[i].as_ptr()?; + pointers.push(ptr); + } + libffi::raw::FFI_TYPE_STRUCT => { + let (mut ptr, _size, _align) = + Self::build_struct(&mut args[i], structs_table)?; + pointers.push(&mut *ptr as *mut _ as *mut c_void); + _memory.push(ptr); + } + _ => return Err(FFIError::InvalidFFIType), + } + } + } + Ok(PointerArgs { pointers, _memory }) } - fn build_struct(arg: &mut Value, structs_table: &mut HashMap) -> Result<(Box, usize, usize), FFIError> { - unsafe { - match arg { - Value::Struct(ref name, ref mut struct_args) => { - if let Some(ref mut struct_type) = structs_table.clone().get_mut(name) { - let layout = Layout::from_size_align(struct_type.ffi_type.size, struct_type.ffi_type.alignment.into()).unwrap(); - let align = struct_type.ffi_type.alignment as usize; - let size = struct_type.ffi_type.size; - let ptr = alloc(layout) as *mut c_void; - let mut field_ptr = ptr; + fn build_struct( + arg: &mut Value, + structs_table: &mut HashMap, + ) -> Result<(Box, usize, usize), FFIError> { + unsafe { + match arg { + Value::Struct(ref name, ref mut struct_args) => { + if let Some(ref mut struct_type) = structs_table.clone().get_mut(name) { + let layout = Layout::from_size_align( + struct_type.ffi_type.size, + struct_type.ffi_type.alignment.into(), + ) + .unwrap(); + let align = struct_type.ffi_type.alignment as usize; + let size = struct_type.ffi_type.size; + let ptr = alloc(layout) as *mut c_void; + let mut field_ptr = ptr; - for i in 0..(struct_type.fields.len()-1) { - macro_rules! try_write_int { - ($type:ty) => { - { - field_ptr = field_ptr.add(field_ptr.align_offset(std::mem::align_of::<$type>())); - let n: $type = <$type>::try_from(struct_args[i].as_int()?).map_err(|_| FFIError::ValueDontFit)?; - std::ptr::write(field_ptr as *mut $type, n); - field_ptr = field_ptr.add(std::mem::size_of::<$type>()); - } - } - } + for i in 0..(struct_type.fields.len() - 1) { + macro_rules! try_write_int { + ($type:ty) => {{ + field_ptr = field_ptr + .add(field_ptr.align_offset(std::mem::align_of::<$type>())); + let n: $type = <$type>::try_from(struct_args[i].as_int()?) + .map_err(|_| FFIError::ValueDontFit)?; + std::ptr::write(field_ptr as *mut $type, n); + field_ptr = field_ptr.add(std::mem::size_of::<$type>()); + }}; + } - macro_rules! write { - ($type:ty, $value:expr) => { - { - let data: $type = $value; - std::ptr::write(field_ptr as *mut $type, data); - field_ptr = field_ptr.add(align); - } - } - } + macro_rules! write { + ($type:ty, $value:expr) => {{ + let data: $type = $value; + std::ptr::write(field_ptr as *mut $type, data); + field_ptr = field_ptr.add(align); + }}; + } - let field = struct_type.fields[i]; - match (*field).type_ as u32 { - libffi::raw::FFI_TYPE_UINT8 => try_write_int!(u8), - libffi::raw::FFI_TYPE_SINT8 => try_write_int!(i8), - libffi::raw::FFI_TYPE_UINT16 => try_write_int!(u16), - libffi::raw::FFI_TYPE_SINT16 => try_write_int!(i16), - libffi::raw::FFI_TYPE_UINT32 => try_write_int!(u32), - libffi::raw::FFI_TYPE_SINT32 => try_write_int!(i32), - libffi::raw::FFI_TYPE_UINT64 => try_write_int!(u64), - libffi::raw::FFI_TYPE_SINT64 => try_write_int!(i64), - libffi::raw::FFI_TYPE_POINTER => write!(*mut c_void, struct_args[i].as_ptr()?), - libffi::raw::FFI_TYPE_FLOAT => write!(f32, struct_args[i].as_float()? as f32), - libffi::raw::FFI_TYPE_DOUBLE => write!(f64, struct_args[i].as_float()?), - libffi::raw::FFI_TYPE_STRUCT => { - let (struct_ptr, struct_size, struct_align) = Self::build_struct(&mut struct_args[i], structs_table)?; - field_ptr = field_ptr.add(field_ptr.align_offset(struct_align)); - - std::ptr::copy(& *struct_ptr as *const _ as *const c_void, field_ptr as *mut c_void, struct_size); - field_ptr = field_ptr.add(struct_size); - }, - _ => { - unreachable!() - } - } - } - return Ok((Box::from_raw(ptr), size, align)); - } else { - return Err(FFIError::InvalidStructName); - } - } - _ => return Err(FFIError::ValueCast) - } - } + let field = struct_type.fields[i]; + match (*field).type_ as u32 { + libffi::raw::FFI_TYPE_UINT8 => try_write_int!(u8), + libffi::raw::FFI_TYPE_SINT8 => try_write_int!(i8), + libffi::raw::FFI_TYPE_UINT16 => try_write_int!(u16), + libffi::raw::FFI_TYPE_SINT16 => try_write_int!(i16), + libffi::raw::FFI_TYPE_UINT32 => try_write_int!(u32), + libffi::raw::FFI_TYPE_SINT32 => try_write_int!(i32), + libffi::raw::FFI_TYPE_UINT64 => try_write_int!(u64), + libffi::raw::FFI_TYPE_SINT64 => try_write_int!(i64), + libffi::raw::FFI_TYPE_POINTER => { + write!(*mut c_void, struct_args[i].as_ptr()?) + } + libffi::raw::FFI_TYPE_FLOAT => { + write!(f32, struct_args[i].as_float()? as f32) + } + libffi::raw::FFI_TYPE_DOUBLE => { + write!(f64, struct_args[i].as_float()?) + } + libffi::raw::FFI_TYPE_STRUCT => { + let (struct_ptr, struct_size, struct_align) = + Self::build_struct(&mut struct_args[i], structs_table)?; + field_ptr = field_ptr.add(field_ptr.align_offset(struct_align)); + + std::ptr::copy( + &*struct_ptr as *const _ as *const c_void, + field_ptr as *mut c_void, + struct_size, + ); + field_ptr = field_ptr.add(struct_size); + } + _ => { + unreachable!() + } + } + } + return Ok((Box::from_raw(ptr), size, align)); + } else { + return Err(FFIError::InvalidStructName); + } + } + _ => return Err(FFIError::ValueCast), + } + } } pub fn exec(&mut self, name: &str, mut args: Vec) -> Result { - let function_impl = self.table.get_mut(name).ok_or(FFIError::FunctionNotFound)?; - let mut pointer_args = Self::build_pointer_args(&mut args, &function_impl.args, &mut self.structs)?; - - return unsafe { - macro_rules! call_and_return { - ($type:ty) => { - { - let mut n: Box = Box::new(0); - libffi::raw::ffi_call( - &mut function_impl.cif, - Some(*function_impl.code_ptr.as_safe_fun()), - &mut *n as *mut _ as *mut c_void, - pointer_args.pointers.as_mut_ptr() as *mut *mut c_void - ); - Ok(Value::Int(i64::from(*n))) - } - } - } - - match (*function_impl.cif.rtype).type_ as u32 { - libffi::raw::FFI_TYPE_VOID => call_and_return!(i32), - libffi::raw::FFI_TYPE_UINT8 => call_and_return!(u8), - libffi::raw::FFI_TYPE_SINT8 => call_and_return!(i8), - libffi::raw::FFI_TYPE_UINT16 => call_and_return!(u16), - libffi::raw::FFI_TYPE_SINT16 => call_and_return!(i16), - libffi::raw::FFI_TYPE_UINT32 => call_and_return!(u32), - libffi::raw::FFI_TYPE_SINT32 => call_and_return!(i32), - libffi::raw::FFI_TYPE_UINT64 => { - let mut n: Box = Box::new(0); - libffi::raw::ffi_call( - &mut function_impl.cif, - Some(*function_impl.code_ptr.as_safe_fun()), - &mut *n as *mut _ as *mut c_void, - pointer_args.pointers.as_mut_ptr() as *mut *mut c_void - ); - Ok(Value::Int(i64::try_from(*n).map_err(|_| FFIError::ValueDontFit)?)) - }, - libffi::raw::FFI_TYPE_SINT64 => call_and_return!(i64), - libffi::raw::FFI_TYPE_POINTER => call_and_return!(*mut c_void), - libffi::raw::FFI_TYPE_FLOAT => { - let mut n: Box = Box::new(0.0); - libffi::raw::ffi_call( - &mut function_impl.cif, - Some(*function_impl.code_ptr.as_safe_fun()), - &mut *n as *mut _ as *mut c_void, - pointer_args.pointers.as_mut_ptr() as *mut *mut c_void - ); - Ok(Value::Float((*n).into())) - }, - libffi::raw::FFI_TYPE_DOUBLE => { - let mut n: Box = Box::new(0.0); - libffi::raw::ffi_call( - &mut function_impl.cif, - Some(*function_impl.code_ptr.as_safe_fun()), - &mut *n as *mut _ as *mut c_void, - pointer_args.pointers.as_mut_ptr() as *mut *mut c_void - ); - Ok(Value::Float(*n)) - }, - libffi::raw::FFI_TYPE_STRUCT => { - let name = &function_impl.return_struct_name.clone().ok_or(FFIError::StructNotFound)?; - let struct_type = self.structs.get(name).ok_or(FFIError::StructNotFound)?; - let layout = Layout::from_size_align(struct_type.ffi_type.size, struct_type.ffi_type.alignment.into()).unwrap(); - let ptr = alloc(layout) as *mut c_void; + let function_impl = self.table.get_mut(name).ok_or(FFIError::FunctionNotFound)?; + let mut pointer_args = + Self::build_pointer_args(&mut args, &function_impl.args, &mut self.structs)?; - libffi::raw::ffi_call( - &mut function_impl.cif, - Some(*function_impl.code_ptr.as_safe_fun()), - &mut *ptr as *mut _ as *mut c_void, - pointer_args.pointers.as_mut_ptr() as *mut *mut c_void - ); - let struct_val = self.read_struct(ptr, name, struct_type); - drop(Box::from_raw(ptr)); - struct_val - } - _ => unreachable!() - } - }; + return unsafe { + macro_rules! call_and_return { + ($type:ty) => {{ + let mut n: Box = Box::new(0); + libffi::raw::ffi_call( + &mut function_impl.cif, + Some(*function_impl.code_ptr.as_safe_fun()), + &mut *n as *mut _ as *mut c_void, + pointer_args.pointers.as_mut_ptr() as *mut *mut c_void, + ); + Ok(Value::Int(i64::from(*n))) + }}; + } + + match (*function_impl.cif.rtype).type_ as u32 { + libffi::raw::FFI_TYPE_VOID => call_and_return!(i32), + libffi::raw::FFI_TYPE_UINT8 => call_and_return!(u8), + libffi::raw::FFI_TYPE_SINT8 => call_and_return!(i8), + libffi::raw::FFI_TYPE_UINT16 => call_and_return!(u16), + libffi::raw::FFI_TYPE_SINT16 => call_and_return!(i16), + libffi::raw::FFI_TYPE_UINT32 => call_and_return!(u32), + libffi::raw::FFI_TYPE_SINT32 => call_and_return!(i32), + libffi::raw::FFI_TYPE_UINT64 => { + let mut n: Box = Box::new(0); + libffi::raw::ffi_call( + &mut function_impl.cif, + Some(*function_impl.code_ptr.as_safe_fun()), + &mut *n as *mut _ as *mut c_void, + pointer_args.pointers.as_mut_ptr() as *mut *mut c_void, + ); + Ok(Value::Int( + i64::try_from(*n).map_err(|_| FFIError::ValueDontFit)?, + )) + } + libffi::raw::FFI_TYPE_SINT64 => call_and_return!(i64), + libffi::raw::FFI_TYPE_POINTER => call_and_return!(*mut c_void), + libffi::raw::FFI_TYPE_FLOAT => { + let mut n: Box = Box::new(0.0); + libffi::raw::ffi_call( + &mut function_impl.cif, + Some(*function_impl.code_ptr.as_safe_fun()), + &mut *n as *mut _ as *mut c_void, + pointer_args.pointers.as_mut_ptr() as *mut *mut c_void, + ); + Ok(Value::Float((*n).into())) + } + libffi::raw::FFI_TYPE_DOUBLE => { + let mut n: Box = Box::new(0.0); + libffi::raw::ffi_call( + &mut function_impl.cif, + Some(*function_impl.code_ptr.as_safe_fun()), + &mut *n as *mut _ as *mut c_void, + pointer_args.pointers.as_mut_ptr() as *mut *mut c_void, + ); + Ok(Value::Float(*n)) + } + libffi::raw::FFI_TYPE_STRUCT => { + let name = &function_impl + .return_struct_name + .clone() + .ok_or(FFIError::StructNotFound)?; + let struct_type = self.structs.get(name).ok_or(FFIError::StructNotFound)?; + let layout = Layout::from_size_align( + struct_type.ffi_type.size, + struct_type.ffi_type.alignment.into(), + ) + .unwrap(); + let ptr = alloc(layout) as *mut c_void; + + libffi::raw::ffi_call( + &mut function_impl.cif, + Some(*function_impl.code_ptr.as_safe_fun()), + &mut *ptr as *mut _ as *mut c_void, + pointer_args.pointers.as_mut_ptr() as *mut *mut c_void, + ); + let struct_val = self.read_struct(ptr, name, struct_type); + drop(Box::from_raw(ptr)); + struct_val + } + _ => unreachable!(), + } + }; } - fn read_struct(&self, ptr: *mut c_void, name: &str, struct_type: &StructImpl) -> Result { - unsafe { - let mut returns = Vec::new(); - let mut field_ptr = ptr; + fn read_struct( + &self, + ptr: *mut c_void, + name: &str, + struct_type: &StructImpl, + ) -> Result { + unsafe { + let mut returns = Vec::new(); + let mut field_ptr = ptr; - for i in 0..(struct_type.fields.len()-1) { - let field = struct_type.fields[i]; + for i in 0..(struct_type.fields.len() - 1) { + let field = struct_type.fields[i]; - macro_rules! read_and_push_int { - ($type:ty) => { - { - field_ptr = field_ptr.add(field_ptr.align_offset(std::mem::align_of::<$type>())); - let n = std::ptr::read(field_ptr as *mut $type); - returns.push(Value::Int(i64::from(n))); - field_ptr = field_ptr.add(std::mem::size_of::<$type>()); - } - } - } + macro_rules! read_and_push_int { + ($type:ty) => {{ + field_ptr = + field_ptr.add(field_ptr.align_offset(std::mem::align_of::<$type>())); + let n = std::ptr::read(field_ptr as *mut $type); + returns.push(Value::Int(i64::from(n))); + field_ptr = field_ptr.add(std::mem::size_of::<$type>()); + }}; + } - match (*field).type_ as u32 { - libffi::raw::FFI_TYPE_UINT8 => read_and_push_int!(u8), - libffi::raw::FFI_TYPE_SINT8 => read_and_push_int!(i8), - libffi::raw::FFI_TYPE_UINT16 => read_and_push_int!(u16), - libffi::raw::FFI_TYPE_SINT16 => read_and_push_int!(i16), - libffi::raw::FFI_TYPE_UINT32 => read_and_push_int!(u32), - libffi::raw::FFI_TYPE_SINT32 => read_and_push_int!(i32), - libffi::raw::FFI_TYPE_UINT64 => { - field_ptr = field_ptr.add(field_ptr.align_offset(std::mem::align_of::())); - let n = std::ptr::read(field_ptr as *mut u64); - returns.push(Value::Int(i64::try_from(n).map_err(|_| FFIError::ValueDontFit)?)); - field_ptr = field_ptr.add(std::mem::size_of::()); - }, - libffi::raw::FFI_TYPE_SINT64 => read_and_push_int!(i64), - libffi::raw::FFI_TYPE_POINTER => read_and_push_int!(i64), - libffi::raw::FFI_TYPE_STRUCT => { - let substruct = struct_type.atom_fields[i].as_str(); - let struct_type = self.structs.get(substruct).ok_or(FFIError::StructNotFound)?; - field_ptr = field_ptr.add(field_ptr.align_offset(struct_type.ffi_type.alignment as usize)); - let struct_val = self.read_struct(field_ptr, substruct, struct_type); - returns.push(struct_val?); - field_ptr = field_ptr.add(struct_type.ffi_type.size); - }, - _ => { - unreachable!() - } - } - } - Ok(Value::Struct(name.into(), returns)) - } + match (*field).type_ as u32 { + libffi::raw::FFI_TYPE_UINT8 => read_and_push_int!(u8), + libffi::raw::FFI_TYPE_SINT8 => read_and_push_int!(i8), + libffi::raw::FFI_TYPE_UINT16 => read_and_push_int!(u16), + libffi::raw::FFI_TYPE_SINT16 => read_and_push_int!(i16), + libffi::raw::FFI_TYPE_UINT32 => read_and_push_int!(u32), + libffi::raw::FFI_TYPE_SINT32 => read_and_push_int!(i32), + libffi::raw::FFI_TYPE_UINT64 => { + field_ptr = + field_ptr.add(field_ptr.align_offset(std::mem::align_of::())); + let n = std::ptr::read(field_ptr as *mut u64); + returns.push(Value::Int( + i64::try_from(n).map_err(|_| FFIError::ValueDontFit)?, + )); + field_ptr = field_ptr.add(std::mem::size_of::()); + } + libffi::raw::FFI_TYPE_SINT64 => read_and_push_int!(i64), + libffi::raw::FFI_TYPE_POINTER => read_and_push_int!(i64), + libffi::raw::FFI_TYPE_STRUCT => { + let substruct = struct_type.atom_fields[i].as_str(); + let struct_type = self + .structs + .get(&*substruct) + .ok_or(FFIError::StructNotFound)?; + field_ptr = field_ptr + .add(field_ptr.align_offset(struct_type.ffi_type.alignment as usize)); + let struct_val = self.read_struct(field_ptr, &*substruct, struct_type); + returns.push(struct_val?); + field_ptr = field_ptr.add(struct_type.ffi_type.size); + } + _ => { + unreachable!() + } + } + } + Ok(Value::Struct(name.into(), returns)) + } } } @@ -410,26 +465,26 @@ pub enum Value { impl Value { fn as_int(&self) -> Result { - match self { - Value::Int(n) => Ok(*n), - _ => Err(FFIError::ValueCast), - } + match self { + Value::Int(n) => Ok(*n), + _ => Err(FFIError::ValueCast), + } } fn as_float(&self) -> Result { - match self { - Value::Float(n) => Ok(*n), - Value::Int(n) => Ok(*n as f64), - _ => Err(FFIError::ValueCast), - } + match self { + Value::Float(n) => Ok(*n), + Value::Int(n) => Ok(*n as f64), + _ => Err(FFIError::ValueCast), + } } fn as_ptr(&mut self) -> Result<*mut c_void, FFIError> { - match self { - Value::CString(ref mut cstr) => Ok(&mut *cstr as *mut _ as *mut c_void), - Value::Int(n) => Ok(*n as *mut c_void), - _ => Err(FFIError::ValueCast) - } + match self { + Value::CString(ref mut cstr) => Ok(&mut *cstr as *mut _ as *mut c_void), + Value::Int(n) => Ok(*n as *mut c_void), + _ => Err(FFIError::ValueCast), + } } } diff --git a/src/forms.rs b/src/forms.rs index fd9c1e28..9280e535 100644 --- a/src/forms.rs +++ b/src/forms.rs @@ -7,8 +7,8 @@ use crate::machine::loader::PredicateQueue; use crate::machine::machine_errors::*; use crate::machine::machine_indices::*; use crate::parser::ast::*; -use crate::parser::parser::CompositeOpDesc; use crate::parser::dashu::{Integer, Rational}; +use crate::parser::parser::CompositeOpDesc; use crate::types::*; use fxhash::FxBuildHasher; @@ -58,7 +58,7 @@ impl AppendOrPrepend { #[derive(Debug, Clone, Copy)] pub enum VarComparison { Indistinct, - Distinct + Distinct, } #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] @@ -153,11 +153,14 @@ impl DerefMut for ChunkedTermVec { impl ChunkedTermVec { #[inline] pub fn new() -> Self { - Self { chunk_vec: VecDeque::new() } + Self { + chunk_vec: VecDeque::new(), + } } pub fn reserve_branch(&mut self, capacity: usize) { - self.chunk_vec.push_back(ChunkedTerms::Branch(Vec::with_capacity(capacity))); + self.chunk_vec + .push_back(ChunkedTerms::Branch(Vec::with_capacity(capacity))); } pub fn push_branch_arm(&mut self, branch: VecDeque) { @@ -173,19 +176,22 @@ impl ChunkedTermVec { #[inline] pub fn add_chunk(&mut self) { - self.chunk_vec.push_back(ChunkedTerms::Chunk(VecDeque::from(vec![]))); + self.chunk_vec + .push_back(ChunkedTerms::Chunk(VecDeque::from(vec![]))); } pub fn push_chunk_term(&mut self, term: QueryTerm) { match self.chunk_vec.back_mut() { Some(ChunkedTerms::Branch(_)) => { - self.chunk_vec.push_back(ChunkedTerms::Chunk(VecDeque::from(vec![term]))); + self.chunk_vec + .push_back(ChunkedTerms::Chunk(VecDeque::from(vec![term]))); } Some(ChunkedTerms::Chunk(chunk)) => { chunk.push_back(term); } None => { - self.chunk_vec.push_back(ChunkedTerms::Chunk(VecDeque::from(vec![term]))); + self.chunk_vec + .push_back(ChunkedTerms::Chunk(VecDeque::from(vec![term]))); } } } @@ -196,7 +202,7 @@ pub enum QueryTerm { // register, clause type, subterms, clause call policy. Clause(Cell, ClauseType, Vec, CallPolicy), Fail, - LocalCut(usize), // var_num + LocalCut(usize), // var_num GlobalCut(usize), // var_num GetCutPoint { var_num: usize, prev_b: bool }, GetLevel(usize), // var_num @@ -266,11 +272,10 @@ impl ClauseInfo for Term { fn name(&self) -> Option { match self { Term::Clause(_, name, terms) => { - match name { atom!(":-") => { match terms.len() { - 1 => None, // a declaration. + 1 => None, // a declaration. 2 => terms[0].name(), _ => Some(*name), } @@ -285,7 +290,7 @@ impl ClauseInfo for Term { fn arity(&self) -> usize { match self { - Term::Clause(_, name, terms) => match name.as_str() { + Term::Clause(_, name, terms) => match &*name.as_str() { ":-" => match terms.len() { 1 => 0, 2 => terms[0].arity(), @@ -410,7 +415,6 @@ pub(crate) fn fixity(spec: u32) -> Fixity { } } - impl OpDecl { #[inline] pub(crate) fn new(op_desc: OpDesc, name: Atom) -> Self { @@ -477,35 +481,27 @@ pub enum AtomOrString { impl AtomOrString { #[inline] - pub fn as_atom(&self, atom_tbl: &mut AtomTable) -> Atom { + pub fn as_atom(&self, atom_tbl: &AtomTable) -> Atom { match self { - &AtomOrString::Atom(atom) => { - atom - } - AtomOrString::String(string) => { - atom_tbl.build_with(&string) - } + &AtomOrString::Atom(atom) => atom, + AtomOrString::String(string) => AtomTable::build_with(atom_tbl, &string), } } #[inline] - pub fn as_str(&self) -> &str { + pub fn as_str(&self) -> AtomString<'_> { match self { - AtomOrString::Atom(atom) if atom == &atom!("[]") => "", + AtomOrString::Atom(atom) if atom == &atom!("[]") => AtomString::Static(""), AtomOrString::Atom(atom) => atom.as_str(), - AtomOrString::String(string) => string.as_str(), + AtomOrString::String(string) => AtomString::Static(string.as_str()), } } #[inline] pub fn to_string(self) -> String { match self { - AtomOrString::Atom(atom) => { - atom.as_str().to_owned() - } - AtomOrString::String(string) => { - string - } + AtomOrString::Atom(atom) => atom.as_str().to_owned(), + AtomOrString::String(string) => string, } } } @@ -561,9 +557,7 @@ pub(crate) fn fetch_op_spec(name: Atom, arity: usize, op_dir: &OpDir) -> Option< } }) } - 0 => { - fetch_atom_op_spec(name, None, op_dir) - } + 0 => fetch_atom_op_spec(name, None, op_dir), _ => None, } } @@ -595,10 +589,7 @@ pub struct Module { // Module's and related types are defined in forms. impl Module { - pub(crate) fn new( - module_decl: ModuleDecl, - listing_src: ListingSource, - ) -> Self { + pub(crate) fn new(module_decl: ModuleDecl, listing_src: ListingSource) -> Self { Module { module_decl, code_dir: CodeDir::with_hasher(FxBuildHasher::default()), @@ -620,7 +611,7 @@ impl Module { meta_predicates: MetaPredicateDir::with_hasher(FxBuildHasher::default()), extensible_predicates: ExtensiblePredicates::with_hasher(FxBuildHasher::default()), local_extensible_predicates: LocalExtensiblePredicates::with_hasher( - FxBuildHasher::default() + FxBuildHasher::default(), ), listing_src: ListingSource::DynamicallyGenerated, } @@ -923,8 +914,10 @@ impl PredicateInfo { #[inline] pub(crate) fn must_retract_local_clauses(&self, is_cross_module_clause: bool) -> bool { - self.is_extensible && self.has_clauses && !self.is_discontiguous && - !(self.is_multifile && is_cross_module_clause) + self.is_extensible + && self.has_clauses + && !self.is_discontiguous + && !(self.is_multifile && is_cross_module_clause) } } @@ -1013,19 +1006,17 @@ impl PredicateSkeleton { &mut self, clause_clause_loc: usize, ) -> Option { - let search_result = self.core.clause_clause_locs - .make_contiguous()[0..self.core.clause_assert_margin] + let search_result = self.core.clause_clause_locs.make_contiguous() + [0..self.core.clause_assert_margin] .binary_search_by(|loc| clause_clause_loc.cmp(&loc)); match search_result { Ok(loc) => Some(loc), - Err(_) => { - self.core.clause_clause_locs - .make_contiguous()[self.core.clause_assert_margin..] - .binary_search_by(|loc| loc.cmp(&clause_clause_loc)) - .map(|loc| loc + self.core.clause_assert_margin) - .ok() - } + Err(_) => self.core.clause_clause_locs.make_contiguous() + [self.core.clause_assert_margin..] + .binary_search_by(|loc| loc.cmp(&clause_clause_loc)) + .map(|loc| loc + self.core.clause_assert_margin) + .ok(), } } } diff --git a/src/heap_iter.rs b/src/heap_iter.rs index c20840b7..fc5d3416 100644 --- a/src/heap_iter.rs +++ b/src/heap_iter.rs @@ -73,12 +73,8 @@ impl IterStackLoc { #[inline] pub fn as_ref(self) -> Ref { match self.heap_or_stack() { - HeapOrStackTag::Heap => { - Ref::heap_cell(self.value() as usize) - } - HeapOrStackTag::Stack => { - Ref::stack_cell(self.value() as usize) - } + HeapOrStackTag::Heap => Ref::heap_cell(self.value() as usize), + HeapOrStackTag::Stack => Ref::stack_cell(self.value() as usize), } } } @@ -158,24 +154,16 @@ impl<'a> StackfulPreOrderHeapIter<'a> { #[inline] pub fn read_cell_mut(&mut self, loc: IterStackLoc) -> &mut HeapCellValue { match loc.heap_or_stack() { - HeapOrStackTag::Heap => { - &mut self.heap[loc.value() as usize] - } - HeapOrStackTag::Stack => { - &mut self.machine_stack[loc.value() as usize] - } + HeapOrStackTag::Heap => &mut self.heap[loc.value() as usize], + HeapOrStackTag::Stack => &mut self.machine_stack[loc.value() as usize], } } #[inline] pub fn read_cell(&self, loc: IterStackLoc) -> HeapCellValue { match loc.heap_or_stack() { - HeapOrStackTag::Heap => { - self.heap[loc.value() as usize] - } - HeapOrStackTag::Stack => { - self.machine_stack[loc.value() as usize] - } + HeapOrStackTag::Heap => self.heap[loc.value() as usize], + HeapOrStackTag::Stack => self.machine_stack[loc.value() as usize], } } @@ -228,7 +216,10 @@ impl<'a> StackfulPreOrderHeapIter<'a> { if !cell.get_mark_bit() { cell.set_mark_bit(true); - self.stack.push(IterStackLoc::iterable_loc(loc.value() as usize, loc.heap_or_stack())); + self.stack.push(IterStackLoc::iterable_loc( + loc.value() as usize, + loc.heap_or_stack(), + )); } } @@ -236,7 +227,10 @@ impl<'a> StackfulPreOrderHeapIter<'a> { while let Some(h) = self.stack.pop() { if h.is_pending_mark() { self.push_if_unmarked(h); - self.stack.push(IterStackLoc::mark_loc(h.value() as usize, h.heap_or_stack())); + self.stack.push(IterStackLoc::mark_loc( + h.value() as usize, + h.heap_or_stack(), + )); self.forward_if_referent_marked(h); continue; @@ -467,7 +461,7 @@ impl<'a> LeftistPostOrderHeapIter<'a> { #[inline] pub fn pop_stack(&mut self) { if let Some((child_count, ..)) = self.parent_stack.last() { - for _ in 0 .. *child_count { + for _ in 0..*child_count { self.base_iter.pop_stack(); } @@ -508,7 +502,6 @@ mod tests { use super::*; use crate::machine::mock_wam::*; - #[test] fn heap_stackless_iter_tests() { let mut wam = MockWAM::new(); @@ -518,8 +511,8 @@ mod tests { let b_atom = atom!("b"); wam.machine_st - .heap - .extend(functor!(f_atom, [atom(a_atom), atom(b_atom)])); + .heap + .extend(functor!(f_atom, [atom(a_atom), atom(b_atom)])); { let mut iter = stackless_preorder_iter(&mut wam.machine_st.heap, str_loc_as_cell!(0)); @@ -629,12 +622,12 @@ mod tests { { wam.machine_st.heap.push(heap_loc_as_cell!(0)); - let mut iter = stackless_preorder_iter( - &mut wam.machine_st.heap, - heap_loc_as_cell!(0), - ); + let mut iter = stackless_preorder_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); - assert_eq!(unmark_cell_bits!(iter.next().unwrap()), heap_loc_as_cell!(0)); + assert_eq!( + unmark_cell_bits!(iter.next().unwrap()), + heap_loc_as_cell!(0) + ); assert_eq!(iter.next(), None); } @@ -650,10 +643,7 @@ mod tests { wam.machine_st.heap.push(empty_list_as_cell!()); { - let mut iter = stackless_preorder_iter( - &mut wam.machine_st.heap, - heap_loc_as_cell!(0), - ); + let mut iter = stackless_preorder_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), @@ -688,10 +678,7 @@ mod tests { wam.machine_st.heap.push(heap_loc_as_cell!(0)); { - let mut iter = stackless_preorder_iter( - &mut wam.machine_st.heap, - heap_loc_as_cell!(0), - ); + let mut iter = stackless_preorder_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), @@ -721,7 +708,8 @@ mod tests { // first a 'dangling' partial string, later modified to be a two-part complete string, // then a three-part cyclic string involving an uncompacted list of chars. - let pstr_var_cell = put_partial_string(&mut wam.machine_st.heap, "abc ", &mut wam.machine_st.atom_tbl); + let pstr_var_cell = + put_partial_string(&mut wam.machine_st.heap, "abc ", &wam.machine_st.atom_tbl); let pstr_cell = wam.machine_st.heap[pstr_var_cell.get_value() as usize]; { @@ -742,11 +730,8 @@ mod tests { wam.machine_st.heap.pop(); wam.machine_st.heap.push(pstr_loc_as_cell!(2)); - let pstr_second_var_cell = put_partial_string( - &mut wam.machine_st.heap, - "def", - &mut wam.machine_st.atom_tbl, - ); + let pstr_second_var_cell = + put_partial_string(&mut wam.machine_st.heap, "def", &wam.machine_st.atom_tbl); let pstr_second_cell = wam.machine_st.heap[pstr_second_var_cell.get_value() as usize]; @@ -771,13 +756,12 @@ mod tests { wam.machine_st.heap.pop(); wam.machine_st.heap.push(pstr_loc_as_cell!(4)); wam.machine_st.heap.push(pstr_offset_as_cell!(0)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(2))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(2))); { - let mut iter = stackless_preorder_iter( - &mut wam.machine_st.heap, - pstr_loc_as_cell!(4), - ); + let mut iter = stackless_preorder_iter(&mut wam.machine_st.heap, pstr_loc_as_cell!(4)); let pstr_offset_cell = pstr_offset_as_cell!(0); @@ -789,19 +773,35 @@ mod tests { } assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_loc_as_cell!(2)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + pstr_loc_as_cell!(2) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_second_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), pstr_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), pstr_offset_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), fixnum_as_cell!(Fixnum::build_with(2))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + pstr_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + pstr_offset_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + fixnum_as_cell!(Fixnum::build_with(2)) + ); wam.machine_st.heap.truncate(4); wam.machine_st.heap.pop(); - wam.machine_st.heap.push(pstr_loc_as_cell!(wam.machine_st.heap.len() + 1)); + wam.machine_st + .heap + .push(pstr_loc_as_cell!(wam.machine_st.heap.len() + 1)); wam.machine_st.heap.push(pstr_offset_as_cell!(0)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(0i64))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(0i64))); { let mut iter = stackless_preorder_iter(&mut wam.machine_st.heap, pstr_loc_as_cell!(0)); @@ -819,7 +819,9 @@ mod tests { all_cells_unmarked(&wam.machine_st.heap); wam.machine_st.heap.pop(); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(1i64))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(1i64))); { let mut iter = stackless_preorder_iter(&mut wam.machine_st.heap, pstr_loc_as_cell!(0)); @@ -827,8 +829,14 @@ mod tests { assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_cell); assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_second_cell); - assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_offset_as_cell!(0)); - assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_offset_as_cell!(0)); + assert_eq!( + unmark_cell_bits!(iter.next().unwrap()), + pstr_offset_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(iter.next().unwrap()), + pstr_offset_as_cell!(0) + ); assert_eq!(iter.next(), None); @@ -1059,10 +1067,22 @@ mod tests { all_cells_unmarked(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), heap_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), heap_loc_as_cell!(2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), heap_loc_as_cell!(3)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), heap_loc_as_cell!(3)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + heap_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + heap_loc_as_cell!(2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + heap_loc_as_cell!(3) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + heap_loc_as_cell!(3) + ); wam.machine_st.heap.clear(); @@ -1089,9 +1109,18 @@ mod tests { all_cells_unmarked(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), list_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), list_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), list_loc_as_cell!(1)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + list_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + list_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + list_loc_as_cell!(1) + ); wam.machine_st.heap.clear(); @@ -1202,37 +1231,109 @@ mod tests { assert_eq!(iter.next(), None); } - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), list_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), heap_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), heap_loc_as_cell!(3)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), list_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), str_loc_as_cell!(6)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), heap_loc_as_cell!(8)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), atom_as_cell!(f_atom, 1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[7]), heap_loc_as_cell!(11)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[8]), list_loc_as_cell!(9)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[9]), heap_loc_as_cell!(9)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[10]), empty_list_as_cell!()); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[11]), attr_var_as_cell!(11)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[12]), heap_loc_as_cell!(13)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[13]), list_loc_as_cell!(14)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[14]), str_loc_as_cell!(16)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[15]), heap_loc_as_cell!(19)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[16]), atom_as_cell!(clpz_atom, 2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[17]), atom_as_cell!(a_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[18]), atom_as_cell!(b_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[19]), list_loc_as_cell!(20)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[20]), str_loc_as_cell!(22)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[21]), empty_list_as_cell!()); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[22]), atom_as_cell!(p_atom, 1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[23]), heap_loc_as_cell!(23)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + list_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + heap_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + heap_loc_as_cell!(3) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + list_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + str_loc_as_cell!(6) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + heap_loc_as_cell!(8) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + atom_as_cell!(f_atom, 1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[7]), + heap_loc_as_cell!(11) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[8]), + list_loc_as_cell!(9) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[9]), + heap_loc_as_cell!(9) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[10]), + empty_list_as_cell!() + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[11]), + attr_var_as_cell!(11) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[12]), + heap_loc_as_cell!(13) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[13]), + list_loc_as_cell!(14) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[14]), + str_loc_as_cell!(16) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[15]), + heap_loc_as_cell!(19) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[16]), + atom_as_cell!(clpz_atom, 2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[17]), + atom_as_cell!(a_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[18]), + atom_as_cell!(b_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[19]), + list_loc_as_cell!(20) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[20]), + str_loc_as_cell!(22) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[21]), + empty_list_as_cell!() + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[22]), + atom_as_cell!(p_atom, 1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[23]), + heap_loc_as_cell!(23) + ); wam.machine_st.heap.clear(); { let mut iter = stackless_preorder_iter( &mut wam.machine_st.heap, - fixnum_as_cell!(Fixnum::build_with(0)) + fixnum_as_cell!(Fixnum::build_with(0)), ); assert_eq!( @@ -1251,19 +1352,16 @@ mod tests { wam.machine_st.heap.push(str_loc_as_cell!(1)); - wam.machine_st.heap.push(atom_as_cell!(atom!("g"),2)); + wam.machine_st.heap.push(atom_as_cell!(atom!("g"), 2)); wam.machine_st.heap.push(heap_loc_as_cell!(0)); wam.machine_st.heap.push(atom_as_cell!(atom!("y"))); { - let mut iter = stackless_preorder_iter( - &mut wam.machine_st.heap, - str_loc_as_cell!(1), - ); + let mut iter = stackless_preorder_iter(&mut wam.machine_st.heap, str_loc_as_cell!(1)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), - atom_as_cell!(atom!("g"),2) + atom_as_cell!(atom!("g"), 2) ); assert_eq!( @@ -1271,10 +1369,7 @@ mod tests { atom_as_cell!(atom!("y")) ); - assert_eq!( - unmark_cell_bits!(iter.next().unwrap()), - str_loc_as_cell!(1) - ); + assert_eq!(unmark_cell_bits!(iter.next().unwrap()), str_loc_as_cell!(1)); assert!(iter.next().is_none()); } @@ -1283,19 +1378,16 @@ mod tests { wam.machine_st.heap.clear(); - wam.machine_st.heap.push(atom_as_cell!(atom!("g"),2)); + wam.machine_st.heap.push(atom_as_cell!(atom!("g"), 2)); wam.machine_st.heap.push(str_loc_as_cell!(0)); wam.machine_st.heap.push(atom_as_cell!(atom!("y"))); { - let mut iter = stackless_preorder_iter( - &mut wam.machine_st.heap, - str_loc_as_cell!(0), - ); + let mut iter = stackless_preorder_iter(&mut wam.machine_st.heap, str_loc_as_cell!(0)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), - atom_as_cell!(atom!("g"),2) + atom_as_cell!(atom!("g"), 2) ); assert_eq!( @@ -1303,10 +1395,7 @@ mod tests { atom_as_cell!(atom!("y")) ); - assert_eq!( - unmark_cell_bits!(iter.next().unwrap()), - str_loc_as_cell!(0) - ); + assert_eq!(unmark_cell_bits!(iter.next().unwrap()), str_loc_as_cell!(0)); assert!(iter.next().is_none()); } @@ -1327,10 +1416,7 @@ mod tests { wam.machine_st.heap.push(empty_list_as_cell!()); { - let mut iter = stackless_preorder_iter( - &mut wam.machine_st.heap, - heap_loc_as_cell!(7), - ); + let mut iter = stackless_preorder_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(7)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), @@ -1390,10 +1476,7 @@ mod tests { wam.machine_st.heap.push(heap_loc_as_cell!(1)); { - let mut iter = stackless_preorder_iter( - &mut wam.machine_st.heap, - str_loc_as_cell!(0), - ); + let mut iter = stackless_preorder_iter(&mut wam.machine_st.heap, str_loc_as_cell!(0)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), @@ -1420,38 +1503,38 @@ mod tests { wam.machine_st.heap.clear(); // representation of one of the heap terms as in issue #1384. -/* - wam.machine_st.heap.push(list_loc_as_cell!(7)); - wam.machine_st.heap.push(heap_loc_as_cell!(0)); - wam.machine_st.heap.push(list_loc_as_cell!(3)); - wam.machine_st.heap.push(list_loc_as_cell!(5)); - wam.machine_st.heap.push(empty_list_as_cell!()); - wam.machine_st.heap.push(heap_loc_as_cell!(2)); - wam.machine_st.heap.push(heap_loc_as_cell!(2)); - wam.machine_st.heap.push(empty_list_as_cell!()); - wam.machine_st.heap.push(heap_loc_as_cell!(3)); + /* + wam.machine_st.heap.push(list_loc_as_cell!(7)); + wam.machine_st.heap.push(heap_loc_as_cell!(0)); + wam.machine_st.heap.push(list_loc_as_cell!(3)); + wam.machine_st.heap.push(list_loc_as_cell!(5)); + wam.machine_st.heap.push(empty_list_as_cell!()); + wam.machine_st.heap.push(heap_loc_as_cell!(2)); + wam.machine_st.heap.push(heap_loc_as_cell!(2)); + wam.machine_st.heap.push(empty_list_as_cell!()); + wam.machine_st.heap.push(heap_loc_as_cell!(3)); - { - let mut iter = stackless_preorder_iter( - &mut wam.machine_st.heap, - heap_loc_as_cell!(0), - ); + { + let mut iter = stackless_preorder_iter( + &mut wam.machine_st.heap, + heap_loc_as_cell!(0), + ); - while let Some(_) = iter.next() { - print_heap_terms(iter.heap.iter(), 0); - println!(""); - } + while let Some(_) = iter.next() { + print_heap_terms(iter.heap.iter(), 0); + println!(""); + } - /* - assert_eq!( - unmark_cell_bits!(iter.next().unwrap()), - atom_as_cell!(atom!("f"), 2) - ); + /* + assert_eq!( + unmark_cell_bits!(iter.next().unwrap()), + atom_as_cell!(atom!("f"), 2) + ); - assert!(iter.next().is_none()); - */ - } -*/ + assert!(iter.next().is_none()); + */ + } + */ } #[test] @@ -1462,7 +1545,8 @@ mod tests { let a_atom = atom!("a"); let b_atom = atom!("b"); - wam.machine_st.heap + wam.machine_st + .heap .extend(functor!(f_atom, [atom(a_atom), atom(b_atom)])); { @@ -1686,7 +1770,8 @@ mod tests { // two-part complete string, then a three-part cyclic string // involving an uncompacted list of chars. - let pstr_var_cell = put_partial_string(&mut wam.machine_st.heap, "abc ", &mut wam.machine_st.atom_tbl); + let pstr_var_cell = + put_partial_string(&mut wam.machine_st.heap, "abc ", &wam.machine_st.atom_tbl); let pstr_cell = wam.machine_st.heap[pstr_var_cell.get_value() as usize]; { @@ -1710,7 +1795,8 @@ mod tests { wam.machine_st.heap.pop(); wam.machine_st.heap.push(heap_loc_as_cell!(2)); - let pstr_second_var_cell = put_partial_string(&mut wam.machine_st.heap, "def", &mut wam.machine_st.atom_tbl); + let pstr_second_var_cell = + put_partial_string(&mut wam.machine_st.heap, "def", &wam.machine_st.atom_tbl); let pstr_second_cell = wam.machine_st.heap[pstr_second_var_cell.get_value() as usize]; { @@ -1731,10 +1817,14 @@ mod tests { } wam.machine_st.heap.pop(); - wam.machine_st.heap.push(pstr_loc_as_cell!(wam.machine_st.heap.len() + 1)); + wam.machine_st + .heap + .push(pstr_loc_as_cell!(wam.machine_st.heap.len() + 1)); wam.machine_st.heap.push(pstr_offset_as_cell!(0)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(0i64))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(0i64))); { let mut iter = stackful_preorder_iter( @@ -1750,7 +1840,10 @@ mod tests { assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_cell); assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_second_cell); assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_offset_cell); - assert_eq!(iter.next().unwrap(), fixnum_as_cell!(Fixnum::build_with(0i64))); + assert_eq!( + iter.next().unwrap(), + fixnum_as_cell!(Fixnum::build_with(0i64)) + ); assert_eq!(iter.next(), None); } @@ -1764,7 +1857,9 @@ mod tests { */ wam.machine_st.heap.pop(); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(1i64))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(1i64))); { let mut iter = stackful_preorder_iter( @@ -1781,13 +1876,19 @@ mod tests { assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_second_cell); assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_offset_cell); - assert_eq!(iter.next().unwrap(), fixnum_as_cell!(Fixnum::build_with(1i64))); + assert_eq!( + iter.next().unwrap(), + fixnum_as_cell!(Fixnum::build_with(1i64)) + ); let h = iter.focus(); assert_eq!(h.value(), 5); assert_eq!(unmark_cell_bits!(iter.heap[4]), pstr_offset_as_cell!(0)); - assert_eq!(unmark_cell_bits!(iter.heap[5]), fixnum_as_cell!(Fixnum::build_with(1i64))); + assert_eq!( + unmark_cell_bits!(iter.heap[5]), + fixnum_as_cell!(Fixnum::build_with(1i64)) + ); assert_eq!(iter.next(), None); } @@ -1980,10 +2081,7 @@ mod tests { pstr_as_cell!(atom!("a string")) ); - assert_eq!( - iter.next().unwrap(), - empty_list_as_cell!() - ); + assert_eq!(iter.next().unwrap(), empty_list_as_cell!()); assert_eq!(iter.next(), None); } @@ -2037,7 +2135,8 @@ mod tests { let a_atom = atom!("a"); let b_atom = atom!("b"); - wam.machine_st.heap + wam.machine_st + .heap .extend(functor!(f_atom, [atom(a_atom), atom(b_atom)])); { @@ -2075,7 +2174,8 @@ mod tests { ] )); - for _ in 0..20 { // 0000 { + for _ in 0..20 { + // 0000 { let mut iter = stackful_post_order_iter( &mut wam.machine_st.heap, &mut wam.machine_st.stack, @@ -2263,7 +2363,8 @@ mod tests { // two-part complete string, then a three-part cyclic string // involving an uncompacted list of chars. - let pstr_var_cell = put_partial_string(&mut wam.machine_st.heap, "abc ", &mut wam.machine_st.atom_tbl); + let pstr_var_cell = + put_partial_string(&mut wam.machine_st.heap, "abc ", &wam.machine_st.atom_tbl); let pstr_cell = wam.machine_st.heap[pstr_var_cell.get_value() as usize]; { @@ -2286,7 +2387,8 @@ mod tests { wam.machine_st.heap.pop(); wam.machine_st.heap.push(pstr_loc_as_cell!(2)); - let pstr_second_var_cell = put_partial_string(&mut wam.machine_st.heap, "def", &mut wam.machine_st.atom_tbl); + let pstr_second_var_cell = + put_partial_string(&mut wam.machine_st.heap, "def", &wam.machine_st.atom_tbl); let pstr_second_cell = wam.machine_st.heap[pstr_second_var_cell.get_value() as usize]; { @@ -2307,10 +2409,14 @@ mod tests { } wam.machine_st.heap.pop(); - wam.machine_st.heap.push(pstr_loc_as_cell!(wam.machine_st.heap.len() + 1)); + wam.machine_st + .heap + .push(pstr_loc_as_cell!(wam.machine_st.heap.len() + 1)); wam.machine_st.heap.push(pstr_offset_as_cell!(0)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(0i64))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(0i64))); { let mut iter = stackful_post_order_iter( @@ -2319,8 +2425,14 @@ mod tests { pstr_loc_as_cell!(0), ); - assert_eq!(iter.next().unwrap(), fixnum_as_cell!(Fixnum::build_with(0i64))); - assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_offset_as_cell!(0)); + assert_eq!( + iter.next().unwrap(), + fixnum_as_cell!(Fixnum::build_with(0i64)) + ); + assert_eq!( + unmark_cell_bits!(iter.next().unwrap()), + pstr_offset_as_cell!(0) + ); assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_second_cell); assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_cell); @@ -2329,7 +2441,9 @@ mod tests { } wam.machine_st.heap.pop(); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(1i64))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(1i64))); { let mut iter = stackful_post_order_iter( @@ -2338,8 +2452,14 @@ mod tests { pstr_loc_as_cell!(0), ); - assert_eq!(iter.next().unwrap(), fixnum_as_cell!(Fixnum::build_with(1i64))); - assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_offset_as_cell!(0)); + assert_eq!( + iter.next().unwrap(), + fixnum_as_cell!(Fixnum::build_with(1i64)) + ); + assert_eq!( + unmark_cell_bits!(iter.next().unwrap()), + pstr_offset_as_cell!(0) + ); assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_second_cell); assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_cell); @@ -2498,13 +2618,12 @@ mod tests { let a_atom = atom!("a"); let b_atom = atom!("b"); - wam.machine_st.heap.extend(functor!(f_atom, [atom(a_atom), atom(b_atom)])); + wam.machine_st + .heap + .extend(functor!(f_atom, [atom(a_atom), atom(b_atom)])); { - let mut iter = stackless_post_order_iter( - &mut wam.machine_st.heap, - str_loc_as_cell!(0), - ); + let mut iter = stackless_post_order_iter(&mut wam.machine_st.heap, str_loc_as_cell!(0)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), @@ -2535,10 +2654,7 @@ mod tests { )); for _ in 0..20 { - let mut iter = stackless_post_order_iter( - &mut wam.machine_st.heap, - str_loc_as_cell!(0), - ); + let mut iter = stackless_post_order_iter(&mut wam.machine_st.heap, str_loc_as_cell!(0)); assert_eq!(unmark_cell_bits!(iter.next().unwrap()), str_loc_as_cell!(0)); @@ -2568,10 +2684,8 @@ mod tests { { wam.machine_st.heap.push(heap_loc_as_cell!(0)); - let mut iter = stackless_post_order_iter( - &mut wam.machine_st.heap, - heap_loc_as_cell!(0), - ); + let mut iter = + stackless_post_order_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), @@ -2587,10 +2701,8 @@ mod tests { wam.machine_st.heap.push(heap_loc_as_cell!(1)); wam.machine_st.heap.push(heap_loc_as_cell!(0)); - let mut iter = stackless_post_order_iter( - &mut wam.machine_st.heap, - heap_loc_as_cell!(0), - ); + let mut iter = + stackless_post_order_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), @@ -2615,7 +2727,8 @@ mod tests { wam.machine_st.heap.push(empty_list_as_cell!()); { - let mut iter = stackless_post_order_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); + let mut iter = + stackless_post_order_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), @@ -2647,7 +2760,8 @@ mod tests { wam.machine_st.heap.push(heap_loc_as_cell!(0)); { - let mut iter = stackless_post_order_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); + let mut iter = + stackless_post_order_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); // the cycle will be iterated twice before being detected. assert_eq!( @@ -2675,7 +2789,8 @@ mod tests { } { - let mut iter = stackless_post_order_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); + let mut iter = + stackless_post_order_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); // cut the iteration short to check that all cells are // unmarked and unforwarded by the Drop instance of @@ -2705,11 +2820,13 @@ mod tests { // two-part complete string, then a three-part cyclic string // involving an uncompacted list of chars. - let pstr_var_cell = put_partial_string(&mut wam.machine_st.heap, "abc ", &mut wam.machine_st.atom_tbl); + let pstr_var_cell = + put_partial_string(&mut wam.machine_st.heap, "abc ", &wam.machine_st.atom_tbl); let pstr_cell = wam.machine_st.heap[pstr_var_cell.get_value() as usize]; { - let mut iter = stackless_post_order_iter(&mut wam.machine_st.heap, pstr_loc_as_cell!(0)); + let mut iter = + stackless_post_order_iter(&mut wam.machine_st.heap, pstr_loc_as_cell!(0)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), @@ -2724,16 +2841,14 @@ mod tests { wam.machine_st.heap.pop(); wam.machine_st.heap.push(pstr_loc_as_cell!(2)); - let pstr_second_var_cell = put_partial_string( - &mut wam.machine_st.heap, - "def", - &mut wam.machine_st.atom_tbl, - ); + let pstr_second_var_cell = + put_partial_string(&mut wam.machine_st.heap, "def", &wam.machine_st.atom_tbl); let pstr_second_cell = wam.machine_st.heap[pstr_second_var_cell.get_value() as usize]; { - let mut iter = stackless_post_order_iter(&mut wam.machine_st.heap, pstr_loc_as_cell!(0)); + let mut iter = + stackless_post_order_iter(&mut wam.machine_st.heap, pstr_loc_as_cell!(0)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), @@ -2749,20 +2864,31 @@ mod tests { all_cells_unmarked(&wam.machine_st.heap); wam.machine_st.heap.pop(); - wam.machine_st.heap.push(pstr_loc_as_cell!(wam.machine_st.heap.len() + 1)); + wam.machine_st + .heap + .push(pstr_loc_as_cell!(wam.machine_st.heap.len() + 1)); wam.machine_st.heap.push(pstr_offset_as_cell!(0)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(0))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(0))); { - let mut iter = stackless_post_order_iter(&mut wam.machine_st.heap, pstr_loc_as_cell!(0)); + let mut iter = + stackless_post_order_iter(&mut wam.machine_st.heap, pstr_loc_as_cell!(0)); let mut pstr_loc_cell = pstr_loc_as_cell!(0); pstr_loc_cell.set_forwarding_bit(true); // assert_eq!(iter.next().unwrap(), fixnum_as_cell!(Fixnum::build_with(0i64))); - assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_offset_as_cell!(0)); - assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_offset_as_cell!(0)); + assert_eq!( + unmark_cell_bits!(iter.next().unwrap()), + pstr_offset_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(iter.next().unwrap()), + pstr_offset_as_cell!(0) + ); assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_second_cell); assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_cell); @@ -2773,14 +2899,23 @@ mod tests { all_cells_unmarked(&wam.machine_st.heap); wam.machine_st.heap.pop(); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(1))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(1))); { - let mut iter = stackless_post_order_iter(&mut wam.machine_st.heap, pstr_loc_as_cell!(0)); + let mut iter = + stackless_post_order_iter(&mut wam.machine_st.heap, pstr_loc_as_cell!(0)); //assert_eq!(iter.next().unwrap(), fixnum_as_cell!(Fixnum::build_with(1))); - assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_offset_as_cell!(0)); - assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_offset_as_cell!(0)); + assert_eq!( + unmark_cell_bits!(iter.next().unwrap()), + pstr_offset_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(iter.next().unwrap()), + pstr_offset_as_cell!(0) + ); assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_second_cell); assert_eq!(unmark_cell_bits!(iter.next().unwrap()), pstr_cell); @@ -2801,7 +2936,8 @@ mod tests { wam.machine_st.heap.extend(functor); { - let mut iter = stackless_post_order_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); + let mut iter = + stackless_post_order_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), @@ -2861,7 +2997,8 @@ mod tests { wam.machine_st.heap[4] = list_loc_as_cell!(1); { - let mut iter = stackless_post_order_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); + let mut iter = + stackless_post_order_iter(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); assert_eq!( unmark_cell_bits!(iter.next().unwrap()), diff --git a/src/heap_print.rs b/src/heap_print.rs index d22ca6c9..361ed989 100644 --- a/src/heap_print.rs +++ b/src/heap_print.rs @@ -29,6 +29,7 @@ use std::convert::TryFrom; use std::iter::once; use std::net::{IpAddr, TcpListener}; use std::rc::Rc; +use std::sync::Arc; /* contains the location, name, precision and Specifier of the parent op. */ #[derive(Debug, Copy, Clone)] @@ -46,7 +47,7 @@ impl DirectedOp { } #[inline] - fn is_prefix(&self )-> bool { + fn is_prefix(&self) -> bool { match self { &DirectedOp::Left(_name, cell) | &DirectedOp::Right(_name, cell) => { is_prefix!(cell.get_spec() as u32) @@ -74,7 +75,7 @@ fn needs_bracketing(child_desc: OpDesc, op: &DirectedOp) -> bool { DirectedOp::Left(name, cell) => { let (priority, spec) = cell.get(); - if name.as_str() == "-" { + if &*name.as_str() == "-" { let child_assoc = child_desc.get_spec(); if is_prefix!(spec) && (is_postfix!(child_assoc) || is_infix!(child_assoc)) { return true; @@ -178,16 +179,16 @@ fn char_to_string(is_quoted: bool, c: char) -> String { '\u{08}' if is_quoted => "\\b".to_string(), // UTF-8 backspace '\u{07}' if is_quoted => "\\a".to_string(), // UTF-8 alert '\\' if is_quoted => "\\\\".to_string(), - ' ' | '\'' | '\n' | '\r' | '\t' | '\u{0b}' | '\u{0c}' | '\u{08}' | '\u{07}' | '"' | '\\' => { - c.to_string() - } - _ => + ' ' | '\'' | '\n' | '\r' | '\t' | '\u{0b}' | '\u{0c}' | '\u{08}' | '\u{07}' | '"' + | '\\' => c.to_string(), + _ => { if c.is_whitespace() || c.is_control() { // print all other control and whitespace characters in hex. format!("\\x{:x}\\", c as u32) } else { c.to_string() } + } } } @@ -217,7 +218,8 @@ enum TokenOrRedirect { CompositeRedirect(usize, DirectedOp), CurlyBracketRedirect(usize), FunctorRedirect(usize), - #[allow(unused)] IpAddr(IpAddr), + #[allow(unused)] + IpAddr(IpAddr), NumberFocus(usize, NumberFocus, Option), Open, Close, @@ -467,8 +469,8 @@ pub fn fmt_float(mut fl: f64) -> String { */ if let Some(e_index) = fl_str.find('e') { - if !fl_str[0 .. e_index].contains('.') { - return fl_str[0 .. e_index].to_string() + ".0" + &fl_str[e_index ..]; + if !fl_str[0..e_index].contains('.') { + return fl_str[0..e_index].to_string() + ".0" + &fl_str[e_index..]; } } @@ -479,7 +481,7 @@ pub fn fmt_float(mut fl: f64) -> String { pub struct HCPrinter<'a, Outputter> { outputter: Outputter, iter: StackfulPreOrderHeapIter<'a>, - atom_tbl: &'a mut AtomTable, + atom_tbl: Arc, op_dir: &'a OpDir, state_stack: Vec, toplevel_spec: Option, @@ -548,7 +550,7 @@ pub(crate) fn numbervar(offset: &Integer, addr: HeapCellValue) -> Option impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { pub fn new( heap: &'a mut Heap, - atom_tbl: &'a mut AtomTable, + atom_tbl: Arc, stack: &'a mut Stack, op_dir: &'a OpDir, output: Outputter, @@ -578,7 +580,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { fn ambiguity_check(&self, atom: &str) -> bool { let tail = &self.outputter.as_str()[self.last_item_idx..]; - if !self.quoted || non_quoted_token(atom.chars()) { + if atom == "," || !self.quoted || non_quoted_token(atom.chars()) { requires_space(tail, atom) } else { requires_space(tail, "'") @@ -625,11 +627,12 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { } else { let op = DirectedOp::Left(name, spec); - self.state_stack.push(TokenOrRedirect::CompositeRedirect(max_depth, op)); + self.state_stack + .push(TokenOrRedirect::CompositeRedirect(max_depth, op)); self.state_stack.push(TokenOrRedirect::Op(name, spec)); } } else { - match name.as_str() { + match &*name.as_str() { "|" => { self.format_bar_separator_op(max_depth, name, spec); return; @@ -653,9 +656,15 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { let left_directed_op = DirectedOp::Left(name, spec); let right_directed_op = DirectedOp::Right(name, spec); - self.state_stack.push(TokenOrRedirect::CompositeRedirect(max_depth, left_directed_op)); + self.state_stack.push(TokenOrRedirect::CompositeRedirect( + max_depth, + left_directed_op, + )); self.state_stack.push(TokenOrRedirect::Op(name, spec)); - self.state_stack.push(TokenOrRedirect::CompositeRedirect(max_depth, right_directed_op)); + self.state_stack.push(TokenOrRedirect::CompositeRedirect( + max_depth, + right_directed_op, + )); } } } @@ -681,7 +690,8 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { self.state_stack.push(TokenOrRedirect::Close); for _ in 0..arity { - self.state_stack.push(TokenOrRedirect::FunctorRedirect(max_depth)); + self.state_stack + .push(TokenOrRedirect::FunctorRedirect(max_depth)); self.state_stack.push(TokenOrRedirect::Comma); } @@ -738,9 +748,9 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { return false; } - self.state_stack.push(TokenOrRedirect::RightCurly); - self.state_stack.push(TokenOrRedirect::CurlyBracketRedirect(max_depth)); + self.state_stack + .push(TokenOrRedirect::CurlyBracketRedirect(max_depth)); self.state_stack.push(TokenOrRedirect::LeftCurly); true @@ -750,10 +760,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { let h = self.iter.stack_last().unwrap(); let cell = self.iter.read_cell(h); - let cell = heap_bound_store( - &self.iter.heap, - heap_bound_deref(&self.iter.heap, cell), - ); + let cell = heap_bound_store(&self.iter.heap, heap_bound_deref(&self.iter.heap, cell)); // 7.10.4 if let Some(var) = numbervar(&self.numbervars_offset, cell) { @@ -835,10 +842,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { if let Some(cell) = self.iter.next() { let is_cyclic = cell.get_forwarding_bit(); - let cell = heap_bound_store( - self.iter.heap, - heap_bound_deref(self.iter.heap, cell), - ); + let cell = heap_bound_store(self.iter.heap, heap_bound_deref(self.iter.heap, cell)); let cell = unmark_cell_bits!(cell); match self.var_names.get(&cell).cloned() { @@ -891,7 +895,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { } fn print_impromptu_atom(&mut self, atom: Atom) { - let result = self.print_op_addendum(atom.as_str()); + let result = self.print_op_addendum(&*atom.as_str()); push_space_if_amb!(self, result.as_str(), { append_str!(self, &result); @@ -1050,7 +1054,8 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { NumberFocus::Denominator(r), left_directed_op, )); - self.state_stack.push(TokenOrRedirect::Op(rdiv_ct, *op_desc)); + self.state_stack + .push(TokenOrRedirect::Op(rdiv_ct, *op_desc)); self.state_stack.push(TokenOrRedirect::NumberFocus( max_depth, NumberFocus::Numerator(r), @@ -1157,8 +1162,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { HeapCellValueTag::PStr | HeapCellValueTag::PStrOffset => { self.iter.pop_stack(); } - HeapCellValueTag::CStr => { - } + HeapCellValueTag::CStr => {} _ => { unreachable!(); } @@ -1203,8 +1207,10 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { append_str!(self, "[]"); } } else { - self.state_stack.push(TokenOrRedirect::FunctorRedirect(max_depth)); - self.iter.push_stack(IterStackLoc::iterable_loc(end_h, HeapOrStackTag::Heap)); + self.state_stack + .push(TokenOrRedirect::FunctorRedirect(max_depth)); + self.iter + .push_stack(IterStackLoc::iterable_loc(end_h, HeapOrStackTag::Heap)); } } } else { @@ -1298,7 +1304,8 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { } } - self.state_stack.push(TokenOrRedirect::CloseList(switch.clone())); + self.state_stack + .push(TokenOrRedirect::CloseList(switch.clone())); Some(switch) } @@ -1335,9 +1342,11 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { let switch = self.close_list(cell); - self.state_stack.push(TokenOrRedirect::FunctorRedirect(max_depth)); + self.state_stack + .push(TokenOrRedirect::FunctorRedirect(max_depth)); self.state_stack.push(TokenOrRedirect::HeadTailSeparator); // bar - self.state_stack.push(TokenOrRedirect::FunctorRedirect(max_depth+1)); + self.state_stack + .push(TokenOrRedirect::FunctorRedirect(max_depth + 1)); self.open_list(switch); } @@ -1353,8 +1362,8 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { max_depth: usize, ) { let add_brackets = if !self.ignore_ops { - negated_operand || - if let Some(ref op) = op { + negated_operand + || if let Some(ref op) = op { if self.numbervars && arity == 1 && name == atom!("$VAR") { !self.iter.immediate_leaf_has_property(|addr| { match Number::try_from(addr) { @@ -1381,7 +1390,8 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { self.state_stack.push(TokenOrRedirect::Open); if !self.outputter.ends_with(" ") { - let parent_op = self.parent_of_first_op + let parent_op = self + .parent_of_first_op .and_then(|(parent_op, last_item_idx)| { // if parent_op isn't printed to the output string // already, then it doesn't border the present op @@ -1395,7 +1405,9 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { for op in &[op, parent_op] { if let Some(ref op) = &op { - if op.is_left() && (op.is_prefix() || requires_space(op.as_atom().as_str(), "(")) { + if op.is_left() + && (op.is_prefix() || requires_space(&*op.as_atom().as_str(), "(")) + { self.state_stack.push(TokenOrRedirect::Space); return; } @@ -1519,7 +1531,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { max_depth, ); } else { - push_space_if_amb!(printer, name.as_str(), { + push_space_if_amb!(printer, &*name.as_str(), { printer.format_clause(max_depth, arity, name, None); }); } @@ -1529,14 +1541,18 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { if let Some(ref op) = op { let op_is_prefix = op.is_prefix() && op.is_left(); - if op_is_prefix || printer.outputter.ends_with(&format!(" {}", op.as_atom().as_str())) { + if op_is_prefix + || printer + .outputter + .ends_with(&format!(" {}", op.as_atom().as_str())) + { result.push(' '); } result.push('('); } - result += &printer.print_op_addendum(name.as_str()); + result += &printer.print_op_addendum(&*name.as_str()); if op.is_some() { result.push(')'); @@ -1546,7 +1562,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { append_str!(printer, &result); }); } else { - push_space_if_amb!(printer, name.as_str(), { + push_space_if_amb!(printer, &*name.as_str(), { printer.print_impromptu_atom(name); }); } @@ -1557,7 +1573,10 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { None => return, }; - if !addr.is_var() && !addr.is_compound(&self.iter.heap) && self.max_depth_exhausted(max_depth) { + if !addr.is_var() + && !addr.is_compound(&self.iter.heap) + && self.max_depth_exhausted(max_depth) + { self.state_stack.push(TokenOrRedirect::Atom(atom!("..."))); return; } @@ -1567,7 +1586,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { print_struct(self, name, arity); } (HeapCellValueTag::Char, c) => { - let name = self.atom_tbl.build_with(&String::from(c)); + let name = AtomTable::build_with(&self.atom_tbl, &String::from(c)); print_struct(self, name, 0); } (HeapCellValueTag::Str, s) => { @@ -1585,7 +1604,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { max_depth, ); } else { - push_space_if_amb!(self, name.as_str(), { + push_space_if_amb!(self, &*name.as_str(), { self.format_clause(max_depth, arity, name, None); }); } @@ -1668,7 +1687,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> { TokenOrRedirect::BarAsOp => append_str!(self, " | "), TokenOrRedirect::Char(c) => print_char!(self, self.quoted, c), TokenOrRedirect::Op(atom, op) => { - self.print_op(atom.as_str()); + self.print_op(&*atom.as_str()); if is_prefix!(op.get_spec()) { self.set_parent_of_first_op(Some(DirectedOp::Left(atom, op))); @@ -1737,16 +1756,18 @@ mod tests { let b_atom = atom!("b"); let c_atom = atom!("c"); - wam.machine_st.heap.extend(functor!(f_atom, [atom(a_atom), atom(b_atom)])); + wam.machine_st + .heap + .extend(functor!(f_atom, [atom(a_atom), atom(b_atom)])); { let printer = HCPrinter::new( &mut wam.machine_st.heap, - &mut wam.machine_st.atom_tbl, + Arc::clone(&wam.machine_st.atom_tbl), &mut wam.machine_st.stack, &wam.op_dir, PrinterOutputter::new(), - heap_loc_as_cell!(0) + heap_loc_as_cell!(0), ); let output = printer.print(); @@ -1771,11 +1792,11 @@ mod tests { { let printer = HCPrinter::new( &mut wam.machine_st.heap, - &mut wam.machine_st.atom_tbl, + Arc::clone(&wam.machine_st.atom_tbl), &mut wam.machine_st.stack, &wam.op_dir, PrinterOutputter::new(), - heap_loc_as_cell!(0) + heap_loc_as_cell!(0), ); let output = printer.print(); @@ -1795,11 +1816,11 @@ mod tests { { let printer = HCPrinter::new( &mut wam.machine_st.heap, - &mut wam.machine_st.atom_tbl, + Arc::clone(&wam.machine_st.atom_tbl), &mut wam.machine_st.stack, &wam.op_dir, PrinterOutputter::new(), - heap_loc_as_cell!(0) + heap_loc_as_cell!(0), ); let output = printer.print(); @@ -1808,14 +1829,16 @@ mod tests { let mut printer = HCPrinter::new( &mut wam.machine_st.heap, - &mut wam.machine_st.atom_tbl, + Arc::clone(&wam.machine_st.atom_tbl), &mut wam.machine_st.stack, &wam.op_dir, PrinterOutputter::new(), - heap_loc_as_cell!(0) + heap_loc_as_cell!(0), ); - printer.var_names.insert(list_loc_as_cell!(1), VarPtr::from("L")); + printer + .var_names + .insert(list_loc_as_cell!(1), VarPtr::from("L")); let output = printer.print(); @@ -1839,7 +1862,7 @@ mod tests { { let printer = HCPrinter::new( &mut wam.machine_st.heap, - &mut wam.machine_st.atom_tbl, + Arc::clone(&wam.machine_st.atom_tbl), &mut wam.machine_st.stack, &wam.op_dir, PrinterOutputter::new(), @@ -1858,7 +1881,7 @@ mod tests { { let printer = HCPrinter::new( &mut wam.machine_st.heap, - &mut wam.machine_st.atom_tbl, + Arc::clone(&wam.machine_st.atom_tbl), &mut wam.machine_st.stack, &wam.op_dir, PrinterOutputter::new(), @@ -1875,14 +1898,16 @@ mod tests { { let mut printer = HCPrinter::new( &mut wam.machine_st.heap, - &mut wam.machine_st.atom_tbl, + Arc::clone(&wam.machine_st.atom_tbl), &mut wam.machine_st.stack, &wam.op_dir, PrinterOutputter::new(), - heap_loc_as_cell!(0) + heap_loc_as_cell!(0), ); - printer.var_names.insert(list_loc_as_cell!(1), VarPtr::from("L")); + printer + .var_names + .insert(list_loc_as_cell!(1), VarPtr::from("L")); let output = printer.print(); @@ -1905,11 +1930,11 @@ mod tests { { let mut printer = HCPrinter::new( &mut wam.machine_st.heap, - &mut wam.machine_st.atom_tbl, + Arc::clone(&wam.machine_st.atom_tbl), &mut wam.machine_st.stack, &wam.op_dir, PrinterOutputter::new(), - heap_loc_as_cell!(0) + heap_loc_as_cell!(0), ); printer.max_depth = 5; @@ -1923,16 +1948,16 @@ mod tests { wam.machine_st.heap.clear(); - put_partial_string(&mut wam.machine_st.heap, "abc", &mut wam.machine_st.atom_tbl); + put_partial_string(&mut wam.machine_st.heap, "abc", &wam.machine_st.atom_tbl); { let printer = HCPrinter::new( &mut wam.machine_st.heap, - &mut wam.machine_st.atom_tbl, + Arc::clone(&wam.machine_st.atom_tbl), &mut wam.machine_st.stack, &wam.op_dir, PrinterOutputter::new(), - pstr_loc_as_cell!(0) + pstr_loc_as_cell!(0), ); let output = printer.print(); @@ -1956,7 +1981,7 @@ mod tests { { let mut printer = HCPrinter::new( &mut wam.machine_st.heap, - &mut wam.machine_st.atom_tbl, + Arc::clone(&wam.machine_st.atom_tbl), &mut wam.machine_st.stack, &wam.op_dir, PrinterOutputter::new(), @@ -2000,35 +2025,39 @@ mod tests { all_cells_unmarked(&wam.machine_st.heap); - wam.op_dir.insert( - (atom!("+"), Fixity::In), - OpDesc::build_with(500, YFX as u8), - ); - wam.op_dir.insert( - (atom!("*"), Fixity::In), - OpDesc::build_with(400, YFX as u8), - ); + wam.op_dir + .insert((atom!("+"), Fixity::In), OpDesc::build_with(500, YFX as u8)); + wam.op_dir + .insert((atom!("*"), Fixity::In), OpDesc::build_with(400, YFX as u8)); - assert_eq!(&wam.parse_and_print_term("[a|[] + b].").unwrap(), "[a|[]+b]"); + assert_eq!( + &wam.parse_and_print_term("[a|[] + b].").unwrap(), + "[a|[]+b]" + ); all_cells_unmarked(&wam.machine_st.heap); - assert_eq!(&wam.parse_and_print_term("[a|[b|c]*d].").unwrap(), "[a|[b|c]*d]"); + assert_eq!( + &wam.parse_and_print_term("[a|[b|c]*d].").unwrap(), + "[a|[b|c]*d]" + ); all_cells_unmarked(&wam.machine_st.heap); - wam.op_dir.insert( - (atom!("fy"), Fixity::Pre), - OpDesc::build_with(9, FY as u8), + wam.op_dir + .insert((atom!("fy"), Fixity::Pre), OpDesc::build_with(9, FY as u8)); + + wam.op_dir + .insert((atom!("yf"), Fixity::Post), OpDesc::build_with(9, YF as u8)); + + assert_eq!( + &wam.parse_and_print_term("(fy (fy 1)yf)yf.").unwrap(), + "(fy (fy 1)yf)yf" ); - wam.op_dir.insert( - (atom!("yf"), Fixity::Post), - OpDesc::build_with(9, YF as u8), + assert_eq!( + &wam.parse_and_print_term("fy(fy(yf(fy(1)))).").unwrap(), + "fy fy (fy 1)yf" ); - - assert_eq!(&wam.parse_and_print_term("(fy (fy 1)yf)yf.").unwrap(), "(fy (fy 1)yf)yf"); - - assert_eq!(&wam.parse_and_print_term("fy(fy(yf(fy(1)))).").unwrap(), "fy fy (fy 1)yf"); } } diff --git a/src/http.rs b/src/http.rs index 71d1682c..13d6ff31 100644 --- a/src/http.rs +++ b/src/http.rs @@ -1,13 +1,13 @@ -use std::sync::{Arc, Mutex, Condvar}; -use std::future::Future; -use std::pin::Pin; -use http_body_util::Full; use bytes::Bytes; +use http_body_util::Full; use hyper::service::Service; use hyper::{body::Incoming as IncomingBody, Request, Response}; +use std::future::Future; +use std::pin::Pin; +use std::sync::{Arc, Condvar, Mutex}; pub struct HttpListener { - pub incoming: std::sync::mpsc::Receiver + pub incoming: std::sync::mpsc::Receiver, } #[derive(Debug)] @@ -28,27 +28,28 @@ impl Service> for HttpService { type Future = Pin> + Send>>; fn call(&mut self, req: Request) -> Self::Future { - // new connection! - // we send the Request info to Prolog - let response = Arc::new((Mutex::new(false), Mutex::new(None), Condvar::new())); - let http_request = HttpRequest { request: req, response: Arc::clone(&response) }; - self.tx.send(http_request).unwrap(); + // new connection! + // we send the Request info to Prolog + let response = Arc::new((Mutex::new(false), Mutex::new(None), Condvar::new())); + let http_request = HttpRequest { + request: req, + response: Arc::clone(&response), + }; + self.tx.send(http_request).unwrap(); - // we wait for the Response info from Prolog - { - let (ready, _response, cvar) = &*response; - let mut ready = ready.lock().unwrap(); - while !*ready { - ready = cvar.wait(ready).unwrap(); - } - } - { - let (_, response, _) = &*response; - let response = response.lock().unwrap().take(); - let res = response.expect("Data race error in HTTP Server"); - Box::pin(async move { - Ok(res) - }) - } + // we wait for the Response info from Prolog + { + let (ready, _response, cvar) = &*response; + let mut ready = ready.lock().unwrap(); + while !*ready { + ready = cvar.wait(ready).unwrap(); + } + } + { + let (_, response, _) = &*response; + let response = response.lock().unwrap().take(); + let res = response.expect("Data race error in HTTP Server"); + Box::pin(async move { Ok(res) }) + } } } diff --git a/src/indexing.rs b/src/indexing.rs index 54beced1..6a52fc97 100644 --- a/src/indexing.rs +++ b/src/indexing.rs @@ -150,17 +150,20 @@ impl<'a> IndexingCodeMergingPtr<'a> { let third_level_index = if self.append_or_prepend.is_append() { vec![ IndexedChoiceInstruction::Try(external), - IndexedChoiceInstruction::Trust(index) - ].into() + IndexedChoiceInstruction::Trust(index), + ] + .into() } else { vec![ IndexedChoiceInstruction::Try(index), - IndexedChoiceInstruction::Trust(external) - ].into() + IndexedChoiceInstruction::Trust(external), + ] + .into() }; let indexing_code_len = self.indexing_code.len(); - self.indexing_code.push(IndexingLine::IndexedChoice(third_level_index)); + self.indexing_code + .push(IndexingLine::IndexedChoice(third_level_index)); match &mut self.indexing_code[self.offset] { IndexingLine::Indexing(IndexingInstruction::SwitchOnConstant(ref mut constants)) => { @@ -188,7 +191,8 @@ impl<'a> IndexingCodeMergingPtr<'a> { }; let indexing_code_len = self.indexing_code.len(); - self.indexing_code.push(IndexingLine::DynamicIndexedChoice(third_level_index)); + self.indexing_code + .push(IndexingLine::DynamicIndexedChoice(third_level_index)); match &mut self.indexing_code[self.offset] { IndexingLine::Indexing(IndexingInstruction::SwitchOnConstant(ref mut constants)) => { @@ -275,10 +279,8 @@ impl<'a> IndexingCodeMergingPtr<'a> { ); } None | Some(IndexingCodePtr::Fail) => { - constants.insert( - overlapping_constant, - IndexingCodePtr::External(index), - ); + constants + .insert(overlapping_constant, IndexingCodePtr::External(index)); } Some(IndexingCodePtr::DynamicExternal(o)) => { self.add_dynamic_indexed_choice_for_constant( @@ -345,16 +347,10 @@ impl<'a> IndexingCodeMergingPtr<'a> { IndexingLine::Indexing(IndexingInstruction::SwitchOnConstant(constants)) => { match constants.get(&constant).cloned() { None | Some(IndexingCodePtr::Fail) if self.is_dynamic => { - constants.insert( - constant, - IndexingCodePtr::DynamicExternal(index), - ); + constants.insert(constant, IndexingCodePtr::DynamicExternal(index)); } None | Some(IndexingCodePtr::Fail) => { - constants.insert( - constant, - IndexingCodePtr::External(index), - ); + constants.insert(constant, IndexingCodePtr::External(index)); } Some(IndexingCodePtr::DynamicExternal(o)) => { self.add_dynamic_indexed_choice_for_constant(o, constant, index); @@ -432,17 +428,20 @@ impl<'a> IndexingCodeMergingPtr<'a> { let third_level_index = if self.append_or_prepend.is_append() { vec![ IndexedChoiceInstruction::Try(external), - IndexedChoiceInstruction::Trust(index) - ].into() + IndexedChoiceInstruction::Trust(index), + ] + .into() } else { vec![ IndexedChoiceInstruction::Try(index), - IndexedChoiceInstruction::Trust(external) - ].into() + IndexedChoiceInstruction::Trust(external), + ] + .into() }; let indexing_code_len = self.indexing_code.len(); - self.indexing_code.push(IndexingLine::IndexedChoice(third_level_index)); + self.indexing_code + .push(IndexingLine::IndexedChoice(third_level_index)); match &mut self.indexing_code[self.offset] { IndexingLine::Indexing(IndexingInstruction::SwitchOnStructure(ref mut structures)) => { @@ -470,7 +469,8 @@ impl<'a> IndexingCodeMergingPtr<'a> { }; let indexing_code_len = self.indexing_code.len(); - self.indexing_code.push(IndexingLine::DynamicIndexedChoice(third_level_index)); + self.indexing_code + .push(IndexingLine::DynamicIndexedChoice(third_level_index)); match &mut self.indexing_code[self.offset] { IndexingLine::Indexing(IndexingInstruction::SwitchOnStructure(ref mut structures)) => { @@ -584,13 +584,15 @@ impl<'a> IndexingCodeMergingPtr<'a> { let third_level_index = if self.append_or_prepend.is_append() { vec![ IndexedChoiceInstruction::Try(o), - IndexedChoiceInstruction::Trust(index) - ].into() + IndexedChoiceInstruction::Trust(index), + ] + .into() } else { vec![ IndexedChoiceInstruction::Try(index), - IndexedChoiceInstruction::Trust(o) - ].into() + IndexedChoiceInstruction::Trust(o), + ] + .into() }; self.indexing_code @@ -613,7 +615,7 @@ pub(crate) fn merge_clause_index( target_indexing_code: &mut Vec, skeleton: &mut [ClauseIndexInfo], // the clause to be merged is the last element in the skeleton. retracted_clauses: &Option>, - new_clause_loc: usize, // the absolute location of the new clause in the code vector. + new_clause_loc: usize, // the absolute location of the new clause in the code vector. append_or_prepend: AppendOrPrepend, ) { let opt_arg_index_key = match append_or_prepend { @@ -636,11 +638,7 @@ pub(crate) fn merge_clause_index( for overlapping_constant in overlapping_constants { merging_ptr.offset = 0; - merging_ptr.index_overlapping_constant( - *constant, - *overlapping_constant, - offset, - ); + merging_ptr.index_overlapping_constant(*constant, *overlapping_constant, offset); } } OptArgIndexKey::Structure(_, index_loc, name, arity) => { @@ -1060,19 +1058,27 @@ fn cap_choice_seq(prelude: &mut [IndexedChoiceInstruction]) { #[inline] fn cap_choice_seq_with_trust(prelude: &mut [IndexedChoiceInstruction]) { - prelude.last_mut().map(|instr| { - if let IndexedChoiceInstruction::Retry(i) = instr { + prelude.last_mut().map(|instr| match instr { + IndexedChoiceInstruction::Retry(i) => { *instr = IndexedChoiceInstruction::Trust(*i); } + IndexedChoiceInstruction::DefaultRetry(i) => { + *instr = IndexedChoiceInstruction::DefaultTrust(*i); + } + _ => {} }); } #[inline] fn uncap_choice_seq_with_trust(prelude: &mut [IndexedChoiceInstruction]) { - prelude.last_mut().map(|instr| { - if let IndexedChoiceInstruction::Trust(i) = instr { + prelude.last_mut().map(|instr| match instr { + IndexedChoiceInstruction::Trust(i) => { *instr = IndexedChoiceInstruction::Retry(*i); } + IndexedChoiceInstruction::DefaultTrust(i) => { + *instr = IndexedChoiceInstruction::DefaultRetry(*i); + } + _ => {} }); } @@ -1087,7 +1093,7 @@ fn uncap_choice_seq_with_try(prelude: &mut [IndexedChoiceInstruction]) { pub(crate) fn constant_key_alternatives( constant: Literal, - atom_tbl: &mut AtomTable, + atom_tbl: &AtomTable, // arena: &mut Arena, ) -> Vec { let mut constants = vec![]; @@ -1099,7 +1105,7 @@ pub(crate) fn constant_key_alternatives( } } Literal::Char(c) => { - let atom = atom_tbl.build_with(&c.to_string()); + let atom = AtomTable::build_with(&atom_tbl, &c.to_string()); constants.push(Literal::Atom(atom)); } /* @@ -1148,11 +1154,19 @@ pub(crate) trait Indexer { fn new() -> Self; - fn constants(&mut self) -> &mut IndexMap, FxBuildHasher>; + fn constants( + &mut self, + ) -> &mut IndexMap, FxBuildHasher>; fn lists(&mut self) -> &mut VecDeque; - fn structures(&mut self) -> &mut IndexMap<(Atom, usize), VecDeque, FxBuildHasher>; + fn structures( + &mut self, + ) -> &mut IndexMap<(Atom, usize), VecDeque, FxBuildHasher>; - fn compute_index(is_initial_index: bool, index: usize) -> Self::ThirdLevelIndex; + fn compute_index( + is_initial_index: bool, + index: usize, + non_counted_bt: bool, + ) -> Self::ThirdLevelIndex; fn second_level_index( indices: IndexMap, FxBuildHasher>, @@ -1188,7 +1202,9 @@ impl Indexer for StaticCodeIndices { } #[inline] - fn constants(&mut self) -> &mut IndexMap, FxBuildHasher> { + fn constants( + &mut self, + ) -> &mut IndexMap, FxBuildHasher> { &mut self.constants } @@ -1198,13 +1214,21 @@ impl Indexer for StaticCodeIndices { } #[inline] - fn structures(&mut self) -> &mut IndexMap<(Atom, usize), VecDeque, FxBuildHasher> { + fn structures( + &mut self, + ) -> &mut IndexMap<(Atom, usize), VecDeque, FxBuildHasher> { &mut self.structures } - fn compute_index(is_initial_index: bool, index: usize) -> IndexedChoiceInstruction { + fn compute_index( + is_initial_index: bool, + index: usize, + non_counted_bt: bool, + ) -> IndexedChoiceInstruction { if is_initial_index { IndexedChoiceInstruction::Try(index + 1) + } else if non_counted_bt { + IndexedChoiceInstruction::DefaultRetry(index + 1) } else { IndexedChoiceInstruction::Retry(index + 1) } @@ -1232,7 +1256,9 @@ impl Indexer for StaticCodeIndices { } fn switch_on( - mut instr_fn: impl FnMut(IndexMap) -> IndexingInstruction, + mut instr_fn: impl FnMut( + IndexMap, + ) -> IndexingInstruction, index: &mut IndexMap, FxBuildHasher>, prelude: &mut VecDeque, ) -> IndexingCodePtr { @@ -1319,7 +1345,7 @@ impl Indexer for DynamicCodeIndices { } #[inline] - fn compute_index(_: bool, index: usize) -> usize { + fn compute_index(_: bool, index: usize, _: bool) -> usize { index + 1 } @@ -1332,7 +1358,9 @@ impl Indexer for DynamicCodeIndices { for (key, code) in indices.into_iter() { if code.len() > 1 { index_locs.insert(key, IndexingCodePtr::Internal(prelude.len() + 1)); - prelude.push_back(IndexingLine::DynamicIndexedChoice(code.into_iter().collect())); + prelude.push_back(IndexingLine::DynamicIndexedChoice( + code.into_iter().collect(), + )); } else { code.front().map(|i| { index_locs.insert(key, IndexingCodePtr::DynamicExternal(*i)); @@ -1344,7 +1372,9 @@ impl Indexer for DynamicCodeIndices { } fn switch_on( - mut instr_fn: impl FnMut(IndexMap) -> IndexingInstruction, + mut instr_fn: impl FnMut( + IndexMap, + ) -> IndexingInstruction, index: &mut IndexMap, FxBuildHasher>, prelude: &mut VecDeque, ) -> IndexingCodePtr { @@ -1371,7 +1401,9 @@ impl Indexer for DynamicCodeIndices { ) -> IndexingCodePtr { if lists.len() > 1 { let lists = mem::replace(lists, VecDeque::new()); - prelude.push_back(IndexingLine::DynamicIndexedChoice(lists.into_iter().collect())); + prelude.push_back(IndexingLine::DynamicIndexedChoice( + lists.into_iter().collect(), + )); IndexingCodePtr::Internal(1) } else { lists @@ -1401,33 +1433,43 @@ impl Indexer for DynamicCodeIndices { pub(crate) struct CodeOffsets { indices: I, optimal_index: usize, + non_counted_bt: bool, } impl CodeOffsets { - pub(crate) fn new(indices: I, optimal_index: usize) -> Self { + pub(crate) fn new(indices: I, optimal_index: usize, non_counted_bt: bool) -> Self { CodeOffsets { indices, optimal_index, + non_counted_bt, } } fn index_list(&mut self, index: usize) { let is_initial_index = self.indices.lists().is_empty(); - let index = I::compute_index(is_initial_index, index); + let index = I::compute_index(is_initial_index, index, self.non_counted_bt); self.indices.lists().push_back(index); } fn index_constant( &mut self, - atom_tbl: &mut AtomTable, + atom_tbl: &AtomTable, constant: Literal, index: usize, ) -> Vec { let overlapping_constants = constant_key_alternatives(constant, atom_tbl); - let code = self.indices.constants().entry(constant).or_insert(VecDeque::new()); + let code = self + .indices + .constants() + .entry(constant) + .or_insert(VecDeque::new()); let is_initial_index = code.is_empty(); - code.push_back(I::compute_index(is_initial_index, index)); + code.push_back(I::compute_index( + is_initial_index, + index, + self.non_counted_bt, + )); for constant in &overlapping_constants { let code = self @@ -1437,7 +1479,7 @@ impl CodeOffsets { .or_insert(VecDeque::new()); let is_initial_index = code.is_empty(); - let index = I::compute_index(is_initial_index, index); + let index = I::compute_index(is_initial_index, index, self.non_counted_bt); code.push_back(index); } @@ -1455,7 +1497,11 @@ impl CodeOffsets { let code_len = code.len(); let is_initial_index = code.is_empty(); - code.push_back(I::compute_index(is_initial_index, index)); + code.push_back(I::compute_index( + is_initial_index, + index, + self.non_counted_bt, + )); code_len } @@ -1464,7 +1510,7 @@ impl CodeOffsets { optimal_arg: &Term, index: usize, clause_index_info: &mut ClauseIndexInfo, - atom_tbl: &mut AtomTable, + atom_tbl: &AtomTable, ) { match optimal_arg { &Term::Clause(_, atom!("."), ref terms) if terms.len() == 2 => { diff --git a/src/iterators.rs b/src/iterators.rs index adec2e4c..0961355d 100644 --- a/src/iterators.rs +++ b/src/iterators.rs @@ -62,9 +62,7 @@ impl<'a> TermIterState<'a> { Term::PartialString(cell, string_buf, tail) => { TermIterState::InitialPartialString(lvl, cell, string_buf, tail) } - Term::CompleteString(cell, atom) => { - TermIterState::CompleteString(lvl, cell, *atom) - } + Term::CompleteString(cell, atom) => TermIterState::CompleteString(lvl, cell, *atom), Term::Var(cell, var_ptr) => TermIterState::Var(lvl, cell, var_ptr.clone()), } } @@ -77,7 +75,8 @@ pub(crate) struct QueryIterator<'a> { impl<'a> QueryIterator<'a> { fn push_subterm(&mut self, lvl: Level, term: &'a Term) { - self.state_stack.push(TermIterState::subterm_to_state(lvl, term)); + self.state_stack + .push(TermIterState::subterm_to_state(lvl, term)); } /* @@ -94,19 +93,16 @@ impl<'a> QueryIterator<'a> { fn from_term(term: &'a Term) -> Self { let state = match term { - Term::AnonVar | Term::Cons(..) | Term::Literal(..) | - Term::PartialString(..) | Term::CompleteString(..) => { + Term::AnonVar + | Term::Cons(..) + | Term::Literal(..) + | Term::PartialString(..) + | Term::CompleteString(..) => { return QueryIterator { state_stack: vec![], } } - Term::Clause(r, name, terms) => TermIterState::Clause( - Level::Root, - 0, - r, - *name, - terms, - ), + Term::Clause(r, name, terms) => TermIterState::Clause(Level::Root, 0, r, *name, terms), Term::Var(cell, var_ptr) => TermIterState::Var(Level::Root, cell, var_ptr.clone()), }; @@ -118,18 +114,21 @@ impl<'a> QueryIterator<'a> { fn extend_state(&mut self, lvl: Level, term: &'a QueryTerm) { match term { &QueryTerm::Clause(ref cell, ClauseType::CallN(_), ref terms, _) => { - self.state_stack.push(TermIterState::Clause(lvl, 1, cell, atom!("$call"), terms)); + self.state_stack + .push(TermIterState::Clause(lvl, 1, cell, atom!("$call"), terms)); } &QueryTerm::Clause(ref cell, ref ct, ref terms, _) => { - self.state_stack.push(TermIterState::Clause(lvl, 0, cell, ct.name(), terms)); - } - _ => { + self.state_stack + .push(TermIterState::Clause(lvl, 0, cell, ct.name(), terms)); } + _ => {} } } pub fn new(term: &'a QueryTerm) -> Self { - let mut iter = QueryIterator { state_stack: vec![] }; + let mut iter = QueryIterator { + state_stack: vec![], + }; iter.extend_state(Level::Root, term); iter } @@ -170,13 +169,15 @@ impl<'a> Iterator for QueryIterator<'a> { } } TermIterState::InitialCons(lvl, cell, head, tail) => { - self.state_stack.push(TermIterState::FinalCons(lvl, cell, head, tail)); + self.state_stack + .push(TermIterState::FinalCons(lvl, cell, head, tail)); self.push_subterm(lvl.child_level(), tail); self.push_subterm(lvl.child_level(), head); } TermIterState::InitialPartialString(lvl, cell, string, tail) => { - self.state_stack.push(TermIterState::FinalPartialString(lvl, cell, string, tail)); + self.state_stack + .push(TermIterState::FinalPartialString(lvl, cell, string, tail)); self.push_subterm(lvl.child_level(), tail); } TermIterState::FinalPartialString(lvl, cell, atom, tail) => { @@ -248,11 +249,7 @@ impl<'a> FactIterator<'a> { )] } Term::CompleteString(cell, atom) => { - vec![TermIterState::CompleteString( - Level::Root, - cell, - *atom, - )] + vec![TermIterState::CompleteString(Level::Root, cell, *atom)] } Term::Literal(cell, constant) => { vec![TermIterState::Literal(Level::Root, cell, constant)] @@ -319,7 +316,10 @@ pub(crate) fn post_order_iter<'a>(term: &'a Term) -> QueryIterator<'a> { QueryIterator::from_term(term) } -pub(crate) fn breadth_first_iter<'a>(term: &'a Term, iterable_root: RootIterationPolicy) -> FactIterator<'a> { +pub(crate) fn breadth_first_iter<'a>( + term: &'a Term, + iterable_root: RootIterationPolicy, +) -> FactIterator<'a> { FactIterator::new(term, iterable_root) } @@ -356,18 +356,14 @@ fn state_from_chunked_terms<'a>(chunk_vec: &'a VecDeque) -> Clause impl<'a> ClauseIterator<'a> { pub fn new(clauses: &'a ChunkedTermVec) -> Self { match state_from_chunked_terms(&clauses.chunk_vec) { - state @ ClauseIteratorState::RemainingBranches(..) => { - Self { - state_stack: vec![state], - remaining_chunks_on_stack: 0, - } - } - state @ ClauseIteratorState::RemainingChunks(..) => { - Self { - state_stack: vec![state], - remaining_chunks_on_stack: 1, - } - } + state @ ClauseIteratorState::RemainingBranches(..) => Self { + state_stack: vec![state], + remaining_chunks_on_stack: 0, + }, + state @ ClauseIteratorState::RemainingChunks(..) => Self { + state_stack: vec![state], + remaining_chunks_on_stack: 1, + }, } } @@ -403,14 +399,16 @@ impl<'a> Iterator for ClauseIterator<'a> { match state { ClauseIteratorState::RemainingChunks(chunks, focus) if focus < chunks.len() => { if focus + 1 < chunks.len() { - self.state_stack.push(ClauseIteratorState::RemainingChunks(chunks, focus + 1)); + self.state_stack + .push(ClauseIteratorState::RemainingChunks(chunks, focus + 1)); } else { self.remaining_chunks_on_stack -= 1; } match &chunks[focus] { ChunkedTerms::Branch(branches) => { - self.state_stack.push(ClauseIteratorState::RemainingBranches(branches, 0)); + self.state_stack + .push(ClauseIteratorState::RemainingBranches(branches, 0)); } ChunkedTerms::Chunk(chunk) => { return Some(ClauseItem::Chunk(chunk)); @@ -420,8 +418,11 @@ impl<'a> Iterator for ClauseIterator<'a> { ClauseIteratorState::RemainingChunks(chunks, focus) => { debug_assert_eq!(chunks.len(), focus); } - ClauseIteratorState::RemainingBranches(branches, focus) if focus < branches.len() => { - self.state_stack.push(ClauseIteratorState::RemainingBranches(&branches, focus + 1)); + ClauseIteratorState::RemainingBranches(branches, focus) + if focus < branches.len() => + { + self.state_stack + .push(ClauseIteratorState::RemainingBranches(&branches, focus + 1)); let state = state_from_chunked_terms(&branches[focus]); if let ClauseIteratorState::RemainingChunks(..) = &state { diff --git a/src/lib.rs b/src/lib.rs index acae77eb..8817fa5f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -17,13 +17,13 @@ pub mod codegen; mod debray_allocator; #[cfg(feature = "ffi")] mod ffi; -mod variable_records; mod forms; mod heap_iter; pub mod heap_print; #[cfg(feature = "http")] mod http; mod indexing; +mod variable_records; #[macro_use] pub mod instructions { include!(concat!(env!("OUT_DIR"), "/instructions.rs")); @@ -38,3 +38,19 @@ mod targets; pub mod types; use instructions::instr; + +mod rcu; + +#[cfg(target_arch = "wasm32")] +use wasm_bindgen::prelude::*; + +#[cfg(target_arch = "wasm32")] +#[wasm_bindgen] +pub fn eval_code(s: &str) -> String { + use web_sys::console; + use machine::mock_wam::*; + + let mut wam = Machine::with_test_streams(); + let bytes = wam.test_load_string(s); + String::from_utf8_lossy(&bytes).to_string() +} diff --git a/src/lib/builtins.pl b/src/lib/builtins.pl index 81f63ddd..8e88e626 100644 --- a/src/lib/builtins.pl +++ b/src/lib/builtins.pl @@ -143,6 +143,7 @@ call(_, _, _, _, _, _, _, _, _). % enabled) and `error` which throws an exception when a cylic term is created. Read and write. % * `unknown`: How undefined predicates are handled when called. Possible values are `error` (the default, an error is thrown), % `fail` (the call silently fails) and `warn` (the call fails and a warning about the undefined predicate is printed). +% * `answer_write_options`: Additional write options used by the top level for writing answers. % current_prolog_flag(Flag, Value) :- Flag == max_arity, !, Value = 1023. current_prolog_flag(max_arity, 1023). @@ -160,6 +161,14 @@ current_prolog_flag(Flag, OccursCheckEnabled) :- Flag == occurs_check, !, '$is_sto_enabled'(OccursCheckEnabled). +current_prolog_flag(occurs_check, OccursCheckEnabled) :- + '$is_sto_enabled'(OccursCheckEnabled). +current_prolog_flag(Flag, Value) :- + Flag == answer_write_options, + !, + answer_write_options(Value). +current_prolog_flag(answer_write_options, Value) :- + answer_write_options(Value). current_prolog_flag(Flag, _) :- atom(Flag), throw(error(domain_error(prolog_flag, Flag), current_prolog_flag/2)). % 8.17.2.3 b @@ -167,6 +176,11 @@ current_prolog_flag(Flag, _) :- nonvar(Flag), throw(error(type_error(atom, Flag), current_prolog_flag/2)). % 8.17.2.3 a +answer_write_options(Value) :- + ( iso_ext:bb_get('$answer_write_options', Value) -> true + ; Value = [] + ). + %% set_prolog_flag(Flag, Value). % % Sets the internal value of the flag. To see the list of flags supported by Scryer Prolog, @@ -207,14 +221,25 @@ set_prolog_flag(occurs_check, false) :- set_prolog_flag(occurs_check, error) :- !, '$set_sto_with_error_as_unify'. set_prolog_flag(double_quotes, Value) :- - throw(error(domain_error(flag_value, double_quotes + Value), - set_prolog_flag/2)). % 8.17.1.3 e + flag_domain_error(double_quotes, Value). +set_prolog_flag(answer_write_options, Options) :- + !, + catch(catch(builtins:parse_write_options(Options, _, set_prolog_flag/2), + error(domain_error(_,_), _), + throw(error(type_error(_,_), _))), % convert domain error to type error .... + error(type_error(_,_), _), % ... to catch type and domain errors. + flag_domain_error(answer_write_options, Options)), + iso_ext:bb_put('$answer_write_options', Options). set_prolog_flag(Flag, _) :- atom(Flag), throw(error(domain_error(prolog_flag, Flag), set_prolog_flag/2)). % 8.17.1.3 d set_prolog_flag(Flag, _) :- throw(error(type_error(atom, Flag), set_prolog_flag/2)). % 8.17.1.3 c +flag_domain_error(Flag, Value) :- + % domain error via 8.17.1.3 e: Value is inappropriate for Flag + throw(error(domain_error(flag_value, Flag + Value), set_prolog_flag/2)). + % control operators. %% fail. @@ -262,6 +287,9 @@ repeat :- repeat. %% ->(G1, G2) % % If-then and if-then-else constructs + +:- non_counted_backtracking (->)/2. + G1 -> G2 :- control_entry_point((G1 -> G2)). @@ -275,6 +303,9 @@ staggered_if_then(G1, G2) :- %% ;(G1, G2) % % Disjunction (or) + +:- non_counted_backtracking (;)/2. + G1 ; G2 :- control_entry_point((G1 ; G2)). @@ -304,6 +335,9 @@ set_cp(B) :- '$set_cp'(B). %% ,(G1, G2) % % Conjuction (and) + +:- non_counted_backtracking (',')/2. + ','(G1, G2) :- control_entry_point((G1, G2)). @@ -788,7 +822,7 @@ catch(G,C,R) :- catch(G,C,R,Bb) :- '$install_new_block'(NBb), - '$call_with_inference_counting'(call(G)), + call(G), end_block(Bb, NBb). catch(G,C,R,Bb) :- '$reset_block'(Bb), @@ -2186,6 +2220,9 @@ set_stream_position(S_or_a, Position) :- %% callable(X). % % True iff X is bound o an atom or a compund term. + +:- non_counted_backtracking callable/1. + callable(X) :- ( nonvar(X), functor(X, F, _), atom(F) -> true diff --git a/src/lib/clpb.pl b/src/lib/clpb.pl index 3b7ac007..4dde600b 100644 --- a/src/lib/clpb.pl +++ b/src/lib/clpb.pl @@ -1,10 +1,29 @@ /* CLP(B): Constraint Logic Programming over Boolean Variables - Copyright (C): 2019-2023 Markus Triska - All rights reserved. - + Author: Markus Triska E-mail: triska@metalevel.at - WWW: http://www.metalevel.at + WWW: https://www.metalevel.at + Copyright (C): 2019-2023 Markus Triska + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, copy, + modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. */ @@ -17,8 +36,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ :- module(clpb, [op(300, fy, ~), - op(500, yfx, #), - sat/1, + op(500, yfx, #), + sat/1, taut/2, labeling/1, sat_count/2, @@ -91,6 +110,46 @@ domain_error(Expectation, Term) :- type_error(Expectation, Term) :- type_error(Expectation, Term, unknown(Term)-1). +/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Compatibility predicates. +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + +:- meta_predicate(include(1, ?, ?)). + +include(_, [], []). +include(Goal, [L|Ls0], Ls) :- + ( call(Goal, L) -> + Ls = [L|Rest] + ; Ls = Rest + ), + include(Goal, Ls0, Rest). + +:- meta_predicate(exclude(1, ?, ?)). + +exclude(_, [], []). +exclude(Goal, [L|Ls0], Ls) :- + ( call(Goal, L) -> + Ls = Rest + ; Ls = [L|Rest] + ), + exclude(Goal, Ls0, Rest). + +:- meta_predicate(partition(2,?,?,?,?)). + +partition(_, [], [], [], []). +partition(Pred, [H|T], L, E, G) :- + call(Pred, H, Diff), + partition_(Diff, H, Pred, T, L, E, G). + +partition_(<, H, Pred, T, [H|Rest], E, G) :- + partition(Pred, T, Rest, E, G). +partition_(=, H, Pred, T, L, [H|Rest], G) :- + partition(Pred, T, L, Rest, G). +partition_(>, H, Pred, T, L, E, [H|Rest]) :- + partition(Pred, T, L, E, Rest). + +:- meta_predicate(partition(1,?,?,?)). + partition(Pred, Ls0, As, Bs) :- include(Pred, Ls0, As), exclude(Pred, Ls0, Bs). @@ -447,6 +506,10 @@ non_monotonic(X) :- ; true ). +:- meta_predicate(bdd_nodes(1, ?, ?)). +:- meta_predicate(bdd_nodes_(1, ?, ?, ?)). +:- meta_predicate(with_aux(1, ?)). + /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Rewriting to canonical expressions. Atoms are converted to variables with a special attribute. @@ -1513,8 +1576,7 @@ random_bindings(VNum, Node) --> % % ``` % ?- sat(A#B), weighted_maximum([1,2,1], [A,B,C], Maximum). -% A = 0, B = 1, C = 1, Maximum = 3 -% ; false. +% A = 0, B = 1, C = 1, Maximum = 3. % ``` weighted_maximum(Ws, Vars, Max) :- @@ -1635,8 +1697,7 @@ attribute_goals(Var) --> { bdd_nodes(BDD, Nodes), phrase(nodes(Nodes), Ns) }, [clpb:'$clpb_bdd'(Ns)] - ; { prepare_global_variables(BDD), - phrase(sat_ands(Formula), Ands0), + ; { phrase(sat_ands(Formula), Ands0), ands_fusion(Ands0, Ands), maplist(formula_anf, Ands, ANFs0), sort(ANFs0, ANFs1), @@ -1656,6 +1717,10 @@ attribute_goals(Var) --> booleans(RestVs) ; boolean(Var) % the variable may have occurred only in taut/2 ). +attribute_goals(Var) --> + { get_atts(Var, clpb_max(_)), + !, + put_atts(Var, -clpb_max(_)) }. attribute_goals(Var) --> { get_atts(Var, clpb_bdd(BDD)), ground(BDD), @@ -1663,36 +1728,13 @@ attribute_goals(Var) --> del_clpb(Var) :- del_attr(Var, clpb), - del_attr(Var, clpb_hash). - -/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To make residual projection work with recorded constraints, the - global counters must be adjusted so that new variables and nodes - also get new IDs. Also, clpb_next_id/2 is used to actually create - these counters, because creating them with b_setval/2 would make - them [] on backtracking, which is quite unfortunate in itself. -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + del_attr(Var, clpb_hash), + del_attr(Var, clpb_atom). b_setval(K, T) :- bb_b_put(K, T). nb_setval(K, T) :- bb_put(K, T). b_getval(K, T) :- bb_get(K, T). -prepare_global_variables(BDD) :- - clpb_next_id('$clpb_next_var', V0), - clpb_next_id('$clpb_next_node', N0), - bdd_nodes(BDD, Nodes), - foldl(max_variable_node, Nodes, V0-N0, MaxV0-MaxN0), - MaxV is MaxV0 + 1, - MaxN is MaxN0 + 1, - b_setval('$clpb_next_var', MaxV), - b_setval('$clpb_next_node', MaxN). - -max_variable_node(Node, V0-N0, V-N) :- - node_id(Node, N1), - node_varindex(Node, V1), - N is max(N0,N1), - V is max(V0,V1). - /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fuse formulas that share the same variables into single conjunctions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ @@ -1817,7 +1859,8 @@ booleans([B|Bs]) --> boolean(B), booleans(Bs). boolean(Var) --> { del_clpb(Var) }, - ( { get_attr(Var, clpb_omit_boolean, true) } -> [] + ( { get_attr(Var, clpb_omit_boolean, true) } -> + { put_atts(Var, -clpb_omit_boolean(_)) } ; [clpb:sat(Var =:= Var)] ). @@ -1919,49 +1962,3 @@ clpb_atom_var(Atom, Var) :- put_assoc(Atom, A0, Var, A), b_setval('$clpb_atoms', A) ). - - - -/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Compatibility predicates. -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ - - -include(Goal, List, Is) :- - include_(List, Goal, Is). - -include_([], _, []). -include_([X1|Xs1], P, Is) :- - ( call(P, X1) - -> Is = [X1|Is1] - ; Is = Is1 - ), - include_(Xs1, P, Is1). - - -exclude(Goal, List, Is) :- - exclude_(List, Goal, Is). - -exclude_([], _, []). -exclude_([X1|Xs1], P, Is) :- - ( call(P, X1) - -> Is = Is1 - ; Is = [X1|Is1] - ), - exclude_(Xs1, P, Is1). - - -partition(Pred, List, Less, Equal, Greater) :- - partition_(List, Pred, Less, Equal, Greater). - -partition_([], _, [], [], []). -partition_([H|T], Pred, L, E, G) :- - call(Pred, H, Diff), - partition_(Diff, H, Pred, T, L, E, G). - -partition_(<, H, Pred, T, [H|Rest], E, G) :- - partition_(T, Pred, Rest, E, G). -partition_(=, H, Pred, T, L, [H|Rest], G) :- - partition_(T, Pred, L, Rest, G). -partition_(>, H, Pred, T, L, E, [H|Rest]) :- - partition_(T, Pred, L, E, Rest). diff --git a/src/lib/clpz.pl b/src/lib/clpz.pl index d560f675..f438043d 100644 --- a/src/lib/clpz.pl +++ b/src/lib/clpz.pl @@ -2142,16 +2142,17 @@ fds_sespsize([V|Vs], S0, S) :- fds_sespsize(Vs, S2, S). /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Optimisation uses destructive assignment to save the computed - extremum over backtracking. Failure is used to get rid of copies of - attributed variables that are created in intermediate steps. At - least that's the intention - it currently doesn't work in SWI: + Optimisation uses the clause database to save the computed extremum + over backtracking. Failure is used to get rid of copies of + attributed variables that are created in intermediate steps. - %?- X in 0..3, call_residue_vars(labeling([min(X)], [X]), Vs). - %@ X = 0, - %@ Vs = [_G6174, _G6177], - %@ _G6174 in 0..3 + Example: + ?- X in 1..3, call_residue_vars(labeling([min(X)], [X]), Vs). + %@ X = 1, Vs = [] + %@ ; X = 2, Vs = [] + %@ ; X = 3, Vs = [] + %@ ; false. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ :- dynamic(extremum/1). diff --git a/src/lib/iso_ext.pl b/src/lib/iso_ext.pl index 0a5798ae..d53ff47b 100644 --- a/src/lib/iso_ext.pl +++ b/src/lib/iso_ext.pl @@ -226,8 +226,9 @@ end_block(B, _Bb, NBb, L) :- :- non_counted_backtracking handle_ile/3. -handle_ile(B, inference_limit_exceeded(B), inference_limit_exceeded) :- +handle_ile(B, inference_limit_exceeded(B), R) :- !, + R = inference_limit_exceeded, '$pop_ball_stack'. handle_ile(B, _, _) :- '$remove_call_policy_check'(B), @@ -358,10 +359,10 @@ call_nth_nesting(C, ID) :- bb_put(ID, 0), bb_put(i_call_nth_counter, C). -%% countall(Goal, N). +%% countall(G_0, N). % -% countall(Goal, N) counts all solutions of Goal and unifies N with -% this number of solutions. This predicate always succeeds once. +% countall(G_0, N) is true iff N unifies with the total number of +% answers of call(G_0). :- meta_predicate(countall(0, ?)). @@ -370,7 +371,7 @@ countall(Goal, N) :- ( integer(N) -> ( N < 0 -> domain_error(not_less_than_zero, N, countall/2) - ; N > 0 + ; true ) ; true ), diff --git a/src/loader.pl b/src/loader.pl index 441852ee..0ba61117 100644 --- a/src/loader.pl +++ b/src/loader.pl @@ -35,9 +35,9 @@ write_error(Error) :- ), write('.'). -% '$print_message_and_fail'(inference_limit_exceeded(B)) :- -% integer(B), -% throw(inference_limit_exceeded(B)). + +:- non_counted_backtracking '$print_message_and_fail'/1. + '$print_message_and_fail'(Error) :- write_error(Error), nl, @@ -70,6 +70,8 @@ term_expansion_list([Term|Terms], ExpandedTermsHead, ExpandedTermsTail) :- ). +:- non_counted_backtracking goal_expansion/3. + goal_expansion(Goal, Module, ExpandedGoal) :- ( atom(Module), '$predicate_defined'(Module, goal_expansion, 2), @@ -84,7 +86,6 @@ goal_expansion(Goal, Module, ExpandedGoal) :- ). - create_file_load_context(Stream, Path, Evacuable) :- '$push_load_context'(Stream, Path), '$push_load_state_payload'(Evacuable). @@ -134,9 +135,15 @@ file_load_init(Stream, Evacuable) :- run_initialization_goals. file_load_cleanup(Evacuable, Error) :- + load_context(Module), + abolish(Module:'$initialization_goals'/1), unload_evacuable(Evacuable), - '$print_message_and_fail'(Error), - throw(Error). + ( clause('$toplevel':argv(_), _) -> + % let the toplevel call loader:write_error/1 + throw(Error) + ; '$print_message_and_fail'(Error) + ; throw(file_load_error) + ). file_load(Stream, Path, Evacuable) :- create_file_load_context(Stream, Path, Evacuable), @@ -504,7 +511,9 @@ consult(Item) :- use_module(Module) :- '$push_load_state_payload'(Evacuable), - use_module(Module, [], Evacuable). + catch('$call'(loader:use_module(Module, [], Evacuable)), + file_load_error, + '$call'(builtins:false)). use_module(Module, Exports) :- '$push_load_state_payload'(Evacuable), @@ -587,6 +596,8 @@ use_module(Module, Exports, Evacuable) :- ). +:- non_counted_backtracking check_predicate_property/5. + check_predicate_property(meta_predicate, Module, Name, Arity, MetaPredicateTerm) :- '$meta_predicate_property'(Module, Name, Arity, MetaPredicateTerm). check_predicate_property(built_in, _, Name, Arity, built_in) :- @@ -599,6 +610,7 @@ check_predicate_property(discontiguous, Module, Name, Arity, discontiguous) :- '$discontiguous_property'(Module, Name, Arity). +:- non_counted_backtracking extract_predicate_property/2. extract_predicate_property(Property, PropertyType) :- ( var(Property) -> @@ -606,12 +618,16 @@ extract_predicate_property(Property, PropertyType) :- ; functor(Property, PropertyType, _) ). +:- non_counted_backtracking load_context/1. + load_context(Module) :- ( prolog_load_context(module, Module) -> true ; Module = user ). +:- non_counted_backtracking predicate_property/2. + predicate_property(Callable, Property) :- ( var(Callable) -> instantiation_error(predicate_property/2) @@ -648,8 +664,6 @@ strip_subst_module(Goal, M1, M2, G) :- ; true ). -:- non_counted_backtracking subgoal_expansion/3. - /* * subgoal_expansion differs from goal_expansion only in that it fails * unconditionally after catching an(y) exception, aborting the @@ -657,10 +671,14 @@ strip_subst_module(Goal, M1, M2, G) :- * when expand_goal is later invoked at runtime. */ +:- non_counted_backtracking subgoal_expansion_fail/1. + subgoal_expansion_fail(B) :- builtins:set_cp(B), fail. +:- non_counted_backtracking subgoal_expansion/3. + subgoal_expansion(Goal, Module, ExpandedGoal) :- '$get_cp'(B), ( atom(Module), @@ -890,7 +908,6 @@ thread_goals(Goals0, Goals1, Hole, Functor) :- % n_call_clause(N, Clauses) :- % length(Args, N), % Head =.. [call, G | Args], -% CallNHead =.. [call, '$call'(G) | Args], % N1 is N + 1, % StripModule =.. ['$strip_module', G, M1, G1], % FastCall =.. ['$fast_call', G | Args], @@ -903,7 +920,7 @@ thread_goals(Goals0, Goals1, Hole, Functor) :- % PrepareCallClause, % expand_call_goal(G2, M1, G3), % strip_subst_module(G3, M1, M2, G4), -% '$call_with_inference_counting'(ModuleCall))]. +% ModuleCall)]. % % generate_call_forms :- % between(1, 64, N), @@ -930,7 +947,7 @@ call(G0) :- '$strip_module'(G0, M0, G1), expand_call_goal(G1, M0, G2), strip_subst_module(G2, M0, M1, G3), - '$call_with_inference_counting'('$module_call'(M1, G3)). + '$module_call'(M1, G3). :-non_counted_backtracking call/2. call(A,B) :- @@ -943,7 +960,7 @@ call(A,B) :- '$prepare_call_clause'(E,D,B), expand_call_goal(E,C,F), strip_subst_module(F,C,G,H), - '$call_with_inference_counting'('$module_call'(G,H)). + '$module_call'(G,H). :-non_counted_backtracking call/3. call(A,B,C) :- @@ -956,7 +973,7 @@ call(A,B,C) :- '$prepare_call_clause'(F,E,B,C), expand_call_goal(F,D,G), strip_subst_module(G,D,H,I), - '$call_with_inference_counting'('$module_call'(H,I)). + '$module_call'(H,I). :-non_counted_backtracking call/4. call(A,B,C,D) :- @@ -969,7 +986,7 @@ call(A,B,C,D) :- '$prepare_call_clause'(G,F,B,C,D), expand_call_goal(G,E,H), strip_subst_module(H,E,I,J), - '$call_with_inference_counting'('$module_call'(I,J)). + '$module_call'(I,J). :-non_counted_backtracking call/5. call(A,B,C,D,E) :- @@ -982,7 +999,7 @@ call(A,B,C,D,E) :- '$prepare_call_clause'(H,G,B,C,D,E), expand_call_goal(H,F,I), strip_subst_module(I,F,J,K), - '$call_with_inference_counting'('$module_call'(J,K)). + '$module_call'(J,K). :-non_counted_backtracking call/6. call(A,B,C,D,E,F) :- @@ -995,7 +1012,7 @@ call(A,B,C,D,E,F) :- '$prepare_call_clause'(I,H,B,C,D,E,F), expand_call_goal(I,G,J), strip_subst_module(J,G,K,L), - '$call_with_inference_counting'('$module_call'(K,L)). + '$module_call'(K,L). :-non_counted_backtracking call/7. call(A,B,C,D,E,F,G) :- @@ -1008,7 +1025,7 @@ call(A,B,C,D,E,F,G) :- '$prepare_call_clause'(J,I,B,C,D,E,F,G), expand_call_goal(J,H,K), strip_subst_module(K,H,L,M), - '$call_with_inference_counting'('$module_call'(L,M)). + '$module_call'(L,M). :-non_counted_backtracking call/8. call(A,B,C,D,E,F,G,H) :- @@ -1021,7 +1038,7 @@ call(A,B,C,D,E,F,G,H) :- '$prepare_call_clause'(K,J,B,C,D,E,F,G,H), expand_call_goal(K,I,L), strip_subst_module(L,I,M,N), - '$call_with_inference_counting'('$module_call'(M,N)). + '$module_call'(M,N). :-non_counted_backtracking call/9. call(A,B,C,D,E,F,G,H,I) :- @@ -1034,7 +1051,7 @@ call(A,B,C,D,E,F,G,H,I) :- '$prepare_call_clause'(L,K,B,C,D,E,F,G,H,I), expand_call_goal(L,J,M), strip_subst_module(M,J,N,O), - '$call_with_inference_counting'('$module_call'(N,O)). + '$module_call'(N,O). :-non_counted_backtracking call/10. call(A,B,C,D,E,F,G,H,I,J) :- @@ -1047,7 +1064,7 @@ call(A,B,C,D,E,F,G,H,I,J) :- '$prepare_call_clause'(M,L,B,C,D,E,F,G,H,I,J), expand_call_goal(M,K,N), strip_subst_module(N,K,O,P), - '$call_with_inference_counting'('$module_call'(O,P)). + '$module_call'(O,P). :-non_counted_backtracking call/11. call(A,B,C,D,E,F,G,H,I,J,K) :- @@ -1060,7 +1077,7 @@ call(A,B,C,D,E,F,G,H,I,J,K) :- '$prepare_call_clause'(N,M,B,C,D,E,F,G,H,I,J,K), expand_call_goal(N,L,O), strip_subst_module(O,L,P,Q), - '$call_with_inference_counting'('$module_call'(P,Q)). + '$module_call'(P,Q). :-non_counted_backtracking call/12. call(A,B,C,D,E,F,G,H,I,J,K,L) :- @@ -1073,7 +1090,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L) :- '$prepare_call_clause'(O,N,B,C,D,E,F,G,H,I,J,K,L), expand_call_goal(O,M,P), strip_subst_module(P,M,Q,R), - '$call_with_inference_counting'('$module_call'(Q,R)). + '$module_call'(Q,R). :-non_counted_backtracking call/13. call(A,B,C,D,E,F,G,H,I,J,K,L,M) :- @@ -1086,7 +1103,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M) :- '$prepare_call_clause'(P,O,B,C,D,E,F,G,H,I,J,K,L,M), expand_call_goal(P,N,Q), strip_subst_module(Q,N,R,S), - '$call_with_inference_counting'('$module_call'(R,S)). + '$module_call'(R,S). :-non_counted_backtracking call/14. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N) :- @@ -1099,7 +1116,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N) :- '$prepare_call_clause'(Q,P,B,C,D,E,F,G,H,I,J,K,L,M,N), expand_call_goal(Q,O,R), strip_subst_module(R,O,S,T), - '$call_with_inference_counting'('$module_call'(S,T)). + '$module_call'(S,T). :-non_counted_backtracking call/15. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O) :- @@ -1112,7 +1129,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O) :- '$prepare_call_clause'(R,Q,B,C,D,E,F,G,H,I,J,K,L,M,N,O), expand_call_goal(R,P,S), strip_subst_module(S,P,T,U), - '$call_with_inference_counting'('$module_call'(T,U)). + '$module_call'(T,U). :-non_counted_backtracking call/16. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P) :- @@ -1125,7 +1142,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P) :- '$prepare_call_clause'(S,R,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P), expand_call_goal(S,Q,T), strip_subst_module(T,Q,U,V), - '$call_with_inference_counting'('$module_call'(U,V)). + '$module_call'(U,V). :-non_counted_backtracking call/17. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q) :- @@ -1138,7 +1155,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q) :- '$prepare_call_clause'(T,S,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q), expand_call_goal(T,R,U), strip_subst_module(U,R,V,W), - '$call_with_inference_counting'('$module_call'(V,W)). + '$module_call'(V,W). :-non_counted_backtracking call/18. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R) :- @@ -1151,7 +1168,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R) :- '$prepare_call_clause'(U,T,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R), expand_call_goal(U,S,V), strip_subst_module(V,S,W,X), - '$call_with_inference_counting'('$module_call'(W,X)). + '$module_call'(W,X). :-non_counted_backtracking call/19. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S) :- @@ -1164,7 +1181,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S) :- '$prepare_call_clause'(V,U,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S), expand_call_goal(V,T,W), strip_subst_module(W,T,X,Y), - '$call_with_inference_counting'('$module_call'(X,Y)). + '$module_call'(X,Y). :-non_counted_backtracking call/20. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T) :- @@ -1177,7 +1194,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T) :- '$prepare_call_clause'(W,V,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T), expand_call_goal(W,U,X), strip_subst_module(X,U,Y,Z), - '$call_with_inference_counting'('$module_call'(Y,Z)). + '$module_call'(Y,Z). :-non_counted_backtracking call/21. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U) :- @@ -1190,7 +1207,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U) :- '$prepare_call_clause'(X,W,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U), expand_call_goal(X,V,Y), strip_subst_module(Y,V,Z,A1), - '$call_with_inference_counting'('$module_call'(Z,A1)). + '$module_call'(Z,A1). :-non_counted_backtracking call/22. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V) :- @@ -1203,7 +1220,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V) :- '$prepare_call_clause'(Y,X,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V), expand_call_goal(Y,W,Z), strip_subst_module(Z,W,A1,B1), - '$call_with_inference_counting'('$module_call'(A1,B1)). + '$module_call'(A1,B1). :-non_counted_backtracking call/23. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W) :- @@ -1216,7 +1233,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W) :- '$prepare_call_clause'(Z,Y,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W), expand_call_goal(Z,X,A1), strip_subst_module(A1,X,B1,C1), - '$call_with_inference_counting'('$module_call'(B1,C1)). + '$module_call'(B1,C1). :-non_counted_backtracking call/24. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) :- @@ -1229,7 +1246,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) :- '$prepare_call_clause'(A1,Z,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), expand_call_goal(A1,Y,B1), strip_subst_module(B1,Y,C1,D1), - '$call_with_inference_counting'('$module_call'(C1,D1)). + '$module_call'(C1,D1). :-non_counted_backtracking call/25. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y) :- @@ -1242,7 +1259,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y) :- '$prepare_call_clause'(B1,A1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y), expand_call_goal(B1,Z,C1), strip_subst_module(C1,Z,D1,E1), - '$call_with_inference_counting'('$module_call'(D1,E1)). + '$module_call'(D1,E1). :-non_counted_backtracking call/26. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) :- @@ -1255,7 +1272,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) :- '$prepare_call_clause'(C1,B1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z), expand_call_goal(C1,A1,D1), strip_subst_module(D1,A1,E1,F1), - '$call_with_inference_counting'('$module_call'(E1,F1)). + '$module_call'(E1,F1). :-non_counted_backtracking call/27. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1) :- @@ -1268,7 +1285,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1) :- '$prepare_call_clause'(D1,C1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1), expand_call_goal(D1,B1,E1), strip_subst_module(E1,B1,F1,G1), - '$call_with_inference_counting'('$module_call'(F1,G1)). + '$module_call'(F1,G1). :-non_counted_backtracking call/28. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1) :- @@ -1281,7 +1298,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1) :- '$prepare_call_clause'(E1,D1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1), expand_call_goal(E1,C1,F1), strip_subst_module(F1,C1,G1,H1), - '$call_with_inference_counting'('$module_call'(G1,H1)). + '$module_call'(G1,H1). :-non_counted_backtracking call/29. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1) :- @@ -1294,7 +1311,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1) :- '$prepare_call_clause'(F1,E1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1), expand_call_goal(F1,D1,G1), strip_subst_module(G1,D1,H1,I1), - '$call_with_inference_counting'('$module_call'(H1,I1)). + '$module_call'(H1,I1). :-non_counted_backtracking call/30. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1) :- @@ -1307,7 +1324,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1) :- '$prepare_call_clause'(G1,F1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1), expand_call_goal(G1,E1,H1), strip_subst_module(H1,E1,I1,J1), - '$call_with_inference_counting'('$module_call'(I1,J1)). + '$module_call'(I1,J1). :-non_counted_backtracking call/31. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1) :- @@ -1320,7 +1337,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1) :- '$prepare_call_clause'(H1,G1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1), expand_call_goal(H1,F1,I1), strip_subst_module(I1,F1,J1,K1), - '$call_with_inference_counting'('$module_call'(J1,K1)). + '$module_call'(J1,K1). :-non_counted_backtracking call/32. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1) :- @@ -1333,7 +1350,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1) :- '$prepare_call_clause'(I1,H1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1), expand_call_goal(I1,G1,J1), strip_subst_module(J1,G1,K1,L1), - '$call_with_inference_counting'('$module_call'(K1,L1)). + '$module_call'(K1,L1). :-non_counted_backtracking call/33. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1) :- @@ -1346,7 +1363,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1) : '$prepare_call_clause'(J1,I1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1), expand_call_goal(J1,H1,K1), strip_subst_module(K1,H1,L1,M1), - '$call_with_inference_counting'('$module_call'(L1,M1)). + '$module_call'(L1,M1). :-non_counted_backtracking call/34. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1) :- @@ -1359,7 +1376,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(K1,J1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1), expand_call_goal(K1,I1,L1), strip_subst_module(L1,I1,M1,N1), - '$call_with_inference_counting'('$module_call'(M1,N1)). + '$module_call'(M1,N1). :-non_counted_backtracking call/35. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1) :- @@ -1372,7 +1389,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(L1,K1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1), expand_call_goal(L1,J1,M1), strip_subst_module(M1,J1,N1,O1), - '$call_with_inference_counting'('$module_call'(N1,O1)). + '$module_call'(N1,O1). :-non_counted_backtracking call/36. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1) :- @@ -1385,7 +1402,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(M1,L1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1), expand_call_goal(M1,K1,N1), strip_subst_module(N1,K1,O1,P1), - '$call_with_inference_counting'('$module_call'(O1,P1)). + '$module_call'(O1,P1). :-non_counted_backtracking call/37. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1) :- @@ -1398,7 +1415,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(N1,M1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1), expand_call_goal(N1,L1,O1), strip_subst_module(O1,L1,P1,Q1), - '$call_with_inference_counting'('$module_call'(P1,Q1)). + '$module_call'(P1,Q1). :-non_counted_backtracking call/38. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1) :- @@ -1411,7 +1428,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(O1,N1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1), expand_call_goal(O1,M1,P1), strip_subst_module(P1,M1,Q1,R1), - '$call_with_inference_counting'('$module_call'(Q1,R1)). + '$module_call'(Q1,R1). :-non_counted_backtracking call/39. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1) :- @@ -1424,7 +1441,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(P1,O1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1), expand_call_goal(P1,N1,Q1), strip_subst_module(Q1,N1,R1,S1), - '$call_with_inference_counting'('$module_call'(R1,S1)). + '$module_call'(R1,S1). :-non_counted_backtracking call/40. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1) :- @@ -1437,7 +1454,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(Q1,P1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1), expand_call_goal(Q1,O1,R1), strip_subst_module(R1,O1,S1,T1), - '$call_with_inference_counting'('$module_call'(S1,T1)). + '$module_call'(S1,T1). :-non_counted_backtracking call/41. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1) :- @@ -1450,7 +1467,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(R1,Q1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1), expand_call_goal(R1,P1,S1), strip_subst_module(S1,P1,T1,U1), - '$call_with_inference_counting'('$module_call'(T1,U1)). + '$module_call'(T1,U1). :-non_counted_backtracking call/42. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1) :- @@ -1463,7 +1480,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(S1,R1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1), expand_call_goal(S1,Q1,T1), strip_subst_module(T1,Q1,U1,V1), - '$call_with_inference_counting'('$module_call'(U1,V1)). + '$module_call'(U1,V1). :-non_counted_backtracking call/43. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1) :- @@ -1476,7 +1493,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(T1,S1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1), expand_call_goal(T1,R1,U1), strip_subst_module(U1,R1,V1,W1), - '$call_with_inference_counting'('$module_call'(V1,W1)). + '$module_call'(V1,W1). :-non_counted_backtracking call/44. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1) :- @@ -1489,7 +1506,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(U1,T1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1), expand_call_goal(U1,S1,V1), strip_subst_module(V1,S1,W1,X1), - '$call_with_inference_counting'('$module_call'(W1,X1)). + '$module_call'(W1,X1). :-non_counted_backtracking call/45. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1) :- @@ -1502,7 +1519,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(V1,U1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1), expand_call_goal(V1,T1,W1), strip_subst_module(W1,T1,X1,Y1), - '$call_with_inference_counting'('$module_call'(X1,Y1)). + '$module_call'(X1,Y1). :-non_counted_backtracking call/46. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1) :- @@ -1515,7 +1532,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(W1,V1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1), expand_call_goal(W1,U1,X1), strip_subst_module(X1,U1,Y1,Z1), - '$call_with_inference_counting'('$module_call'(Y1,Z1)). + '$module_call'(Y1,Z1). :-non_counted_backtracking call/47. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1) :- @@ -1528,7 +1545,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(X1,W1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1), expand_call_goal(X1,V1,Y1), strip_subst_module(Y1,V1,Z1,A2), - '$call_with_inference_counting'('$module_call'(Z1,A2)). + '$module_call'(Z1,A2). :-non_counted_backtracking call/48. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1) :- @@ -1541,7 +1558,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(Y1,X1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1), expand_call_goal(Y1,W1,Z1), strip_subst_module(Z1,W1,A2,B2), - '$call_with_inference_counting'('$module_call'(A2,B2)). + '$module_call'(A2,B2). :-non_counted_backtracking call/49. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1) :- @@ -1554,7 +1571,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(Z1,Y1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1), expand_call_goal(Z1,X1,A2), strip_subst_module(A2,X1,B2,C2), - '$call_with_inference_counting'('$module_call'(B2,C2)). + '$module_call'(B2,C2). :-non_counted_backtracking call/50. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1) :- @@ -1567,7 +1584,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(A2,Z1,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1), expand_call_goal(A2,Y1,B2), strip_subst_module(B2,Y1,C2,D2), - '$call_with_inference_counting'('$module_call'(C2,D2)). + '$module_call'(C2,D2). :-non_counted_backtracking call/51. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1) :- @@ -1580,7 +1597,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(B2,A2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1), expand_call_goal(B2,Z1,C2), strip_subst_module(C2,Z1,D2,E2), - '$call_with_inference_counting'('$module_call'(D2,E2)). + '$module_call'(D2,E2). :-non_counted_backtracking call/52. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1) :- @@ -1593,7 +1610,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(C2,B2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1), expand_call_goal(C2,A2,D2), strip_subst_module(D2,A2,E2,F2), - '$call_with_inference_counting'('$module_call'(E2,F2)). + '$module_call'(E2,F2). :-non_counted_backtracking call/53. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2) :- @@ -1606,7 +1623,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(D2,C2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2), expand_call_goal(D2,B2,E2), strip_subst_module(E2,B2,F2,G2), - '$call_with_inference_counting'('$module_call'(F2,G2)). + '$module_call'(F2,G2). :-non_counted_backtracking call/54. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2) :- @@ -1619,7 +1636,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(E2,D2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2), expand_call_goal(E2,C2,F2), strip_subst_module(F2,C2,G2,H2), - '$call_with_inference_counting'('$module_call'(G2,H2)). + '$module_call'(G2,H2). :-non_counted_backtracking call/55. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2) :- @@ -1632,7 +1649,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(F2,E2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2), expand_call_goal(F2,D2,G2), strip_subst_module(G2,D2,H2,I2), - '$call_with_inference_counting'('$module_call'(H2,I2)). + '$module_call'(H2,I2). :-non_counted_backtracking call/56. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2) :- @@ -1645,7 +1662,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(G2,F2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2), expand_call_goal(G2,E2,H2), strip_subst_module(H2,E2,I2,J2), - '$call_with_inference_counting'('$module_call'(I2,J2)). + '$module_call'(I2,J2). :-non_counted_backtracking call/57. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2) :- @@ -1658,7 +1675,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(H2,G2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2), expand_call_goal(H2,F2,I2), strip_subst_module(I2,F2,J2,K2), - '$call_with_inference_counting'('$module_call'(J2,K2)). + '$module_call'(J2,K2). :-non_counted_backtracking call/58. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2) :- @@ -1671,7 +1688,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(I2,H2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2), expand_call_goal(I2,G2,J2), strip_subst_module(J2,G2,K2,L2), - '$call_with_inference_counting'('$module_call'(K2,L2)). + '$module_call'(K2,L2). :-non_counted_backtracking call/59. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2) :- @@ -1684,7 +1701,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(J2,I2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2), expand_call_goal(J2,H2,K2), strip_subst_module(K2,H2,L2,M2), - '$call_with_inference_counting'('$module_call'(L2,M2)). + '$module_call'(L2,M2). :-non_counted_backtracking call/60. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2) :- @@ -1697,7 +1714,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(K2,J2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2), expand_call_goal(K2,I2,L2), strip_subst_module(L2,I2,M2,N2), - '$call_with_inference_counting'('$module_call'(M2,N2)). + '$module_call'(M2,N2). :-non_counted_backtracking call/61. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2) :- @@ -1710,7 +1727,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(L2,K2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2), expand_call_goal(L2,J2,M2), strip_subst_module(M2,J2,N2,O2), - '$call_with_inference_counting'('$module_call'(N2,O2)). + '$module_call'(N2,O2). :-non_counted_backtracking call/62. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2) :- @@ -1723,7 +1740,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(M2,L2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2), expand_call_goal(M2,K2,N2), strip_subst_module(N2,K2,O2,P2), - '$call_with_inference_counting'('$module_call'(O2,P2)). + '$module_call'(O2,P2). :-non_counted_backtracking call/63. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2) :- @@ -1736,7 +1753,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(N2,M2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2), expand_call_goal(N2,L2,O2), strip_subst_module(O2,L2,P2,Q2), - '$call_with_inference_counting'('$module_call'(P2,Q2)). + '$module_call'(P2,Q2). :-non_counted_backtracking call/64. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2,L2) :- @@ -1749,7 +1766,7 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(O2,N2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2,L2), expand_call_goal(O2,M2,P2), strip_subst_module(P2,M2,Q2,R2), - '$call_with_inference_counting'('$module_call'(Q2,R2)). + '$module_call'(Q2,R2). :-non_counted_backtracking call/65. call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2,L2,M2) :- @@ -1762,4 +1779,4 @@ call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1 '$prepare_call_clause'(P2,O2,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2,L2,M2), expand_call_goal(P2,N2,Q2), strip_subst_module(Q2,N2,R2,S2), - '$call_with_inference_counting'('$module_call'(R2,S2)). + '$module_call'(R2,S2). diff --git a/src/machine/arithmetic_ops.rs b/src/machine/arithmetic_ops.rs index da2f28d6..21d46a85 100644 --- a/src/machine/arithmetic_ops.rs +++ b/src/machine/arithmetic_ops.rs @@ -52,9 +52,7 @@ macro_rules! drop_iter_on_err { }; } -fn zero_divisor_eval_error( - stub_gen: impl Fn() -> FunctorStub + 'static, -) -> MachineStubGen { +fn zero_divisor_eval_error(stub_gen: impl Fn() -> FunctorStub + 'static) -> MachineStubGen { Box::new(move |machine_st| { let eval_error = machine_st.evaluation_error(EvalError::ZeroDivisor); let stub = stub_gen(); @@ -63,9 +61,7 @@ fn zero_divisor_eval_error( }) } -fn undefined_eval_error( - stub_gen: impl Fn() -> FunctorStub + 'static, -) -> MachineStubGen { +fn undefined_eval_error(stub_gen: impl Fn() -> FunctorStub + 'static) -> MachineStubGen { Box::new(move |machine_st| { let eval_error = machine_st.evaluation_error(EvalError::Undefined); let stub = stub_gen(); @@ -171,9 +167,7 @@ pub(crate) fn add(lhs: Number, rhs: Number, arena: &mut Arena) -> Result { - Ok(Number::arena_from(&*n1 + &*n2, arena)) - } + | (Number::Rational(n2), Number::Integer(n1)) => Ok(Number::arena_from(&*n1 + &*n2, arena)), (Number::Rational(n1), Number::Float(OrderedFloat(n2))) | (Number::Float(OrderedFloat(n2)), Number::Rational(n1)) => { Ok(Number::Float(add_f(float_r_to_f(&n1)?, n2)?)) @@ -181,9 +175,7 @@ pub(crate) fn add(lhs: Number, rhs: Number, arena: &mut Arena) -> Result { Ok(Number::Float(add_f(f1, f2)?)) } - (Number::Rational(r1), Number::Rational(r2)) => { - Ok(Number::arena_from(&*r1 + &*r2, arena)) - } + (Number::Rational(r1), Number::Rational(r2)) => Ok(Number::arena_from(&*r1 + &*r2, arena)), } } @@ -199,12 +191,12 @@ pub(crate) fn neg(n: Number, arena: &mut Arena) -> Number { Number::Integer(n) => { let n_clone: Integer = (*n).clone(); Number::arena_from(-Integer::from(n_clone), arena) - }, + } Number::Float(OrderedFloat(f)) => Number::Float(OrderedFloat(-f)), Number::Rational(r) => { let r_clone: Rational = (*r).clone(); Number::arena_from(-Rational::from(r_clone), arena) - }, + } } } @@ -221,12 +213,12 @@ pub(crate) fn abs(n: Number, arena: &mut Arena) -> Number { Number::Integer(n) => { let n_clone: Integer = (*n).clone(); Number::arena_from(Integer::from(n_clone.abs()), arena) - }, + } Number::Float(f) => Number::Float(f.abs()), Number::Rational(r) => { let r_clone: Rational = (*r).clone(); Number::arena_from(Rational::from(r_clone.abs()), arena) - }, + } } } @@ -370,7 +362,11 @@ pub(crate) fn int_pow(n1: Number, n2: Number, arena: &mut Arena) -> Result { let n2_i = n2.get_num(); - if !(&*n1 == &Integer::from(1) || &*n1 == &Integer::from(0) || &*n1 == &Integer::from(-1)) && n2_i < 0 { + if !(&*n1 == &Integer::from(1) + || &*n1 == &Integer::from(0) + || &*n1 == &Integer::from(-1)) + && n2_i < 0 + { let n = Number::Integer(n1); Err(numerical_type_error(ValidType::Float, n, stub_gen)) } else { @@ -379,7 +375,11 @@ pub(crate) fn int_pow(n1: Number, n2: Number, arena: &mut Arena) -> Result { - if !(&*n1 == &Integer::from(1) || &*n1 == &Integer::from(0) || &*n1 == &Integer::from(-1)) && &*n2 < &Integer::from(0) { + if !(&*n1 == &Integer::from(1) + || &*n1 == &Integer::from(0) + || &*n1 == &Integer::from(-1)) + && &*n2 < &Integer::from(0) + { let n = Number::Integer(n1); Err(numerical_type_error(ValidType::Float, n, stub_gen)) } else { @@ -554,7 +554,7 @@ pub fn rational_from_number( Number::Integer(n) => { let n_clone: Integer = (*n).clone(); Ok(arena_alloc!(Rational::from(n_clone), arena)) - }, + } } } @@ -661,7 +661,7 @@ pub(crate) fn shr(n1: Number, n2: Number, arena: &mut Arena) -> Result> n2, arena)); - } else { + } else { return Ok(Number::arena_from(n1 >> usize::max_value(), arena)); } } @@ -681,9 +681,10 @@ pub(crate) fn shr(n1: Number, n2: Number, arena: &mut Arena) -> Result match usize::try_from(n2.get_num()) { Ok(n2) => Ok(Number::arena_from(Integer::from(&*n1 >> n2), arena)), - _ => { - Ok(Number::arena_from(Integer::from(&*n1 >> usize::max_value()),arena)) - }, + _ => Ok(Number::arena_from( + Integer::from(&*n1 >> usize::max_value()), + arena, + )), }, (Number::Integer(n1), Number::Integer(n2)) => { let result: Result = (&*n2).try_into(); @@ -722,7 +723,7 @@ pub(crate) fn shl(n1: Number, n2: Number, arena: &mut Arena) -> Result Result match usize::try_from(n2.get_num()) { Ok(n2) => Ok(Number::arena_from(Integer::from(&*n1 << n2), arena)), - _ => { - Ok(Number::arena_from(Integer::from(&*n1 << usize::max_value()),arena)) - } + _ => Ok(Number::arena_from( + Integer::from(&*n1 << usize::max_value()), + arena, + )), }, (Number::Integer(n1), Number::Integer(n2)) => match (&*n2).try_into() as Result { Ok(n2) => { @@ -967,10 +969,7 @@ pub(crate) fn gcd(n1: Number, n2: Number, arena: &mut Arena) -> Result { @@ -1069,12 +1068,14 @@ pub(crate) fn atanh(n1: Number) -> Result { let f1 = try_numeric_result!(result_f(&n1), stub_gen)?; - try_numeric_result!(if f1 == 1.0 || f1 == -1.0 { - Err(EvalError::Undefined) - } else { - result_f(&Number::Float(OrderedFloat(f1.atanh()))) - }, - stub_gen) + try_numeric_result!( + if f1 == 1.0 || f1 == -1.0 { + Err(EvalError::Undefined) + } else { + result_f(&Number::Float(OrderedFloat(f1.atanh()))) + }, + stub_gen + ) } #[inline] @@ -1126,7 +1127,6 @@ pub(crate) fn floor(n1: Number, arena: &mut Arena) -> Number { rnd_i(&n1, arena) } - #[inline] pub(crate) fn ceiling(n1: Number, arena: &mut Arena) -> Number { let n1 = neg(n1, arena); @@ -1179,16 +1179,17 @@ impl MachineState { pub fn get_number(&mut self, at: &ArithmeticTerm) -> Result { match at { &ArithmeticTerm::Reg(r) => { - let value = self.store(self.deref(self[r])); + let value = self.store(self.deref(self[r])); match Number::try_from(value) { Ok(n) => Ok(n), Err(_) => self.arith_eval_by_metacall(value), } } - &ArithmeticTerm::Interm(i) => { - Ok(mem::replace(&mut self.interms[i - 1], Number::Fixnum(Fixnum::build_with(0)))) - } + &ArithmeticTerm::Interm(i) => Ok(mem::replace( + &mut self.interms[i - 1], + Number::Fixnum(Fixnum::build_with(0)), + )), &ArithmeticTerm::Number(n) => Ok(n), } } @@ -1202,11 +1203,14 @@ impl MachineState { match rational_from_number(n, caller, &mut self.arena) { Ok(r) => Ok(r), - Err(e_gen) => Err(e_gen(self)) + Err(e_gen) => Err(e_gen(self)), } } - pub(crate) fn arith_eval_by_metacall(&mut self, value: HeapCellValue) -> Result { + pub(crate) fn arith_eval_by_metacall( + &mut self, + value: HeapCellValue, + ) -> Result { let stub_gen = || functor_stub(atom!("is"), 2); let mut iter = stackful_post_order_iter(&mut self.heap, &mut self.stack, value); @@ -1512,26 +1516,11 @@ mod tests { let mut wam = MachineState::new(); let mut op_dir = default_op_dir(); - op_dir.insert( - (atom!("+"), Fixity::In), - OpDesc::build_with(500, YFX as u8), - ); - op_dir.insert( - (atom!("-"), Fixity::In), - OpDesc::build_with(500, YFX as u8), - ); - op_dir.insert( - (atom!("-"), Fixity::Pre), - OpDesc::build_with(200, FY as u8), - ); - op_dir.insert( - (atom!("*"), Fixity::In), - OpDesc::build_with(400, YFX as u8), - ); - op_dir.insert( - (atom!("/"), Fixity::In), - OpDesc::build_with(400, YFX as u8), - ); + op_dir.insert((atom!("+"), Fixity::In), OpDesc::build_with(500, YFX as u8)); + op_dir.insert((atom!("-"), Fixity::In), OpDesc::build_with(500, YFX as u8)); + op_dir.insert((atom!("-"), Fixity::Pre), OpDesc::build_with(200, FY as u8)); + op_dir.insert((atom!("*"), Fixity::In), OpDesc::build_with(400, YFX as u8)); + op_dir.insert((atom!("/"), Fixity::In), OpDesc::build_with(400, YFX as u8)); let term_write_result = parse_and_write_parsed_term_to_heap(&mut wam, "3 + 4 - 1 + 2.", &op_dir).unwrap(); diff --git a/src/machine/attributed_variables.rs b/src/machine/attributed_variables.rs index 633378a0..0b08e8bb 100644 --- a/src/machine/attributed_variables.rs +++ b/src/machine/attributed_variables.rs @@ -118,12 +118,9 @@ impl MachineState { and_frame[i] = self.registers[i]; } - and_frame[arity + 1] = - fixnum_as_cell!(Fixnum::build_with(self.b0 as i64)); - and_frame[arity + 2] = - fixnum_as_cell!(Fixnum::build_with(self.num_of_args as i64)); - and_frame[arity + 3] = - fixnum_as_cell!(Fixnum::build_with(self.attr_var_init.cp as i64)); + and_frame[arity + 1] = fixnum_as_cell!(Fixnum::build_with(self.b0 as i64)); + and_frame[arity + 2] = fixnum_as_cell!(Fixnum::build_with(self.num_of_args as i64)); + and_frame[arity + 3] = fixnum_as_cell!(Fixnum::build_with(self.attr_var_init.cp as i64)); self.verify_attributes(); diff --git a/src/machine/code_walker.rs b/src/machine/code_walker.rs index c2032727..84f4cc93 100644 --- a/src/machine/code_walker.rs +++ b/src/machine/code_walker.rs @@ -8,7 +8,9 @@ fn capture_offset(line: &Instruction, index: usize, stack: &mut Vec) -> b &Instruction::TryMeElse(offset) if offset > 0 => { stack.push(index + offset); } - &Instruction::DefaultRetryMeElse(offset) | &Instruction::RetryMeElse(offset) if offset > 0 => { + &Instruction::DefaultRetryMeElse(offset) | &Instruction::RetryMeElse(offset) + if offset > 0 => + { stack.push(index + offset); } &Instruction::DynamicElse(_, _, NextOrFail::Next(offset)) if offset > 0 => { diff --git a/src/machine/compile.rs b/src/machine/compile.rs index a3575c7f..170bffaf 100644 --- a/src/machine/compile.rs +++ b/src/machine/compile.rs @@ -28,17 +28,15 @@ pub(super) fn bootstrapping_compile( ) -> Result<(), SessionError> { let (wam_prelude, machine_st) = wam.prelude_view_and_machine_st(); - let term_stream = BootstrappingTermStream::from_char_reader( - stream, - machine_st, - listing_src, - ); + let term_stream = BootstrappingTermStream::from_char_reader(stream, machine_st, listing_src); - let payload = BootstrappingLoadState( - LoadStatePayload::new(wam_prelude.code.len(), term_stream) - ); + let payload = + BootstrappingLoadState(LoadStatePayload::new(wam_prelude.code.len(), term_stream)); - let loader: Loader<'_, BootstrappingLoadState> = Loader { payload, wam_prelude }; + let loader: Loader<'_, BootstrappingLoadState> = Loader { + payload, + wam_prelude, + }; loader.load()?; Ok(()) @@ -98,8 +96,8 @@ fn derelictize_try_me_else( retraction_info.push_record(RetractionRecord::ReplacedDynamicElseOffset(index, *o)); Some(mem::replace(o, 0)) } - Instruction::DynamicElse(_, _, NextOrFail::Fail(_)) | - Instruction::DynamicInternalElse(_, _, NextOrFail::Fail(_)) => None, + Instruction::DynamicElse(_, _, NextOrFail::Fail(_)) + | Instruction::DynamicInternalElse(_, _, NextOrFail::Fail(_)) => None, Instruction::TryMeElse(0) => None, Instruction::TryMeElse(ref mut o) => { retraction_info.push_record(RetractionRecord::ModifiedTryMeElse(index, *o)); @@ -154,8 +152,8 @@ fn merge_indices( fn find_outer_choice_instr(code: &Code, mut index: usize) -> usize { loop { match &code[index] { - Instruction::DynamicElse(_, _, NextOrFail::Next(i)) | - Instruction::DynamicInternalElse(_, _, NextOrFail::Next(i)) + Instruction::DynamicElse(_, _, NextOrFail::Next(i)) + | Instruction::DynamicInternalElse(_, _, NextOrFail::Next(i)) if *i > 0 => { index += i; @@ -170,42 +168,37 @@ fn find_outer_choice_instr(code: &Code, mut index: usize) -> usize { fn find_inner_choice_instr(code: &Code, mut index: usize, index_loc: usize) -> usize { loop { match &code[index] { - Instruction::TryMeElse(o) | - Instruction::RetryMeElse(o) => { + Instruction::TryMeElse(o) | Instruction::RetryMeElse(o) => { if *o > 0 { return index; } else { index = index_loc; } } - &Instruction::DynamicElse(_, _, next_or_fail) => { - match next_or_fail { - NextOrFail::Next(i) => { - if i == 0 { - index = index_loc; - } else { - return index; - } - } - NextOrFail::Fail(_) => { + &Instruction::DynamicElse(_, _, next_or_fail) => match next_or_fail { + NextOrFail::Next(i) => { + if i == 0 { index = index_loc; - } - } - } - &Instruction::DynamicInternalElse(_, _, next_or_fail) => { - match next_or_fail { - NextOrFail::Next(i) => { - if i == 0 { - index = index_loc; - } else { - return index; - } - } - NextOrFail::Fail(_) => { + } else { return index; } } - } + NextOrFail::Fail(_) => { + index = index_loc; + } + }, + &Instruction::DynamicInternalElse(_, _, next_or_fail) => match next_or_fail { + NextOrFail::Next(i) => { + if i == 0 { + index = index_loc; + } else { + return index; + } + } + NextOrFail::Fail(_) => { + return index; + } + }, Instruction::TrustMe(_) => { return index; } @@ -215,11 +208,7 @@ fn find_inner_choice_instr(code: &Code, mut index: usize, index_loc: usize) -> u index += v; } IndexingCodePtr::DynamicExternal(v) => match &code[index + v] { - &Instruction::DynamicInternalElse( - _, - _, - NextOrFail::Next(0), - ) => { + &Instruction::DynamicInternalElse(_, _, NextOrFail::Next(0)) => { return index + v; } _ => { @@ -309,8 +298,7 @@ fn merge_indexed_subsequences( code[inner_try_me_else_loc] = Instruction::TrustMe(o); } _ => { - code[inner_try_me_else_loc] = - Instruction::RetryMeElse(o); + code[inner_try_me_else_loc] = Instruction::RetryMeElse(o); } }, } @@ -376,7 +364,9 @@ fn delete_from_skeleton( } if skeleton.core.is_dynamic { - skeleton.core.add_retracted_dynamic_clause_info(clause_index_info); + skeleton + .core + .add_retracted_dynamic_clause_info(clause_index_info); retraction_info.push_record(RetractionRecord::RemovedDynamicSkeletonClause( compilation_target, @@ -409,8 +399,8 @@ fn blunt_leading_choice_instr( code[instr_loc] = Instruction::TryMeElse(*o); return instr_loc; } - Instruction::DynamicElse(_, _, NextOrFail::Next(_)) | - Instruction::DynamicInternalElse(_, _, NextOrFail::Next(_)) => { + Instruction::DynamicElse(_, _, NextOrFail::Next(_)) + | Instruction::DynamicInternalElse(_, _, NextOrFail::Next(_)) => { return instr_loc; } &mut Instruction::DynamicElse(b, d, NextOrFail::Fail(o)) => { @@ -422,26 +412,19 @@ fn blunt_leading_choice_instr( code[instr_loc] = Instruction::DynamicElse(b, d, NextOrFail::Next(0)); return instr_loc; } - &mut Instruction::DynamicInternalElse( - b, - d, - NextOrFail::Fail(o), - ) => { + &mut Instruction::DynamicInternalElse(b, d, NextOrFail::Fail(o)) => { retraction_info.push_record(RetractionRecord::AppendedNextOrFail( instr_loc, NextOrFail::Fail(o), )); - code[instr_loc] = Instruction::DynamicInternalElse( - b, - d, - NextOrFail::Next(0), - ); + code[instr_loc] = Instruction::DynamicInternalElse(b, d, NextOrFail::Next(0)); return instr_loc; } Instruction::TrustMe(o) => { - retraction_info.push_record(RetractionRecord::AppendedTrustMe(instr_loc, *o, false)); + retraction_info + .push_record(RetractionRecord::AppendedTrustMe(instr_loc, *o, false)); code[instr_loc] = Instruction::TryMeElse(0); return instr_loc + 1; @@ -481,9 +464,9 @@ fn set_switch_var_offset_to_choice_instr( }; match &code[index_loc + v] { - Instruction::TryMeElse(_) | - Instruction::DynamicElse(..) | - Instruction::DynamicInternalElse(..) => {} + Instruction::TryMeElse(_) + | Instruction::DynamicElse(..) + | Instruction::DynamicInternalElse(..) => {} _ => { set_switch_var_offset(code, index_loc, offset, retraction_info); } @@ -523,9 +506,8 @@ fn internalize_choice_instr_at( retraction_info: &mut RetractionInfo, ) { match &mut code[instr_loc] { - Instruction::DynamicElse(_, _, NextOrFail::Fail(_)) | - Instruction::DynamicInternalElse(_, _, NextOrFail::Fail(_)) => { - } + Instruction::DynamicElse(_, _, NextOrFail::Fail(_)) + | Instruction::DynamicInternalElse(_, _, NextOrFail::Fail(_)) => {} Instruction::DynamicElse(_, _, ref mut o @ NextOrFail::Next(0)) => { retraction_info.push_record(RetractionRecord::ReplacedDynamicElseOffset(instr_loc, 0)); *o = NextOrFail::Fail(0); @@ -554,18 +536,10 @@ fn internalize_choice_instr_at( match &mut code[instr_loc + o] { Instruction::RevJmpBy(p) if *p == 0 => { - code[instr_loc] = Instruction::DynamicInternalElse( - b, - d, - NextOrFail::Fail(o), - ); + code[instr_loc] = Instruction::DynamicInternalElse(b, d, NextOrFail::Fail(o)); } _ => { - code[instr_loc] = Instruction::DynamicInternalElse( - b, - d, - NextOrFail::Next(o), - ); + code[instr_loc] = Instruction::DynamicInternalElse(b, d, NextOrFail::Next(o)); } } } @@ -609,23 +583,20 @@ fn thread_choice_instr_at_to( *o = target_loc - instr_loc; return; } - Instruction::DynamicElse(_, _, NextOrFail::Next(ref mut o)) | - Instruction::DynamicInternalElse( - _, - _, - NextOrFail::Next(ref mut o), - ) if target_loc >= instr_loc => { + Instruction::DynamicElse(_, _, NextOrFail::Next(ref mut o)) + | Instruction::DynamicInternalElse(_, _, NextOrFail::Next(ref mut o)) + if target_loc >= instr_loc => + { retraction_info .push_record(RetractionRecord::ReplacedDynamicElseOffset(instr_loc, *o)); *o = target_loc - instr_loc; return; } - Instruction::DynamicElse(_, _, NextOrFail::Next(o)) | - Instruction::DynamicInternalElse(_, _, NextOrFail::Next(o)) => { + Instruction::DynamicElse(_, _, NextOrFail::Next(o)) + | Instruction::DynamicInternalElse(_, _, NextOrFail::Next(o)) => { instr_loc += *o; } - Instruction::TryMeElse(o) - | Instruction::RetryMeElse(o) => { + Instruction::TryMeElse(o) | Instruction::RetryMeElse(o) => { instr_loc += *o; } Instruction::RevJmpBy(ref mut o) if instr_loc >= target_loc => { @@ -642,7 +613,8 @@ fn thread_choice_instr_at_to( { retraction_info.push_record(RetractionRecord::AppendedNextOrFail(instr_loc, *fail)); - code[instr_loc] = instr!("dynamic_else", + code[instr_loc] = instr!( + "dynamic_else", birth, death, NextOrFail::Next(target_loc - instr_loc) @@ -653,14 +625,13 @@ fn thread_choice_instr_at_to( Instruction::DynamicElse(_, _, NextOrFail::Fail(o)) if *o > 0 => { instr_loc += *o; } - &mut Instruction::DynamicInternalElse( - birth, - death, - ref mut fail, - ) if target_loc >= instr_loc => { + &mut Instruction::DynamicInternalElse(birth, death, ref mut fail) + if target_loc >= instr_loc => + { retraction_info.push_record(RetractionRecord::AppendedNextOrFail(instr_loc, *fail)); - code[instr_loc] = instr!("dynamic_internal_else", + code[instr_loc] = instr!( + "dynamic_internal_else", birth, death, NextOrFail::Next(target_loc - instr_loc) @@ -668,9 +639,7 @@ fn thread_choice_instr_at_to( return; } - Instruction::DynamicInternalElse(_, _, NextOrFail::Fail(o)) - if *o > 0 => - { + Instruction::DynamicInternalElse(_, _, NextOrFail::Fail(o)) if *o > 0 => { instr_loc += *o; } Instruction::TrustMe(ref mut o) if target_loc >= instr_loc => { @@ -711,33 +680,31 @@ fn remove_non_leading_clause( None } - Instruction::TrustMe(_) => { - match &mut code[preceding_choice_instr_loc] { - Instruction::RetryMeElse(o) => { - retraction_info.push_record(RetractionRecord::ModifiedRetryMeElse( - preceding_choice_instr_loc, - *o, - )); + Instruction::TrustMe(_) => match &mut code[preceding_choice_instr_loc] { + Instruction::RetryMeElse(o) => { + retraction_info.push_record(RetractionRecord::ModifiedRetryMeElse( + preceding_choice_instr_loc, + *o, + )); - code[preceding_choice_instr_loc] = Instruction::TrustMe(0); + code[preceding_choice_instr_loc] = Instruction::TrustMe(0); - None - } - Instruction::TryMeElse(ref mut o) => { - retraction_info.push_record(RetractionRecord::ModifiedTryMeElse( - preceding_choice_instr_loc, - *o, - )); - - *o = 0; - - Some(IndexPtr::index(preceding_choice_instr_loc + 1)) - } - _ => { - unreachable!(); - } + None } - } + Instruction::TryMeElse(ref mut o) => { + retraction_info.push_record(RetractionRecord::ModifiedTryMeElse( + preceding_choice_instr_loc, + *o, + )); + + *o = 0; + + Some(IndexPtr::index(preceding_choice_instr_loc + 1)) + } + _ => { + unreachable!(); + } + }, _ => { unreachable!(); } @@ -988,11 +955,7 @@ fn prepend_compiled_clause( Instruction::TryMeElse(ref mut o) if *o == 0 => { *o = prepend_queue_len - 2; } - Instruction::DynamicInternalElse( - _, - _, - ref mut o @ NextOrFail::Next(0), - ) => { + Instruction::DynamicInternalElse(_, _, ref mut o @ NextOrFail::Next(0)) => { *o = NextOrFail::Fail(prepend_queue_len - 2); } _ => { @@ -1258,7 +1221,11 @@ fn print_overwrite_warning( _ => {} } - println!("Warning: overwriting {}/{} because the clauses are discontiguous", key.0.as_str(), key.1); + println!( + "Warning: overwriting {}/{} because the clauses are discontiguous", + key.0.as_str(), + key.1 + ); } impl<'a, LS: LoadState<'a>> Loader<'a, LS> { @@ -1270,8 +1237,9 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { if let Some(path_str) = load_context.path.to_str() { if !path_str.is_empty() { - return Some(LS::machine_st(&mut self.payload).atom_tbl.build_with( - path_str + return Some(AtomTable::build_with( + &LS::machine_st(&mut self.payload).atom_tbl, + path_str, )); } } @@ -1290,10 +1258,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let clause = self.try_term_to_tl(term, &mut preprocessor)?; // let queue = preprocessor.parse_queue(self)?; - let mut cg = CodeGenerator::new( - &mut LS::machine_st(&mut self.payload).atom_tbl, - settings, - ); + let mut cg = CodeGenerator::new(&LS::machine_st(&mut self.payload).atom_tbl, settings); let clause_code = cg.compile_predicate(vec![clause])?; @@ -1323,10 +1288,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { clauses.push(self.try_term_to_tl(term, &mut preprocessor)?); } - let mut cg = CodeGenerator::new( - &mut LS::machine_st(&mut self.payload).atom_tbl, - settings, - ); + let mut cg = CodeGenerator::new(&LS::machine_st(&mut self.payload).atom_tbl, settings); let mut code = cg.compile_predicate(clauses)?; @@ -1361,26 +1323,23 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { .clause_clause_locs .extend(&clause_clause_locs.make_contiguous()[0..]); - self.payload.retraction_info - .push_record(RetractionRecord::SkeletonClauseTruncateBack( + self.payload.retraction_info.push_record( + RetractionRecord::SkeletonClauseTruncateBack( predicates.compilation_target, key, skeleton_clause_len, - )); + ), + ); } None => { cg.skeleton - .core - .clause_clause_locs - .extend(&clause_clause_locs.make_contiguous()[0..]); + .core + .clause_clause_locs + .extend(&clause_clause_locs.make_contiguous()[0..]); let skeleton = cg.skeleton; - self.add_extensible_predicate( - key, - skeleton, - predicates.compilation_target, - ); + self.add_extensible_predicate(key, skeleton, predicates.compilation_target); } }; @@ -1450,11 +1409,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let mut skeleton = LocalPredicateSkeleton::new(); skeleton.clause_clause_locs = clause_clause_locs; - self.add_local_extensible_predicate( - *compilation_target, - *key, - skeleton, - ); + self.add_local_extensible_predicate(*compilation_target, *key, skeleton); } } } @@ -1490,11 +1445,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let mut skeleton = LocalPredicateSkeleton::new(); skeleton.clause_clause_locs.push_front(code_len); - self.add_local_extensible_predicate( - *compilation_target, - *key, - skeleton, - ); + self.add_local_extensible_predicate(*compilation_target, *key, skeleton); } } } @@ -1530,11 +1481,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let mut skeleton = LocalPredicateSkeleton::new(); skeleton.clause_clause_locs.push_back(code_len); - self.add_local_extensible_predicate( - *compilation_target, - *key, - skeleton, - ); + self.add_local_extensible_predicate(*compilation_target, *key, skeleton); } } } @@ -1606,7 +1553,8 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { skeleton.core.clause_clause_locs.push_back(code_len); - self.payload.retraction_info + self.payload + .retraction_info .push_record(RetractionRecord::SkeletonClausePopBack( compilation_target, key, @@ -1624,8 +1572,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { self.push_back_to_local_predicate_skeleton(&compilation_target, &key, code_len); - let code_index = - self.get_or_insert_code_index(key, compilation_target); + let code_index = self.get_or_insert_code_index(key, compilation_target); if let Some(new_code_ptr) = result { set_code_index( @@ -1646,7 +1593,8 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { skeleton.core.clause_clause_locs.push_front(code_len); skeleton.core.clause_assert_margin += 1; - self.payload.retraction_info + self.payload + .retraction_info .push_record(RetractionRecord::SkeletonClausePopFront( compilation_target, key, @@ -1666,8 +1614,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { self.push_front_to_local_predicate_skeleton(&compilation_target, &key, code_len); - let code_index = - self.get_or_insert_code_index(key, compilation_target); + let code_index = self.get_or_insert_code_index(key, compilation_target); set_code_index( &mut self.payload.retraction_info, @@ -1698,19 +1645,17 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { .opt_arg_index_key .switch_on_term_loc() { - Some(index_loc) => { - find_inner_choice_instr( - &self.wam_prelude.code, - skeleton.clauses[target_pos].clause_start, - index_loc, - ) - } + Some(index_loc) => find_inner_choice_instr( + &self.wam_prelude.code, + skeleton.clauses[target_pos].clause_start, + index_loc, + ), None => skeleton.clauses[target_pos].clause_start, }; match &mut self.wam_prelude.code[clause_loc] { - Instruction::DynamicElse(_, ref mut d, _) | - Instruction::DynamicInternalElse(_, ref mut d, _) => { + Instruction::DynamicElse(_, ref mut d, _) + | Instruction::DynamicInternalElse(_, ref mut d, _) => { *d = Death::Finite(LS::machine_st(&mut self.payload).global_clock); } _ => unreachable!(), @@ -1797,11 +1742,11 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { skeleton.clauses[target_pos + 1].clause_start = skeleton.clauses[target_pos].clause_start; - let update_code_index = target_pos == 0 && - skeleton.clauses[target_pos + 1] - .opt_arg_index_key - .switch_on_term_loc() - .is_none(); + let update_code_index = target_pos == 0 + && skeleton.clauses[target_pos + 1] + .opt_arg_index_key + .switch_on_term_loc() + .is_none(); let index_ptr_opt = if update_code_index { Some(IndexPtr::index(clause_loc)) @@ -1964,7 +1909,8 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { index_loc, ); - let lower_bound_clause_start = skeleton.clauses[lower_bound].clause_start; + let lower_bound_clause_start = + skeleton.clauses[lower_bound].clause_start; let preceding_choice_instr_loc; match &mut code[clause_start] { @@ -2093,13 +2039,8 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { clause_clauses: ClauseIter, append_or_prepend: AppendOrPrepend, ) -> Result<(), SessionError> { - let clause_predicates = clause_clauses.map(|(head, body)| { - Term::Clause( - Cell::default(), - atom!("$clause"), - vec![head, body], - ) - }); + let clause_predicates = clause_clauses + .map(|(head, body)| Term::Clause(Cell::default(), atom!("$clause"), vec![head, body])); let clause_clause_compilation_target = match compilation_target { CompilationTarget::User => CompilationTarget::Module(atom!("builtins")), @@ -2132,21 +2073,21 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { .cloned() .collect() } - Some(skeleton) => { - skeleton.core.clause_clause_locs.make_contiguous()[0..num_clause_predicates] - .iter() - .cloned() - .collect() - } + Some(skeleton) => skeleton.core.clause_clause_locs.make_contiguous() + [0..num_clause_predicates] + .iter() + .cloned() + .collect(), None => { unreachable!() } }; - match self.wam_prelude.indices.get_predicate_skeleton_mut( - &clause_clause_compilation_target, - &(atom!("$clause"), 2), - ) { + match self + .wam_prelude + .indices + .get_predicate_skeleton_mut(&clause_clause_compilation_target, &(atom!("$clause"), 2)) + { Some(skeleton) if append_or_prepend.is_append() => { for _ in 0..num_clause_predicates { skeleton.core.clause_clause_locs.pop_back(); @@ -2270,25 +2211,25 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { println!( "Warning: overwriting multifile predicate {}:{}/{} because \ it was not locally declared multifile.", - self.payload.predicates.compilation_target, key.0.as_str(), key.1 + self.payload.predicates.compilation_target, + key.0.as_str(), + key.1 ); } - if let Some(skeleton) = self - .wam_prelude - .indices - .remove_predicate_skeleton(&self.payload.predicates.compilation_target, &key) - { + if let Some(skeleton) = self.wam_prelude.indices.remove_predicate_skeleton( + &self.payload.predicates.compilation_target, + &key, + ) { let compilation_target = self.payload.predicates.compilation_target; if predicate_info.is_dynamic { - let clause_clause_compilation_target = - match compilation_target { - CompilationTarget::User => { - CompilationTarget::Module(atom!("builtins")) - } - module => module, - }; + let clause_clause_compilation_target = match compilation_target { + CompilationTarget::User => { + CompilationTarget::Module(atom!("builtins")) + } + module => module, + }; self.retract_local_clauses_by_locs( clause_clause_compilation_target, @@ -2301,11 +2242,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { } self.payload.retraction_info.push_record( - RetractionRecord::RemovedSkeleton( - compilation_target, - key, - skeleton, - ), + RetractionRecord::RemovedSkeleton(compilation_target, key, skeleton), ); } } @@ -2328,9 +2265,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { match self.wam_prelude.indices.modules.get_mut(&filename) { Some(ref mut module) => { let index_ptr = code_index.get(); - let code_index = module.code_dir.entry(key) - .or_insert(code_index) - .clone(); + let code_index = module.code_dir.entry(key).or_insert(code_index).clone(); set_code_index( &mut self.payload.retraction_info, @@ -2349,8 +2284,10 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { LS::machine_st(&mut self.payload).global_clock += 1; let clause_clauses_len = self.payload.clause_clauses.len(); - let clauses_vec: Vec<_> = self.payload - .clause_clauses.drain(0..std::cmp::min(predicates_len, clause_clauses_len)) + let clauses_vec: Vec<_> = self + .payload + .clause_clauses + .drain(0..std::cmp::min(predicates_len, clause_clauses_len)) .collect(); let compilation_target = self.payload.predicates.compilation_target; @@ -2374,10 +2311,7 @@ impl Machine { module_name: HeapCellValue, key: PredicateKey, ) -> CodeIndex { - let mut loader: Loader<'_, InlineLoadState<'_>> = Loader::new( - self, - InlineTermStream {}, - ); + let mut loader: Loader<'_, InlineLoadState<'_>> = Loader::new(self, InlineTermStream {}); let module_name = if module_name.get_tag() == HeapCellValueTag::Atom { cell_as_atom!(module_name) @@ -2394,10 +2328,8 @@ impl Machine { vars: &[Term], ) -> Result<(), SessionError> { let mut compile = || { - let mut loader: Loader<'_, InlineLoadState<'_>> = Loader::new( - self, - InlineTermStream {}, - ); + let mut loader: Loader<'_, InlineLoadState<'_>> = + Loader::new(self, InlineTermStream {}); let term = loader.read_term_from_heap(term_loc)?; let clause = build_rule_body(vars, term); diff --git a/src/machine/copier.rs b/src/machine/copier.rs index 23330fd5..01f7e8bd 100644 --- a/src/machine/copier.rs +++ b/src/machine/copier.rs @@ -91,12 +91,16 @@ impl CopyTermState { self.target.push(hcv); } - let cdr = self.target.store(self.target.deref(heap_loc_as_cell!(addr + 1))); + let cdr = self + .target + .store(self.target.deref(heap_loc_as_cell!(addr + 1))); if !cdr.is_var() { self.trail_list_cell(addr + 1, threshold); } else { - let car = self.target.store(self.target.deref(heap_loc_as_cell!(addr))); + let car = self + .target + .store(self.target.deref(heap_loc_as_cell!(addr))); if !car.is_var() { self.trail_list_cell(addr, threshold); @@ -188,10 +192,10 @@ impl CopyTermState { while let HeapCellValueTag::Lis = list_addr.get_tag() { let threshold = self.target.threshold(); let heap_loc = list_addr.get_value() as usize; - let str_loc = self.target[heap_loc].get_value() as usize; + let str_loc = self.target[heap_loc].get_value() as usize; - self.target.push(heap_loc_as_cell!(threshold+2)); - self.target.push(heap_loc_as_cell!(threshold+1)); + self.target.push(heap_loc_as_cell!(threshold + 2)); + self.target.push(heap_loc_as_cell!(threshold + 1)); read_heap_cell!(self.target[str_loc], (HeapCellValueTag::Atom) => { @@ -377,8 +381,9 @@ mod tests { let a_atom = atom!("a"); let b_atom = atom!("b"); - wam.machine_st.heap - .extend(functor!(f_atom, [atom(a_atom), atom(b_atom)])); + wam.machine_st + .heap + .extend(functor!(f_atom, [atom(a_atom), atom(b_atom)])); assert_eq!(wam.machine_st.heap[0], atom_as_cell!(f_atom, 2)); assert_eq!(wam.machine_st.heap[1], atom_as_cell!(a_atom)); @@ -401,20 +406,26 @@ mod tests { wam.machine_st.heap.clear(); - let pstr_var_cell = put_partial_string(&mut wam.machine_st.heap, "abc ", &mut wam.machine_st.atom_tbl); + let pstr_var_cell = + put_partial_string(&mut wam.machine_st.heap, "abc ", &wam.machine_st.atom_tbl); let pstr_cell = wam.machine_st.heap[pstr_var_cell.get_value() as usize]; wam.machine_st.heap.pop(); wam.machine_st.heap.push(pstr_loc_as_cell!(2)); - let pstr_second_var_cell = put_partial_string(&mut wam.machine_st.heap, "def", &mut wam.machine_st.atom_tbl); + let pstr_second_var_cell = + put_partial_string(&mut wam.machine_st.heap, "def", &wam.machine_st.atom_tbl); let pstr_second_cell = wam.machine_st.heap[pstr_second_var_cell.get_value() as usize]; wam.machine_st.heap.pop(); - wam.machine_st.heap.push(pstr_loc_as_cell!(wam.machine_st.heap.len() + 1)); + wam.machine_st + .heap + .push(pstr_loc_as_cell!(wam.machine_st.heap.len() + 1)); wam.machine_st.heap.push(pstr_offset_as_cell!(0)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(0i64))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(0i64))); { let wam = TermCopyingMockWAM { wam: &mut wam }; @@ -428,14 +439,20 @@ mod tests { assert_eq!(wam.machine_st.heap[2], pstr_second_cell); assert_eq!(wam.machine_st.heap[3], pstr_loc_as_cell!(4)); assert_eq!(wam.machine_st.heap[4], pstr_offset_as_cell!(0)); - assert_eq!(wam.machine_st.heap[5], fixnum_as_cell!(Fixnum::build_with(0i64))); + assert_eq!( + wam.machine_st.heap[5], + fixnum_as_cell!(Fixnum::build_with(0i64)) + ); assert_eq!(wam.machine_st.heap[7], pstr_cell); assert_eq!(wam.machine_st.heap[8], pstr_loc_as_cell!(9)); assert_eq!(wam.machine_st.heap[9], pstr_second_cell); assert_eq!(wam.machine_st.heap[10], pstr_loc_as_cell!(11)); assert_eq!(wam.machine_st.heap[11], pstr_offset_as_cell!(7)); - assert_eq!(wam.machine_st.heap[12], fixnum_as_cell!(Fixnum::build_with(0i64))); + assert_eq!( + wam.machine_st.heap[12], + fixnum_as_cell!(Fixnum::build_with(0i64)) + ); wam.machine_st.heap.clear(); diff --git a/src/machine/disjuncts.rs b/src/machine/disjuncts.rs index 96da0a8d..a8a01d36 100644 --- a/src/machine/disjuncts.rs +++ b/src/machine/disjuncts.rs @@ -74,7 +74,7 @@ impl BranchNumber { fn halve_delta(&self) -> BranchNumber { BranchNumber { branch_num: self.branch_num.clone(), - delta : &self.delta / Rational::from(2), + delta: &self.delta / Rational::from(2), } } } @@ -108,7 +108,10 @@ pub struct BranchInfo { impl BranchInfo { fn new(branch_num: BranchNumber) -> Self { - Self { branch_num, chunks: vec![] } + Self { + branch_num, + chunks: vec![], + } } } @@ -149,11 +152,11 @@ enum TraversalState { // where it leaves off. BuildFinalDisjunct(usize), Fail, - GetCutPoint{ var_num: usize, prev_b: bool }, + GetCutPoint { var_num: usize, prev_b: bool }, Cut { var_num: usize, is_global: bool }, ResetCallPolicy(CallPolicy), Term(Term), - RemoveBranchNum, // pop the current_branch_num and from the root set. + RemoveBranchNum, // pop the current_branch_num and from the root set. AddBranchNum(BranchNumber), // set current_branch_num, add it to the root set RepBranchNum(BranchNumber), // replace current_branch_num and the latest in the root set } @@ -179,22 +182,22 @@ pub struct VarData { impl VarData { fn emit_initial_get_level(&mut self, build_stack: &mut ChunkedTermVec) { - let global_cut_var_num = - if let &Some(global_cut_var_num) = &self.global_cut_var_num { - match &self.records[global_cut_var_num].allocation { - VarAlloc::Perm(..) => Some(global_cut_var_num), - VarAlloc::Temp { term_loc, .. } if term_loc.chunk_num() > 0 => { - Some(global_cut_var_num) - } - _ => None + let global_cut_var_num = if let &Some(global_cut_var_num) = &self.global_cut_var_num { + match &self.records[global_cut_var_num].allocation { + VarAlloc::Perm(..) => Some(global_cut_var_num), + VarAlloc::Temp { term_loc, .. } if term_loc.chunk_num() > 0 => { + Some(global_cut_var_num) } - } else { - None - }; + _ => None, + } + } else { + None + }; if let Some(global_cut_var_num) = global_cut_var_num { let term = QueryTerm::GetLevel(global_cut_var_num); - self.records[global_cut_var_num].allocation = VarAlloc::Perm(0, PermVarAllocation::Pending); + self.records[global_cut_var_num].allocation = + VarAlloc::Perm(0, PermVarAllocation::Pending); match build_stack.front_mut() { Some(ChunkedTerms::Branch(_)) => { @@ -229,7 +232,7 @@ fn merge_branch_seq(branches: impl Iterator) -> BranchInfo { } fn flatten_into_disjunct(build_stack: &mut ChunkedTermVec, preceding_len: usize) { - let branch_vec = build_stack.drain(preceding_len + 1 ..).collect(); + let branch_vec = build_stack.drain(preceding_len + 1..).collect(); if let ChunkedTerms::Branch(ref mut disjuncts) = &mut build_stack[preceding_len] { disjuncts.push(branch_vec); @@ -254,11 +257,14 @@ impl VariableClassifier { pub fn classify_fact(mut self, term: Term) -> Result { self.classify_head_variables(&term)?; - Ok((term, self.branch_map.separate_and_classify_variables( - self.var_num, - self.global_cut_var_num, - self.current_chunk_num, - ))) + Ok(( + term, + self.branch_map.separate_and_classify_variables( + self.var_num, + self.global_cut_var_num, + self.current_chunk_num, + ), + )) } pub fn classify_rule<'a, LS: LoadState<'a>>( @@ -298,7 +304,7 @@ impl VariableClassifier { } } - let iter = old_branches.drain(old_branches_len - 1 ..); + let iter = old_branches.drain(old_branches_len - 1..); branches.push(merge_branch_seq(iter)); } @@ -346,9 +352,13 @@ impl VariableClassifier { } fn probe_body_var(&mut self, var_info: VarInfo) { - let term_loc = self.current_chunk_type.to_gen_context(self.current_chunk_num); + let term_loc = self + .current_chunk_type + .to_gen_context(self.current_chunk_num); - let branch_info_v = self.branch_map.entry(var_info.var_ptr.clone()) + let branch_info_v = self + .branch_map + .entry(var_info.var_ptr.clone()) .or_insert_with(|| vec![]); let needs_new_branch = if let Some(last_bi) = branch_info_v.last() { @@ -396,12 +406,14 @@ impl VariableClassifier { fn classify_head_variables(&mut self, term: &Term) -> Result<(), CompilationError> { match term { - Term::Clause(..) | Term::Literal(_, Literal::Atom(_)) => { - } + Term::Clause(..) | Term::Literal(_, Literal::Atom(_)) => {} _ => return Err(CompilationError::InvalidRuleHead), } - let mut classify_info = ClassifyInfo { arg_c: 1, arity: term.arity() }; + let mut classify_info = ClassifyInfo { + arg_c: 1, + arity: term.arity(), + }; match term { Term::Clause(_, _, terms) => { @@ -414,13 +426,16 @@ impl VariableClassifier { // the body of the if let here is an inlined // "probe_head_var". note the difference between it // and "probe_body_var". - let branch_info_v = self.branch_map.entry(var_ptr.clone()) + let branch_info_v = self + .branch_map + .entry(var_ptr.clone()) .or_insert_with(|| vec![]); let needs_new_branch = branch_info_v.is_empty(); if needs_new_branch { - branch_info_v.push(BranchInfo::new(self.current_branch_num.clone())); + branch_info_v + .push(BranchInfo::new(self.current_branch_num.clone())); } let branch_info = branch_info_v.last_mut().unwrap(); @@ -509,13 +524,11 @@ impl VariableClassifier { self.probe_in_situ_var(var_num); - build_stack.push_chunk_term( - if is_global { - QueryTerm::GlobalCut(var_num) - } else { - QueryTerm::LocalCut(var_num) - } - ); + build_stack.push_chunk_term(if is_global { + QueryTerm::GlobalCut(var_num) + } else { + QueryTerm::LocalCut(var_num) + }); } TraversalState::Fail => { build_stack.push_chunk_term(QueryTerm::Fail); @@ -539,22 +552,28 @@ impl VariableClassifier { classifier.probe_body_term(arg_c + 1, terms.len(), term); } - build_stack.push_chunk_term( - clause_to_query_term( - loader, - name, - terms, - classifier.call_policy, - ), - ); + build_stack.push_chunk_term(clause_to_query_term( + loader, + name, + terms, + classifier.call_policy, + )); }; match term { - Term::Clause(_, name @ (atom!("->") | atom!(";") | atom!(",")), mut terms) if terms.len() == 3 => { + Term::Clause( + _, + name @ (atom!("->") | atom!(";") | atom!(",")), + mut terms, + ) if terms.len() == 3 => { if let Some(last_arg) = terms.last() { if let Term::Literal(_, Literal::CodeIndex(_)) = last_arg { terms.pop(); - state_stack.push(TraversalState::Term(Term::Clause(Cell::default(), name, terms))); + state_stack.push(TraversalState::Term(Term::Clause( + Cell::default(), + name, + terms, + ))); } else { add_chunk(self, name, terms); } @@ -583,7 +602,7 @@ impl VariableClassifier { let mut branch_numbers = vec![first_branch_num]; - for idx in 1 .. branches.len() { + for idx in 1..branches.len() { let succ_branch_number = branch_numbers[idx - 1].incr_by_delta(); branch_numbers.push(if idx + 1 < branches.len() { @@ -610,8 +629,11 @@ impl VariableClassifier { state_stack.push(TraversalState::AddBranchNum(branch_num)); } - if let TraversalState::BuildDisjunct(build_stack_len) = state_stack[final_disjunct_loc] { - state_stack[final_disjunct_loc] = TraversalState::BuildFinalDisjunct(build_stack_len); + if let TraversalState::BuildDisjunct(build_stack_len) = + state_stack[final_disjunct_loc] + { + state_stack[final_disjunct_loc] = + TraversalState::BuildFinalDisjunct(build_stack_len); } self.current_chunk_type = ChunkType::Mid; @@ -621,18 +643,30 @@ impl VariableClassifier { let then_term = terms.pop().unwrap(); let if_term = terms.pop().unwrap(); - let prev_b = if matches!(state_stack.last(), Some(TraversalState::RemoveBranchNum)) { + let prev_b = if matches!( + state_stack.last(), + Some(TraversalState::RemoveBranchNum) + ) { // check if the second-to-last element is a regular BuildDisjunct, as we don't // want to add GetPrevLevel in case of a TrustMe. - matches!(state_stack.iter().rev().nth(1), Some(TraversalState::BuildDisjunct(..))) + matches!( + state_stack.iter().rev().nth(1), + Some(TraversalState::BuildDisjunct(..)) + ) } else { false }; state_stack.push(TraversalState::Term(then_term)); - state_stack.push(TraversalState::Cut { var_num: self.var_num, is_global: false }); + state_stack.push(TraversalState::Cut { + var_num: self.var_num, + is_global: false, + }); state_stack.push(TraversalState::Term(if_term)); - state_stack.push(TraversalState::GetCutPoint { var_num: self.var_num, prev_b }); + state_stack.push(TraversalState::GetCutPoint { + var_num: self.var_num, + prev_b, + }); self.var_num += 1; } @@ -643,12 +677,22 @@ impl VariableClassifier { build_stack.reserve_branch(2); state_stack.push(TraversalState::BuildFinalDisjunct(build_stack_len)); - state_stack.push(TraversalState::Term(Term::Clause(Cell::default(), atom!("$succeed"), vec![]))); + state_stack.push(TraversalState::Term(Term::Clause( + Cell::default(), + atom!("$succeed"), + vec![], + ))); state_stack.push(TraversalState::BuildDisjunct(build_stack_len)); state_stack.push(TraversalState::Fail); - state_stack.push(TraversalState::Cut { var_num: self.var_num, is_global: false }); + state_stack.push(TraversalState::Cut { + var_num: self.var_num, + is_global: false, + }); state_stack.push(TraversalState::Term(not_term)); - state_stack.push(TraversalState::GetCutPoint { var_num: self.var_num, prev_b: true }); + state_stack.push(TraversalState::GetCutPoint { + var_num: self.var_num, + prev_b: true, + }); self.current_chunk_type = ChunkType::Mid; self.current_chunk_num += 1; @@ -668,15 +712,13 @@ impl VariableClassifier { build_stack.add_chunk(); } - build_stack.push_chunk_term( - qualified_clause_to_query_term( - loader, - module_name, - predicate_name, - vec![], - self.call_policy, - ), - ); + build_stack.push_chunk_term(qualified_clause_to_query_term( + loader, + module_name, + predicate_name, + vec![], + self.call_policy, + )); } ( Term::Literal(_, Literal::Atom(module_name)), @@ -690,15 +732,13 @@ impl VariableClassifier { self.probe_body_term(arg_c + 1, terms.len(), term); } - build_stack.push_chunk_term( - qualified_clause_to_query_term( - loader, - module_name, - name, - terms, - self.call_policy, - ), - ); + build_stack.push_chunk_term(qualified_clause_to_query_term( + loader, + module_name, + name, + terms, + self.call_policy, + )); } (module_name, predicate_name) => { if update_chunk_data(self, atom!("call"), 2) { @@ -711,18 +751,18 @@ impl VariableClassifier { terms.push(module_name); terms.push(predicate_name); - build_stack.push_chunk_term( - clause_to_query_term( - loader, - atom!("call"), - vec![Term::Clause(Cell::default(), atom!(":"), terms)], - self.call_policy, - ), - ); + build_stack.push_chunk_term(clause_to_query_term( + loader, + atom!("call"), + vec![Term::Clause(Cell::default(), atom!(":"), terms)], + self.call_policy, + )); } } } - Term::Clause(_, atom!("$call_with_inference_counting"), mut terms) if terms.len() == 1 => { + Term::Clause(_, atom!("$call_with_inference_counting"), mut terms) + if terms.len() == 1 => + { state_stack.push(TraversalState::ResetCallPolicy(self.call_policy)); state_stack.push(TraversalState::Term(terms.pop().unwrap())); @@ -738,14 +778,12 @@ impl VariableClassifier { self.probe_body_term(1, 1, &var); - build_stack.push_chunk_term( - clause_to_query_term( - loader, - atom!("call"), - vec![var], - self.call_policy, - ), - ); + build_stack.push_chunk_term(clause_to_query_term( + loader, + atom!("call"), + vec![var], + self.call_policy, + )); } Term::Literal(_, Literal::Atom(atom!("!")) | Literal::Char('!')) => { if self.global_cut_var_num.is_none() { @@ -765,14 +803,12 @@ impl VariableClassifier { build_stack.add_chunk(); } - build_stack.push_chunk_term( - clause_to_query_term( - loader, - name, - vec![], - self.call_policy, - ), - ); + build_stack.push_chunk_term(clause_to_query_term( + loader, + name, + vec![], + self.call_policy, + )); } _ => { return Err(CompilationError::InadmissibleQueryTerm); @@ -800,12 +836,11 @@ impl BranchMap { }; for (var, branches) in self.iter_mut() { - let (mut var_num, var_num_incr) = - if let Var::InSitu(var_num) = *var.borrow() { - (var_num, false) - } else { - (var_data.records.len(), true) - }; + let (mut var_num, var_num_incr) = if let Var::InSitu(var_num) = *var.borrow() { + (var_num, false) + } else { + (var_data.records.len(), true) + }; for branch in branches.iter_mut() { if var_num_incr { @@ -813,7 +848,8 @@ impl BranchMap { var_data.records.push(VariableRecord::default()); } - if branch.chunks.len() <= 1 { // true iff var is a temporary variable. + if branch.chunks.len() <= 1 { + // true iff var is a temporary variable. debug_assert_eq!(branch.chunks.len(), 1); let chunk = &mut branch.chunks[0]; @@ -822,7 +858,9 @@ impl BranchMap { for var_info in chunk.vars.iter_mut() { if var_info.lvl == Level::Shallow { let term_loc = var_info.chunk_type.to_gen_context(chunk.chunk_num); - temp_var_data.use_set.insert((term_loc, var_info.classify_info.arg_c)); + temp_var_data + .use_set + .insert((term_loc, var_info.classify_info.arg_c)); } } diff --git a/src/machine/dispatch.rs b/src/machine/dispatch.rs index dc55ed86..89174091 100644 --- a/src/machine/dispatch.rs +++ b/src/machine/dispatch.rs @@ -1,10 +1,10 @@ use crate::arena::*; use crate::atom_table::*; use crate::instructions::*; -use crate::machine::*; use crate::machine::arithmetic_ops::*; use crate::machine::machine_errors::*; use crate::machine::machine_state::*; +use crate::machine::*; use crate::types::*; use crate::try_numeric_result; @@ -59,17 +59,16 @@ impl MachineState { let a2 = self.registers[2]; let a3 = self.registers[3]; - let check_atom = |machine_st: &mut MachineState, name: Atom, arity: usize| -> Result<(), MachineStub> { - match name { - atom!(">") | atom!("<") | atom!("=") if arity == 0 => { - Ok(()) + let check_atom = + |machine_st: &mut MachineState, name: Atom, arity: usize| -> Result<(), MachineStub> { + match name { + atom!(">") | atom!("<") | atom!("=") if arity == 0 => Ok(()), + _ => { + let err = machine_st.domain_error(DomainErrorType::Order, a1); + Err(machine_st.error_form(err, stub_gen())) + } } - _ => { - let err = machine_st.domain_error(DomainErrorType::Order, a1); - Err(machine_st.error_form(err, stub_gen())) - } - } - }; + }; read_heap_cell!(a1, (HeapCellValueTag::Atom, (name, arity)) => { @@ -127,13 +126,9 @@ impl MachineState { compare_term_test!(self, *v1, *v2).unwrap_or(Ordering::Less) }); - list.dedup_by(|v1, v2| { - compare_term_test!(self, *v1, *v2) == Some(Ordering::Equal) - }); + list.dedup_by(|v1, v2| compare_term_test!(self, *v1, *v2) == Some(Ordering::Equal)); - let heap_addr = heap_loc_as_cell!( - iter_to_heap_list(&mut self.heap, list.into_iter()) - ); + let heap_addr = heap_loc_as_cell!(iter_to_heap_list(&mut self.heap, list.into_iter())); let target_addr = self.registers[2]; @@ -159,9 +154,7 @@ impl MachineState { }); let key_pairs = key_pairs.into_iter().map(|kp| kp.1); - let heap_addr = heap_loc_as_cell!( - iter_to_heap_list(&mut self.heap, key_pairs) - ); + let heap_addr = heap_loc_as_cell!(iter_to_heap_list(&mut self.heap, key_pairs)); let target_addr = self.registers[2]; @@ -312,11 +305,7 @@ impl Machine { pub(super) fn find_living_dynamic_else(&self, mut p: usize) -> Option<(usize, usize)> { loop { match &self.code[p] { - &Instruction::DynamicElse( - birth, - death, - NextOrFail::Next(i), - ) => { + &Instruction::DynamicElse(birth, death, NextOrFail::Next(i)) => { if birth < self.machine_st.cc && Death::Finite(self.machine_st.cc) <= death { return Some((p, i)); } else if i > 0 { @@ -325,22 +314,14 @@ impl Machine { return None; } } - &Instruction::DynamicElse( - birth, - death, - NextOrFail::Fail(_), - ) => { + &Instruction::DynamicElse(birth, death, NextOrFail::Fail(_)) => { if birth < self.machine_st.cc && Death::Finite(self.machine_st.cc) <= death { return Some((p, 0)); } else { return None; } } - &Instruction::DynamicInternalElse( - birth, - death, - NextOrFail::Next(i), - ) => { + &Instruction::DynamicInternalElse(birth, death, NextOrFail::Next(i)) => { if birth < self.machine_st.cc && Death::Finite(self.machine_st.cc) <= death { return Some((p, i)); } else if i > 0 { @@ -349,11 +330,7 @@ impl Machine { return None; } } - &Instruction::DynamicInternalElse( - birth, - death, - NextOrFail::Fail(_), - ) => { + &Instruction::DynamicInternalElse(birth, death, NextOrFail::Fail(_)) => { if birth < self.machine_st.cc && Death::Finite(self.machine_st.cc) <= death { return Some((p, 0)); } else { @@ -370,7 +347,11 @@ impl Machine { } } - pub(super) fn find_living_dynamic(&self, oi: u32, mut ii: u32) -> Option<(usize, u32, u32, bool)> { + pub(super) fn find_living_dynamic( + &self, + oi: u32, + mut ii: u32, + ) -> Option<(usize, u32, u32, bool)> { let p = self.machine_st.p; let indexed_choice_instrs = match &self.code[p] { @@ -386,12 +367,9 @@ impl Machine { loop { match &indexed_choice_instrs.get(ii as usize) { Some(&offset) => match &self.code[p + offset - 1] { - &Instruction::DynamicInternalElse( - birth, - death, - next_or_fail, - ) => { - if birth < self.machine_st.cc && Death::Finite(self.machine_st.cc) <= death { + &Instruction::DynamicInternalElse(birth, death, next_or_fail) => { + if birth < self.machine_st.cc && Death::Finite(self.machine_st.cc) <= death + { return Some((offset, oi, ii, next_or_fail.is_next())); } else { ii += 1; @@ -418,7 +396,9 @@ impl Machine { match &machine.code[p - 1] { &Instruction::DynamicInternalElse(birth, death, _) => { - if birth < machine.machine_st.cc && Death::Finite(machine.machine_st.cc) <= death { + if birth < machine.machine_st.cc + && Death::Finite(machine.machine_st.cc) <= death + { return true; } else { return false; @@ -434,9 +414,9 @@ impl Machine { let mut index = 0; let addr = match &indexing_lines[0] { - &IndexingLine::Indexing(IndexingInstruction::SwitchOnTerm(arg, ..)) => { - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[arg])) - } + &IndexingLine::Indexing(IndexingInstruction::SwitchOnTerm(arg, ..)) => self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[arg])), _ => { unreachable!() } @@ -445,7 +425,9 @@ impl Machine { loop { match &indexing_lines[index] { &IndexingLine::Indexing(IndexingInstruction::SwitchOnTerm(_, v, c, l, s)) => { - let offset = self.machine_st.select_switch_on_term_index(addr, v, c, l, s); + let offset = self + .machine_st + .select_switch_on_term_index(addr, v, c, l, s); match offset { IndexingCodePtr::Fail => { @@ -560,4850 +542,4967 @@ impl Machine { #[inline(always)] pub(super) fn dispatch_loop(&mut self) -> std::process::ExitCode { 'outer: loop { - for _ in 0 .. INSTRUCTIONS_PER_INTERRUPT_POLL { - match &self.code[self.machine_st.p] { - &Instruction::BreakFromDispatchLoop => { - break 'outer; - } - &Instruction::InstallVerifyAttr => { - self.machine_st.p = self.machine_st.attr_var_init.p; + for _ in 0..INSTRUCTIONS_PER_INTERRUPT_POLL { + match &self.code[self.machine_st.p] { + &Instruction::BreakFromDispatchLoop => { + break 'outer; + } + &Instruction::InstallVerifyAttr => { + self.machine_st.p = self.machine_st.attr_var_init.p; + + if self.code[self.machine_st.p].is_execute() { + self.machine_st.p = self.machine_st.attr_var_init.cp; + } else { + self.machine_st.p += 1; + self.machine_st.cp = self.machine_st.attr_var_init.cp; + } + + let mut p = self.machine_st.p; + + while self.code[p].is_head_instr() { + p += 1; + } + + let instr = + std::mem::replace(&mut self.code[p], Instruction::VerifyAttrInterrupt); + + self.code[VERIFY_ATTR_INTERRUPT_LOC] = instr; + self.machine_st.attr_var_init.cp = p; + } + &Instruction::VerifyAttrInterrupt => { + let (_, arity) = self.code[VERIFY_ATTR_INTERRUPT_LOC].to_name_and_arity(); + let arity = std::cmp::max(arity, self.machine_st.num_of_args); + self.run_verify_attr_interrupt(arity); + } + &Instruction::Add(ref a1, ref a2, t) => { + let stub_gen = || functor_stub(atom!("is"), 2); + + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + try_numeric_result!(add(n1, n2, &mut self.machine_st.arena), stub_gen) + ); - if self.code[self.machine_st.p].is_execute() { - self.machine_st.p = self.machine_st.attr_var_init.cp; - } else { self.machine_st.p += 1; - self.machine_st.cp = self.machine_st.attr_var_init.cp; } + &Instruction::Sub(ref a1, ref a2, t) => { + let stub_gen = || functor_stub(atom!("is"), 2); - let mut p = self.machine_st.p; + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - while self.code[p].is_head_instr() { - p += 1; + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + try_numeric_result!(sub(n1, n2, &mut self.machine_st.arena), stub_gen) + ); + + self.machine_st.p += 1; } + &Instruction::Mul(ref a1, ref a2, t) => { + let stub_gen = || functor_stub(atom!("is"), 2); - let instr = std::mem::replace( - &mut self.code[p], - Instruction::VerifyAttrInterrupt, - ); + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - self.code[VERIFY_ATTR_INTERRUPT_LOC] = instr; - self.machine_st.attr_var_init.cp = p; - } - &Instruction::VerifyAttrInterrupt => { - let (_, arity) = self.code[VERIFY_ATTR_INTERRUPT_LOC].to_name_and_arity(); - let arity = std::cmp::max(arity, self.machine_st.num_of_args); - self.run_verify_attr_interrupt(arity); - } - &Instruction::Add(ref a1, ref a2, t) => { - let stub_gen = || functor_stub(atom!("is"), 2); + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + try_numeric_result!(mul(n1, n2, &mut self.machine_st.arena), stub_gen) + ); - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - try_numeric_result!(add(n1, n2, &mut self.machine_st.arena), stub_gen) - ); - - self.machine_st.p += 1; - } - &Instruction::Sub(ref a1, ref a2, t) => { - let stub_gen = || functor_stub(atom!("is"), 2); - - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - try_numeric_result!(sub(n1, n2, &mut self.machine_st.arena), stub_gen) - ); - - self.machine_st.p += 1; - } - &Instruction::Mul(ref a1, ref a2, t) => { - let stub_gen = || functor_stub(atom!("is"), 2); - - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - try_numeric_result!(mul(n1, n2, &mut self.machine_st.arena), stub_gen) - ); - - self.machine_st.p += 1; - } - &Instruction::Max(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - max(n1, n2) - ); - - self.machine_st.p += 1; - } - &Instruction::Min(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - min(n1, n2) - ); - - self.machine_st.p += 1; - } - &Instruction::IntPow(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - int_pow(n1, n2, &mut self.machine_st.arena) - ); - - self.machine_st.p += 1; - } - &Instruction::Gcd(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - gcd(n1, n2, &mut self.machine_st.arena) - ); - - self.machine_st.p += 1; - } - &Instruction::Pow(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - pow(n1, n2, atom!("**")) - ); - - self.machine_st.p += 1; - } - &Instruction::RDiv(ref a1, ref a2, t) => { - let stub_gen = || functor_stub(atom!("(rdiv)"), 2); - - let r1 = try_or_throw!(self.machine_st, self.machine_st.get_rational(a1, stub_gen)); - let r2 = try_or_throw!(self.machine_st, self.machine_st.get_rational(a2, stub_gen)); - - self.machine_st.interms[t - 1] = Number::Rational(arena_alloc!( - try_or_throw_gen!(&mut self.machine_st, rdiv(r1, r2)), - &mut self.machine_st.arena - )); - - self.machine_st.p += 1; - } - &Instruction::IntFloorDiv(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - int_floor_div(n1, n2, &mut self.machine_st.arena) - ); - - self.machine_st.p += 1; - } - &Instruction::IDiv(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - idiv(n1, n2, &mut self.machine_st.arena) - ); - - self.machine_st.p += 1; - } - &Instruction::Abs(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = abs(n1, &mut self.machine_st.arena); - self.machine_st.p += 1; - } - &Instruction::Sign(ref a1, t) => { - let n = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = n.sign(); - self.machine_st.p += 1; - } - &Instruction::Neg(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = neg(n1, &mut self.machine_st.arena); - self.machine_st.p += 1; - } - &Instruction::BitwiseComplement(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - bitwise_complement(n1, &mut self.machine_st.arena) - ); - - self.machine_st.p += 1; - } - &Instruction::Div(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - div(n1, n2) - ); - - self.machine_st.p += 1; - } - &Instruction::Shr(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - shr(n1, n2, &mut self.machine_st.arena) - ); - - self.machine_st.p += 1; - } - &Instruction::Shl(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - shl(n1, n2, &mut self.machine_st.arena) - ); - - self.machine_st.p += 1; - } - &Instruction::Xor(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - xor(n1, n2, &mut self.machine_st.arena) - ); - - self.machine_st.p += 1; - } - &Instruction::And(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - and(n1, n2, &mut self.machine_st.arena) - ); - - self.machine_st.p += 1; - } - &Instruction::Or(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - or(n1, n2, &mut self.machine_st.arena) - ); - - self.machine_st.p += 1; - } - &Instruction::Mod(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - modulus(n1, n2, &mut self.machine_st.arena) - ); - - self.machine_st.p += 1; - } - &Instruction::Rem(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = try_or_throw_gen!( - &mut self.machine_st, - remainder(n1, n2, &mut self.machine_st.arena) - ); - - self.machine_st.p += 1; - } - &Instruction::Cos(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, cos(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::Sin(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, sin(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::Tan(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, tan(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::Sqrt(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, sqrt(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::Log(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, log(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::Exp(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, exp(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::ACos(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, acos(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::ASin(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, asin(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::ATan(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, atan(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::ATan2(ref a1, ref a2, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, atan2(n1, n2)) - )); - - self.machine_st.p += 1; - } - &Instruction::ACosh(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, acosh(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::ASinh(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, asinh(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::ATanh(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, atanh(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::Cosh(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, cosh(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::Sinh(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, sinh(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::Tanh(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, tanh(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::Log10(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, log10(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::Float(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, float(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::Truncate(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = truncate(n1, &mut self.machine_st.arena); - self.machine_st.p += 1; - } - &Instruction::Round(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = - try_or_throw_gen!(&mut self.machine_st, round(n1, &mut self.machine_st.arena)); - - self.machine_st.p += 1; - } - &Instruction::Ceiling(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = ceiling(n1, &mut self.machine_st.arena); - self.machine_st.p += 1; - } - &Instruction::Floor(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = floor(n1, &mut self.machine_st.arena); - self.machine_st.p += 1; - } - &Instruction::FloatFractionalPart(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, float_fractional_part(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::FloatIntegerPart(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( - try_or_throw_gen!(&mut self.machine_st, float_integer_part(n1)) - )); - - self.machine_st.p += 1; - } - &Instruction::Plus(ref a1, t) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); - - self.machine_st.interms[t - 1] = n1; - self.machine_st.p += 1; - } - &Instruction::DynamicElse(..) => { - if let FirstOrNext::First = self.machine_st.dynamic_mode { - self.machine_st.cc = self.machine_st.global_clock; + self.machine_st.p += 1; } + &Instruction::Max(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - let p = self.machine_st.p; + self.machine_st.interms[t - 1] = + try_or_throw_gen!(&mut self.machine_st, max(n1, n2)); - match self.find_living_dynamic_else(p) { - Some((p, next_i)) => { - self.machine_st.p = p; - self.machine_st.oip = 0; - self.machine_st.iip = 0; + self.machine_st.p += 1; + } + &Instruction::Min(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - match self.machine_st.dynamic_mode { - FirstOrNext::First if next_i == 0 => { - self.machine_st.p += 1; - } - FirstOrNext::First => { - self.machine_st.cc = self.machine_st.global_clock; + self.machine_st.interms[t - 1] = + try_or_throw_gen!(&mut self.machine_st, min(n1, n2)); - match self.find_living_dynamic_else(p + next_i) { - Some(_) => { - self.machine_st.registers[self.machine_st.num_of_args + 1] = - fixnum_as_cell!(Fixnum::build_with(self.machine_st.cc as i64)); + self.machine_st.p += 1; + } + &Instruction::IntPow(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); - self.machine_st.num_of_args += 1; - self.try_me_else(next_i); - self.machine_st.num_of_args -= 1; - } - None => { - self.machine_st.p += 1; - } + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + int_pow(n1, n2, &mut self.machine_st.arena) + ); + + self.machine_st.p += 1; + } + &Instruction::Gcd(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + gcd(n1, n2, &mut self.machine_st.arena) + ); + + self.machine_st.p += 1; + } + &Instruction::Pow(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = + try_or_throw_gen!(&mut self.machine_st, pow(n1, n2, atom!("**"))); + + self.machine_st.p += 1; + } + &Instruction::RDiv(ref a1, ref a2, t) => { + let stub_gen = || functor_stub(atom!("(rdiv)"), 2); + + let r1 = try_or_throw!( + self.machine_st, + self.machine_st.get_rational(a1, stub_gen) + ); + let r2 = try_or_throw!( + self.machine_st, + self.machine_st.get_rational(a2, stub_gen) + ); + + self.machine_st.interms[t - 1] = Number::Rational(arena_alloc!( + try_or_throw_gen!(&mut self.machine_st, rdiv(r1, r2)), + &mut self.machine_st.arena + )); + + self.machine_st.p += 1; + } + &Instruction::IntFloorDiv(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + int_floor_div(n1, n2, &mut self.machine_st.arena) + ); + + self.machine_st.p += 1; + } + &Instruction::IDiv(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + idiv(n1, n2, &mut self.machine_st.arena) + ); + + self.machine_st.p += 1; + } + &Instruction::Abs(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = abs(n1, &mut self.machine_st.arena); + self.machine_st.p += 1; + } + &Instruction::Sign(ref a1, t) => { + let n = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = n.sign(); + self.machine_st.p += 1; + } + &Instruction::Neg(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = neg(n1, &mut self.machine_st.arena); + self.machine_st.p += 1; + } + &Instruction::BitwiseComplement(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + bitwise_complement(n1, &mut self.machine_st.arena) + ); + + self.machine_st.p += 1; + } + &Instruction::Div(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = + try_or_throw_gen!(&mut self.machine_st, div(n1, n2)); + + self.machine_st.p += 1; + } + &Instruction::Shr(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + shr(n1, n2, &mut self.machine_st.arena) + ); + + self.machine_st.p += 1; + } + &Instruction::Shl(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + shl(n1, n2, &mut self.machine_st.arena) + ); + + self.machine_st.p += 1; + } + &Instruction::Xor(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + xor(n1, n2, &mut self.machine_st.arena) + ); + + self.machine_st.p += 1; + } + &Instruction::And(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + and(n1, n2, &mut self.machine_st.arena) + ); + + self.machine_st.p += 1; + } + &Instruction::Or(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + or(n1, n2, &mut self.machine_st.arena) + ); + + self.machine_st.p += 1; + } + &Instruction::Mod(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + modulus(n1, n2, &mut self.machine_st.arena) + ); + + self.machine_st.p += 1; + } + &Instruction::Rem(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + remainder(n1, n2, &mut self.machine_st.arena) + ); + + self.machine_st.p += 1; + } + &Instruction::Cos(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, cos(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::Sin(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, sin(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::Tan(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, tan(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::Sqrt(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, sqrt(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::Log(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, log(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::Exp(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, exp(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::ACos(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, acos(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::ASin(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, asin(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::ATan(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, atan(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::ATan2(ref a1, ref a2, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(a2)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, atan2(n1, n2)), + )); + + self.machine_st.p += 1; + } + &Instruction::ACosh(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, acosh(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::ASinh(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, asinh(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::ATanh(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, atanh(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::Cosh(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, cosh(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::Sinh(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, sinh(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::Tanh(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, tanh(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::Log10(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, log10(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::Float(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, float(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::Truncate(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = truncate(n1, &mut self.machine_st.arena); + self.machine_st.p += 1; + } + &Instruction::Round(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = try_or_throw_gen!( + &mut self.machine_st, + round(n1, &mut self.machine_st.arena) + ); + + self.machine_st.p += 1; + } + &Instruction::Ceiling(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = ceiling(n1, &mut self.machine_st.arena); + self.machine_st.p += 1; + } + &Instruction::Floor(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = floor(n1, &mut self.machine_st.arena); + self.machine_st.p += 1; + } + &Instruction::FloatFractionalPart(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, float_fractional_part(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::FloatIntegerPart(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = Number::Float(OrderedFloat( + try_or_throw_gen!(&mut self.machine_st, float_integer_part(n1)), + )); + + self.machine_st.p += 1; + } + &Instruction::Plus(ref a1, t) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(a1)); + + self.machine_st.interms[t - 1] = n1; + self.machine_st.p += 1; + } + &Instruction::DynamicElse(..) => { + if let FirstOrNext::First = self.machine_st.dynamic_mode { + self.machine_st.cc = self.machine_st.global_clock; + } + + let p = self.machine_st.p; + + match self.find_living_dynamic_else(p) { + Some((p, next_i)) => { + self.machine_st.p = p; + self.machine_st.oip = 0; + self.machine_st.iip = 0; + + match self.machine_st.dynamic_mode { + FirstOrNext::First if next_i == 0 => { + self.machine_st.p += 1; } - } - FirstOrNext::Next => { - let n = self.machine_st - .stack - .index_or_frame(self.machine_st.b) - .prelude - .num_cells; + FirstOrNext::First => { + self.machine_st.cc = self.machine_st.global_clock; - self.machine_st.cc = cell_as_fixnum!( - self.machine_st.stack[stack_loc!(OrFrame, self.machine_st.b, n-1)] - ).get_num() as usize; - - if next_i > 0 { match self.find_living_dynamic_else(p + next_i) { Some(_) => { - self.retry_me_else(next_i); + self.machine_st.registers + [self.machine_st.num_of_args + 1] = fixnum_as_cell!( + Fixnum::build_with(self.machine_st.cc as i64) + ); + + self.machine_st.num_of_args += 1; + self.try_me_else(next_i); + self.machine_st.num_of_args -= 1; } None => { - self.trust_me(); + self.machine_st.p += 1; } } - } else { - self.trust_me(); } - - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - } - } - } - None => { - self.machine_st.fail = true; - } - } - - self.machine_st.dynamic_mode = FirstOrNext::Next; - - if self.machine_st.fail { - self.machine_st.backtrack(); - } - } - &Instruction::DynamicInternalElse(..) => { - let p = self.machine_st.p; - - match self.find_living_dynamic_else(p) { - Some((p, next_i)) => { - self.machine_st.p = p; - self.machine_st.oip = 0; - self.machine_st.iip = 0; - - match self.machine_st.dynamic_mode { - FirstOrNext::First if next_i == 0 => { - self.machine_st.p += 1; - } - FirstOrNext::First => { - match self.find_living_dynamic_else(p + next_i) { - Some(_) => { - self.machine_st.registers[self.machine_st.num_of_args + 1] = - fixnum_as_cell!(Fixnum::build_with(self.machine_st.cc as i64)); - - self.machine_st.num_of_args += 1; - self.try_me_else(next_i); - self.machine_st.num_of_args -= 1; - } - None => { - self.machine_st.p += 1; - } - } - } - FirstOrNext::Next => { - let n = self.machine_st - .stack - .index_or_frame(self.machine_st.b) - .prelude - .num_cells; - - self.machine_st.cc = cell_as_fixnum!( - self.machine_st.stack[stack_loc!(OrFrame, self.machine_st.b, n-1)] - ).get_num() as usize; - - if next_i > 0 { - match self.find_living_dynamic_else(p + next_i) { - Some(_) => { - self.retry_me_else(next_i); - } - None => { - self.trust_me(); - } - } - } else { - self.trust_me(); - } - - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - } - } - } - None => { - self.machine_st.fail = true; - } - } - - self.machine_st.dynamic_mode = FirstOrNext::Next; - - if self.machine_st.fail { - self.machine_st.backtrack(); - } - } - &Instruction::TryMeElse(offset) => { - self.try_me_else(offset); - } - &Instruction::DefaultRetryMeElse(offset) => { - self.retry_me_else(offset); - } - &Instruction::DefaultTrustMe(_) => { - self.trust_me(); - } - &Instruction::RetryMeElse(offset) => { - self.retry_me_else(offset); - - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - } - &Instruction::TrustMe(_) => { - self.trust_me(); - - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - } - &Instruction::NeckCut => { - self.machine_st.neck_cut(); - self.machine_st.p += 1; - } - &Instruction::GetLevel(r) => { - let b0 = self.machine_st.b0; - - self.machine_st[r] = fixnum_as_cell!(Fixnum::as_cutpoint(b0 as i64)); - self.machine_st.p += 1; - } - &Instruction::GetPrevLevel(r) => { - let prev_b = self.machine_st.stack.index_or_frame(self.machine_st.b).prelude.b; - - self.machine_st[r] = fixnum_as_cell!(Fixnum::as_cutpoint(prev_b as i64)); - self.machine_st.p += 1; - } - &Instruction::GetCutPoint(r) => { - self.machine_st[r] = fixnum_as_cell!(Fixnum::as_cutpoint(self.machine_st.b as i64)); - self.machine_st.p += 1; - } - &Instruction::Cut(r) => { - let value = self.machine_st[r]; - self.machine_st.cut_body(value); - - if self.machine_st.fail { - self.machine_st.backtrack(); - continue; - } - - if (self.machine_st.run_cleaners_fn)(self) { - continue; - } - - self.machine_st.p += 1; - } - &Instruction::Allocate(num_cells) => { - self.machine_st.allocate(num_cells); - } - &Instruction::DefaultCallAcyclicTerm => { - let addr = self.machine_st.registers[1]; - - if self.machine_st.is_cyclic_term(addr) { - self.machine_st.backtrack(); - } else { - self.machine_st.p += 1; - } - } - &Instruction::DefaultExecuteAcyclicTerm => { - let addr = self.machine_st.registers[1]; - - if self.machine_st.is_cyclic_term(addr) { - self.machine_st.backtrack(); - } else { - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::DefaultCallArg => { - try_or_throw!(self.machine_st, self.machine_st.try_arg()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::DefaultExecuteArg => { - try_or_throw!(self.machine_st, self.machine_st.try_arg()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::DefaultCallCompare => { - try_or_throw!(self.machine_st, self.machine_st.compare()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::DefaultExecuteCompare => { - try_or_throw!(self.machine_st, self.machine_st.compare()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::DefaultCallTermGreaterThan => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if let Some(Ordering::Greater) = compare_term_test!(self.machine_st, a1, a2) { - self.machine_st.p += 1; - } else { - self.machine_st.backtrack(); - } - } - &Instruction::DefaultExecuteTermGreaterThan => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if let Some(Ordering::Greater) = compare_term_test!(self.machine_st, a1, a2) { - self.machine_st.p = self.machine_st.cp; - } else { - self.machine_st.backtrack(); - } - } - &Instruction::DefaultCallTermLessThan => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if let Some(Ordering::Less) = compare_term_test!(self.machine_st, a1, a2) { - self.machine_st.p += 1; - } else { - self.machine_st.backtrack(); - } - } - &Instruction::DefaultExecuteTermLessThan => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if let Some(Ordering::Less) = compare_term_test!(self.machine_st, a1, a2) { - self.machine_st.p = self.machine_st.cp; - } else { - self.machine_st.backtrack(); - } - } - &Instruction::DefaultCallTermGreaterThanOrEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - match compare_term_test!(self.machine_st, a1, a2) { - Some(Ordering::Greater | Ordering::Equal) => { - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultExecuteTermGreaterThanOrEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - match compare_term_test!(self.machine_st, a1, a2) { - Some(Ordering::Greater | Ordering::Equal) => { - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultCallTermLessThanOrEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - match compare_term_test!(self.machine_st, a1, a2) { - Some(Ordering::Less | Ordering::Equal) => { - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultExecuteTermLessThanOrEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - match compare_term_test!(self.machine_st, a1, a2) { - Some(Ordering::Less | Ordering::Equal) => { - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultCallCopyTerm => { - self.machine_st.copy_term(AttrVarPolicy::DeepCopy); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::DefaultExecuteCopyTerm => { - self.machine_st.copy_term(AttrVarPolicy::DeepCopy); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::DefaultCallTermEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if self.machine_st.eq_test(a1, a2) { - self.machine_st.backtrack(); - } else { - self.machine_st.p += 1; - } - } - &Instruction::DefaultExecuteTermEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if self.machine_st.eq_test(a1, a2) { - self.machine_st.backtrack(); - } else { - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::DefaultCallGround => { - if self.machine_st.ground_test() { - self.machine_st.backtrack(); - } else { - self.machine_st.p += 1; - } - } - &Instruction::DefaultExecuteGround => { - if self.machine_st.ground_test() { - self.machine_st.backtrack(); - } else { - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::DefaultCallFunctor => { - try_or_throw!(self.machine_st, self.machine_st.try_functor()); - - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::DefaultExecuteFunctor => { - try_or_throw!(self.machine_st, self.machine_st.try_functor()); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::DefaultCallTermNotEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if let Some(Ordering::Equal) = compare_term_test!(self.machine_st, a1, a2) { - self.machine_st.backtrack(); - } else { - self.machine_st.p += 1; - } - } - &Instruction::DefaultExecuteTermNotEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if let Some(Ordering::Equal) = compare_term_test!(self.machine_st, a1, a2) { - self.machine_st.backtrack(); - } else { - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::DefaultCallSort => { - try_or_throw!(self.machine_st, self.machine_st.sort()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::DefaultExecuteSort => { - try_or_throw!(self.machine_st, self.machine_st.sort()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::DefaultCallKeySort => { - try_or_throw!(self.machine_st, self.machine_st.keysort(VarComparison::Distinct)); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::DefaultExecuteKeySort => { - try_or_throw!(self.machine_st, self.machine_st.keysort(VarComparison::Distinct)); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::DefaultCallIs(r, at) => { - try_or_throw!(self.machine_st, self.machine_st.is(r, at)); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::DefaultExecuteIs(r, at) => { - try_or_throw!(self.machine_st, self.machine_st.is(r, at)); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - Instruction::DefaultCallGetNumber(at) => { - try_or_throw!(self.machine_st, self.machine_st.get_number(at)); - step_or_fail!(self, self.machine_st.p += 1); - } - Instruction::DefaultExecuteGetNumber(at) => { - try_or_throw!(self.machine_st, self.machine_st.get_number(at)); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallAcyclicTerm => { - let addr = self.machine_st.registers[1]; - - if self.machine_st.is_cyclic_term(addr) { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - &Instruction::ExecuteAcyclicTerm => { - let addr = self.machine_st.registers[1]; - - if self.machine_st.is_cyclic_term(addr) { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallArg => { - try_or_throw!(self.machine_st, self.machine_st.try_arg()); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - &Instruction::ExecuteArg => { - try_or_throw!(self.machine_st, self.machine_st.try_arg()); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallCompare => { - try_or_throw!(self.machine_st, self.machine_st.compare()); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - &Instruction::ExecuteCompare => { - try_or_throw!(self.machine_st, self.machine_st.compare()); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallTermGreaterThan => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if let Some(Ordering::Greater) = compare_term_test!(self.machine_st, a1, a2) { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } else { - self.machine_st.backtrack(); - } - } - &Instruction::ExecuteTermGreaterThan => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if let Some(Ordering::Greater) = compare_term_test!(self.machine_st, a1, a2) { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } else { - self.machine_st.backtrack(); - } - } - &Instruction::CallTermLessThan => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if let Some(Ordering::Less) = compare_term_test!(self.machine_st, a1, a2) { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } else { - self.machine_st.backtrack(); - } - } - &Instruction::ExecuteTermLessThan => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if let Some(Ordering::Less) = compare_term_test!(self.machine_st, a1, a2) { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } else { - self.machine_st.backtrack(); - } - } - &Instruction::CallTermGreaterThanOrEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - match compare_term_test!(self.machine_st, a1, a2) { - Some(Ordering::Greater | Ordering::Equal) => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::ExecuteTermGreaterThanOrEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - match compare_term_test!(self.machine_st, a1, a2) { - Some(Ordering::Greater | Ordering::Equal) => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::CallTermLessThanOrEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - match compare_term_test!(self.machine_st, a1, a2) { - Some(Ordering::Less | Ordering::Equal) => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::ExecuteTermLessThanOrEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - match compare_term_test!(self.machine_st, a1, a2) { - Some(Ordering::Less | Ordering::Equal) => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::CallCopyTerm => { - self.machine_st.copy_term(AttrVarPolicy::DeepCopy); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - &Instruction::ExecuteCopyTerm => { - self.machine_st.copy_term(AttrVarPolicy::DeepCopy); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallTermEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if self.machine_st.eq_test(a1, a2) { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - &Instruction::ExecuteTermEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if self.machine_st.eq_test(a1, a2) { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallGround => { - if self.machine_st.ground_test() { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - &Instruction::ExecuteGround => { - if self.machine_st.ground_test() { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallFunctor => { - try_or_throw!(self.machine_st, self.machine_st.try_functor()); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - &Instruction::ExecuteFunctor => { - try_or_throw!(self.machine_st, self.machine_st.try_functor()); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallTermNotEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if let Some(Ordering::Equal) = compare_term_test!(self.machine_st, a1, a2) { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - &Instruction::ExecuteTermNotEqual => { - let a1 = self.machine_st.registers[1]; - let a2 = self.machine_st.registers[2]; - - if let Some(Ordering::Equal) = compare_term_test!(self.machine_st, a1, a2) { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallSort => { - try_or_throw!(self.machine_st, self.machine_st.sort()); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - &Instruction::ExecuteSort => { - try_or_throw!(self.machine_st, self.machine_st.sort()); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallKeySort => { - try_or_throw!(self.machine_st, self.machine_st.keysort(VarComparison::Distinct)); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - &Instruction::ExecuteKeySort => { - try_or_throw!(self.machine_st, self.machine_st.keysort(VarComparison::Distinct)); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallKeySortWithConstantVarOrdering => { - try_or_throw!(self.machine_st, self.machine_st.keysort(VarComparison::Indistinct)); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - &Instruction::ExecuteKeySortWithConstantVarOrdering => { - try_or_throw!(self.machine_st, self.machine_st.keysort(VarComparison::Indistinct)); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallIs(r, at) => { - try_or_throw!(self.machine_st, self.machine_st.is(r, at)); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - &Instruction::ExecuteIs(r, at) => { - try_or_throw!(self.machine_st, self.machine_st.is(r, at)); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - Instruction::CallGetNumber(at) => { - try_or_throw!(self.machine_st, self.machine_st.get_number(at)); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - Instruction::ExecuteGetNumber(at) => { - try_or_throw!(self.machine_st, self.machine_st.get_number(at)); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallN(arity) => { - let pred = self.machine_st.registers[1]; - - for i in 2..arity + 1 { - self.machine_st.registers[i - 1] = self.machine_st.registers[i]; - } - - self.machine_st.registers[arity] = pred; - - try_or_throw!( - self.machine_st, - self.call_n(atom!("user"), arity) - ); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - } - } - &Instruction::ExecuteN(arity) => { - let pred = self.machine_st.registers[1]; - - for i in 2..arity + 1 { - self.machine_st.registers[i - 1] = self.machine_st.registers[i]; - } - - self.machine_st.registers[arity] = pred; - - try_or_throw!( - self.machine_st, - self.execute_n(atom!("user"), arity) - ); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - } - } - &Instruction::DefaultCallN(arity) => { - let pred = self.machine_st.registers[1]; - - for i in 2..arity + 1 { - self.machine_st.registers[i - 1] = self.machine_st.registers[i]; - } - - self.machine_st.registers[arity] = pred; - - try_or_throw!( - self.machine_st, - self.call_n(atom!("user"), arity) - ); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } - } - &Instruction::DefaultExecuteN(arity) => { - let pred = self.machine_st.registers[1]; - - for i in 2..arity + 1 { - self.machine_st.registers[i - 1] = self.machine_st.registers[i]; - } - - self.machine_st.registers[arity] = pred; - - try_or_throw!( - self.machine_st, - self.execute_n(atom!("user"), arity) - ); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } - } - &Instruction::CallNumberLessThanOrEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Less | Ordering::Equal => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::ExecuteNumberLessThanOrEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Less | Ordering::Equal => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::CallNumberEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Equal => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::ExecuteNumberEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Equal => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::CallNumberNotEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Equal => { - self.machine_st.backtrack(); - } - _ => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - } - } - &Instruction::ExecuteNumberNotEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Equal => { - self.machine_st.backtrack(); - } - _ => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - } - } - &Instruction::CallNumberGreaterThanOrEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Greater | Ordering::Equal => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::ExecuteNumberGreaterThanOrEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Greater | Ordering::Equal => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::CallNumberGreaterThan(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Greater => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::ExecuteNumberGreaterThan(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Greater => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::CallNumberLessThan(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Less => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::ExecuteNumberLessThan(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Less => { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultCallNumberLessThanOrEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Less | Ordering::Equal => { - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultExecuteNumberLessThanOrEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Less | Ordering::Equal => { - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultCallNumberNotEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Equal => { - self.machine_st.backtrack(); - } - _ => { - self.machine_st.p += 1; - } - } - } - &Instruction::DefaultExecuteNumberNotEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Equal => { - self.machine_st.backtrack(); - } - _ => { - self.machine_st.p = self.machine_st.cp; - } - } - } - &Instruction::DefaultCallNumberEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Equal => { - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultExecuteNumberEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Equal => { - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultCallNumberGreaterThanOrEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Greater | Ordering::Equal => { - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultExecuteNumberGreaterThanOrEqual(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Greater | Ordering::Equal => { - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultCallNumberGreaterThan(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Greater => { - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultExecuteNumberGreaterThan(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Greater => { - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultCallNumberLessThan(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Less => { - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::DefaultExecuteNumberLessThan(ref at_1, ref at_2) => { - let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); - let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); - - match n1.cmp(&n2) { - Ordering::Less => { - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - // - &Instruction::CallIsAtom(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - read_heap_cell!(d, - (HeapCellValueTag::Atom, (_name, arity)) => { - if arity == 0 { - self.machine_st.p += 1; - } else { - self.machine_st.backtrack(); - } - } - (HeapCellValueTag::Str, s) => { - let arity = cell_as_atom_cell!(self.machine_st.heap[s]) - .get_arity(); - - if arity == 0 { - self.machine_st.p += 1; - } else { - self.machine_st.backtrack(); - } - } - (HeapCellValueTag::Char) => { - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - ); - } - &Instruction::ExecuteIsAtom(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - read_heap_cell!(d, - (HeapCellValueTag::Atom, (_name, arity)) => { - if arity == 0 { - self.machine_st.p = self.machine_st.cp; - } else { - self.machine_st.backtrack(); - } - } - (HeapCellValueTag::Str, s) => { - let arity = cell_as_atom_cell!(self.machine_st.heap[s]) - .get_arity(); - - if arity == 0 { - self.machine_st.p = self.machine_st.cp; - } else { - self.machine_st.backtrack(); - } - } - (HeapCellValueTag::Char) => { - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - ); - } - &Instruction::CallIsAtomic(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - read_heap_cell!(d, - (HeapCellValueTag::Char | HeapCellValueTag::Fixnum | HeapCellValueTag::F64 | - HeapCellValueTag::Cons) => { - self.machine_st.p += 1; - } - (HeapCellValueTag::Atom, (_name, arity)) => { - if arity == 0 { - self.machine_st.p += 1; - } else { - self.machine_st.backtrack(); - } - } - (HeapCellValueTag::Str, s) => { - let arity = cell_as_atom_cell!(self.machine_st.heap[s]) - .get_arity(); - - if arity == 0 { - self.machine_st.p += 1; - } else { - self.machine_st.backtrack(); - } - } - _ => { - self.machine_st.backtrack(); - } - ); - } - &Instruction::ExecuteIsAtomic(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - read_heap_cell!(d, - (HeapCellValueTag::Char | HeapCellValueTag::Fixnum | HeapCellValueTag::F64 | - HeapCellValueTag::Cons) => { - self.machine_st.p = self.machine_st.cp; - } - (HeapCellValueTag::Atom, (_name, arity)) => { - if arity == 0 { - self.machine_st.p = self.machine_st.cp; - } else { - self.machine_st.backtrack(); - } - } - (HeapCellValueTag::Str, s) => { - let arity = cell_as_atom_cell!(self.machine_st.heap[s]) - .get_arity(); - - if arity == 0 { - self.machine_st.p = self.machine_st.cp; - } else { - self.machine_st.backtrack(); - } - } - _ => { - self.machine_st.backtrack(); - } - ); - } - &Instruction::CallIsCompound(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - read_heap_cell!(d, - (HeapCellValueTag::Lis | - HeapCellValueTag::PStrLoc | - HeapCellValueTag::CStr) => { - self.machine_st.p += 1; - } - (HeapCellValueTag::Str, s) => { - let arity = cell_as_atom_cell!(self.machine_st.heap[s]) - .get_arity(); - - if arity > 0 { - self.machine_st.p += 1; - } else { - self.machine_st.backtrack(); - } - } - (HeapCellValueTag::Atom, (_name, arity)) => { - if arity > 0 { - self.machine_st.p += 1; - } else { - self.machine_st.backtrack(); - } - } - _ => { - self.machine_st.backtrack(); - } - ); - } - &Instruction::ExecuteIsCompound(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - read_heap_cell!(d, - (HeapCellValueTag::Lis | - HeapCellValueTag::PStrLoc | - HeapCellValueTag::CStr) => { - self.machine_st.p = self.machine_st.cp; - } - (HeapCellValueTag::Str, s) => { - let arity = cell_as_atom_cell!(self.machine_st.heap[s]) - .get_arity(); - - if arity > 0 { - self.machine_st.p = self.machine_st.cp; - } else { - self.machine_st.backtrack(); - } - } - (HeapCellValueTag::Atom, (_name, arity)) => { - if arity > 0 { - self.machine_st.p = self.machine_st.cp; - } else { - self.machine_st.backtrack(); - } - } - _ => { - self.machine_st.backtrack(); - } - ); - } - &Instruction::CallIsInteger(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - match Number::try_from(d) { - Ok(Number::Fixnum(_) | Number::Integer(_)) => { - self.machine_st.p += 1; - } - Ok(Number::Rational(n)) => { - if n.denominator().is_one() { - self.machine_st.p += 1; - } else { - self.machine_st.backtrack(); - } - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::ExecuteIsInteger(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - match Number::try_from(d) { - Ok(Number::Fixnum(_) | Number::Integer(_)) => { - self.machine_st.p = self.machine_st.cp; - } - Ok(Number::Rational(n)) => { - if n.denominator().is_one() { - self.machine_st.p = self.machine_st.cp; - } else { - self.machine_st.backtrack(); - } - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::CallIsNumber(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - match Number::try_from(d) { - Ok(_) => { - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::ExecuteIsNumber(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - match Number::try_from(d) { - Ok(_) => { - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::CallIsRational(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - read_heap_cell!(d, - (HeapCellValueTag::Cons, ptr) => { - match_untyped_arena_ptr!(ptr, - (ArenaHeaderTag::Rational | ArenaHeaderTag::Integer, _r) => { - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - ); - } - (HeapCellValueTag::Fixnum) => { - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - ); - } - &Instruction::ExecuteIsRational(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - read_heap_cell!(d, - (HeapCellValueTag::Cons, ptr) => { - match_untyped_arena_ptr!(ptr, - (ArenaHeaderTag::Rational | ArenaHeaderTag::Integer, _r) => { - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - ); - } - (HeapCellValueTag::Fixnum) => { - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - ); - } - &Instruction::CallIsFloat(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - match Number::try_from(d) { - Ok(Number::Float(_)) => { - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::ExecuteIsFloat(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - match Number::try_from(d) { - Ok(Number::Float(_)) => { - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::CallIsNonVar(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - match d.get_tag() { - HeapCellValueTag::AttrVar | - HeapCellValueTag::Var | - HeapCellValueTag::StackVar => { - self.machine_st.backtrack(); - } - _ => { - self.machine_st.p += 1; - } - } - } - &Instruction::ExecuteIsNonVar(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - match d.get_tag() { - HeapCellValueTag::AttrVar | - HeapCellValueTag::Var | - HeapCellValueTag::StackVar => { - self.machine_st.backtrack(); - } - _ => { - self.machine_st.p = self.machine_st.cp; - } - } - } - &Instruction::CallIsVar(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - match d.get_tag() { - HeapCellValueTag::AttrVar | - HeapCellValueTag::Var | - HeapCellValueTag::StackVar => { - self.machine_st.p += 1; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::ExecuteIsVar(r) => { - let d = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); - - match d.get_tag() { - HeapCellValueTag::AttrVar | - HeapCellValueTag::Var | - HeapCellValueTag::StackVar => { - self.machine_st.p = self.machine_st.cp; - } - _ => { - self.machine_st.backtrack(); - } - } - } - &Instruction::CallNamed(arity, name, ref idx) => { - let idx = idx.get(); - - try_or_throw!( - self.machine_st, - self.try_call(name, arity, idx) - ); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - } - } - &Instruction::ExecuteNamed(arity, name, ref idx) => { - let idx = idx.get(); - - try_or_throw!( - self.machine_st, - self.try_execute(name, arity, idx) - ); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - } - } - &Instruction::DefaultCallNamed(arity, name, ref idx) => { - let idx = idx.get(); - - try_or_throw!( - self.machine_st, - self.try_call(name, arity, idx) - ); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } - } - &Instruction::DefaultExecuteNamed(arity, name, ref idx) => { - let idx = idx.get(); - - try_or_throw!( - self.machine_st, - self.try_execute(name, arity, idx) - ); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } - } - &Instruction::Deallocate => { - self.machine_st.deallocate() - } - &Instruction::JmpByCall(offset) => { - self.machine_st.p += offset; - } - &Instruction::RevJmpBy(offset) => { - self.machine_st.p -= offset; - } - &Instruction::Proceed => { - self.machine_st.p = self.machine_st.cp; - } - &Instruction::GetConstant(_, c, reg) => { - let value = self.machine_st.deref(self.machine_st[reg]); - self.machine_st.write_literal_to_var(value, c); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::GetList(_, reg) => { - let deref_v = self.machine_st.deref(self.machine_st[reg]); - let store_v = self.machine_st.store(deref_v); - - read_heap_cell!(store_v, - (HeapCellValueTag::PStrLoc, h) => { - let (h, n) = pstr_loc_and_offset(&self.machine_st.heap, h); - - self.machine_st.s = HeapPtr::PStrChar(h, n.get_num() as usize); - self.machine_st.s_offset = 0; - self.machine_st.mode = MachineMode::Read; - } - (HeapCellValueTag::CStr) => { - let h = self.machine_st.heap.len(); - self.machine_st.heap.push(store_v); - - self.machine_st.s = HeapPtr::PStrChar(h, 0); - self.machine_st.s_offset = 0; - self.machine_st.mode = MachineMode::Read; - } - (HeapCellValueTag::Str, s) => { - let (name, arity) = cell_as_atom_cell!(self.machine_st.heap[s]) - .get_name_and_arity(); - - if name == atom!(".") && arity == 2 { - self.machine_st.s = HeapPtr::HeapCell(s+1); - self.machine_st.s_offset = 0; - self.machine_st.mode = MachineMode::Read; - } else { - self.machine_st.backtrack(); - continue; - } - } - (HeapCellValueTag::Lis, l) => { - self.machine_st.s = HeapPtr::HeapCell(l); - self.machine_st.s_offset = 0; - self.machine_st.mode = MachineMode::Read; - } - (HeapCellValueTag::AttrVar | HeapCellValueTag::Var | HeapCellValueTag::StackVar) => { - let h = self.machine_st.heap.len(); - - self.machine_st.heap.push(list_loc_as_cell!(h+1)); - self.machine_st.bind(store_v.as_var().unwrap(), heap_loc_as_cell!(h)); - - self.machine_st.mode = MachineMode::Write; - } - _ => { - self.machine_st.backtrack(); - continue; - } - ); - - self.machine_st.p += 1; - } - &Instruction::GetPartialString(_, string, reg, has_tail) => { - let deref_v = self.machine_st.deref(self.machine_st[reg]); - let store_v = self.machine_st.store(deref_v); - - read_heap_cell!(store_v, - (HeapCellValueTag::Str | - HeapCellValueTag::Lis | - HeapCellValueTag::PStrLoc | - HeapCellValueTag::CStr) => { - self.machine_st.match_partial_string(store_v, string, has_tail); - } - (HeapCellValueTag::AttrVar | - HeapCellValueTag::StackVar | - HeapCellValueTag::Var) => { - let target_cell = self.machine_st.push_str_to_heap( - string.as_str(), - has_tail, - ); - - self.machine_st.bind( - store_v.as_var().unwrap(), - target_cell, - ); - } - _ => { - self.machine_st.backtrack(); - continue; - } - ); - - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::GetStructure(_lvl, name, arity, reg) => { - let deref_v = self.machine_st.deref(self.machine_st[reg]); - let store_v = self.machine_st.store(deref_v); - - read_heap_cell!(store_v, - (HeapCellValueTag::Str, a) => { - read_heap_cell!(self.machine_st.heap[a], - (HeapCellValueTag::Atom, (result_name, result_arity)) => { - if arity == result_arity && name == result_name { - self.machine_st.s = HeapPtr::HeapCell(a + 1); - self.machine_st.s_offset = 0; - self.machine_st.mode = MachineMode::Read; - } else { - self.machine_st.backtrack(); - continue; - } - } - _ => { - unreachable!(); - } - ); - } - (HeapCellValueTag::AttrVar | HeapCellValueTag::Var | HeapCellValueTag::StackVar) => { - let h = self.machine_st.heap.len(); - - self.machine_st.heap.push(str_loc_as_cell!(h+1)); - self.machine_st.heap.push(atom_as_cell!(name, arity)); - - self.machine_st.bind(store_v.as_var().unwrap(), heap_loc_as_cell!(h)); - self.machine_st.mode = MachineMode::Write; - } - _ => { - self.machine_st.backtrack(); - continue; - } - ); - - self.machine_st.p += 1; - } - &Instruction::GetVariable(norm, arg) => { - self.machine_st[norm] = self.machine_st.registers[arg]; - self.machine_st.p += 1; - } - &Instruction::GetValue(norm, arg) => { - let norm_addr = self.machine_st[norm]; - let reg_addr = self.machine_st.registers[arg]; - - unify_fn!(&mut self.machine_st, norm_addr, reg_addr); - - if self.machine_st.fail { - self.machine_st.backtrack(); - continue; - } - - self.machine_st.p += 1; - } - &Instruction::UnifyConstant(v) => { - match self.machine_st.mode { - MachineMode::Read => { - let addr = self.machine_st.read_s(); - - self.machine_st.write_literal_to_var(addr, v); - - if self.machine_st.fail { - self.machine_st.backtrack(); - continue; - } else { - self.machine_st.s_offset += 1; - } - } - MachineMode::Write => { - self.machine_st.heap.push(v); - } - } - - self.machine_st.p += 1; - } - &Instruction::UnifyLocalValue(reg) => { - match self.machine_st.mode { - MachineMode::Read => { - let reg_addr = self.machine_st[reg]; - let value = self.machine_st.read_s(); - - unify_fn!(&mut self.machine_st, reg_addr, value); - - if self.machine_st.fail { - self.machine_st.backtrack(); - continue; - } else { - self.machine_st.s_offset += 1; - } - } - MachineMode::Write => { - let value = self.machine_st.store(self.machine_st.deref(self.machine_st[reg])); - let h = self.machine_st.heap.len(); - - read_heap_cell!(value, - (HeapCellValueTag::Var | HeapCellValueTag::AttrVar, hc) => { - let value = self.machine_st.heap[hc]; - - self.machine_st.heap.push(value); - self.machine_st.s_offset += 1; - } - _ => { - self.machine_st.heap.push(heap_loc_as_cell!(h)); - (self.machine_st.bind_fn)( - &mut self.machine_st, - Ref::heap_cell(h), - value, - ); - } - ); - } - } - - self.machine_st.p += 1; - } - &Instruction::UnifyVariable(reg) => { - match self.machine_st.mode { - MachineMode::Read => { - self.machine_st[reg] = self.machine_st.read_s(); - self.machine_st.s_offset += 1; - } - MachineMode::Write => { - let h = self.machine_st.heap.len(); - - self.machine_st.heap.push(heap_loc_as_cell!(h)); - self.machine_st[reg] = heap_loc_as_cell!(h); - } - } - - self.machine_st.p += 1; - } - &Instruction::UnifyValue(reg) => { - match self.machine_st.mode { - MachineMode::Read => { - let reg_addr = self.machine_st[reg]; - let value = self.machine_st.read_s(); - - unify_fn!(&mut self.machine_st, reg_addr, value); - - if self.machine_st.fail { - self.machine_st.backtrack(); - continue; - } else { - self.machine_st.s_offset += 1; - } - } - MachineMode::Write => { - let h = self.machine_st.heap.len(); - self.machine_st.heap.push(heap_loc_as_cell!(h)); - - let addr = self.machine_st.store(self.machine_st[reg]); - (self.machine_st.bind_fn)(&mut self.machine_st, Ref::heap_cell(h), addr); - - // the former code of this match arm was: - - // let addr = self.machine_st.store(self.machine_st[reg]); - // self.machine_st.heap.push(HeapCellValue::Addr(addr)); - - // the old code didn't perform the occurs - // check when enabled and so it was changed to - // the above, which is only slightly less - // efficient when the occurs_check is disabled. - } - } - - self.machine_st.p += 1; - } - &Instruction::UnifyVoid(n) => { - match self.machine_st.mode { - MachineMode::Read => { - self.machine_st.s_offset += n; - } - MachineMode::Write => { - let h = self.machine_st.heap.len(); - - for i in h..h + n { - self.machine_st.heap.push(heap_loc_as_cell!(i)); - } - } - } - - self.machine_st.p += 1; - } - &Instruction::IndexingCode(ref indexing_lines) => { - match &indexing_lines[self.machine_st.oip as usize] { - IndexingLine::Indexing(_) => { - self.execute_switch_on_term(); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } - } - IndexingLine::IndexedChoice(ref indexed_choice) => { - match &indexed_choice[self.machine_st.iip as usize] { - &IndexedChoiceInstruction::Try(offset) => { - self.indexed_try(offset); - } - &IndexedChoiceInstruction::Retry(l) => { - self.retry(l); - - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - } - &IndexedChoiceInstruction::Trust(l) => { - self.trust(l); - - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - } - } - } - IndexingLine::DynamicIndexedChoice(_) => { - let p = self.machine_st.p; - - match self.find_living_dynamic(self.machine_st.oip, self.machine_st.iip) { - Some((offset, oi, ii, is_next_clause)) => { - self.machine_st.p = p; - self.machine_st.oip = oi; - self.machine_st.iip = ii; - - match self.machine_st.dynamic_mode { - FirstOrNext::First if !is_next_clause => { - self.machine_st.p = p + offset; - } - FirstOrNext::First => { - // there's a leading DynamicElse that sets self.machine_st.cc. - // self.machine_st.cc = self.machine_st.global_clock; - - // see that there is a following dynamic_else - // clause so we avoid generating a choice - // point in case there isn't. - match self.find_living_dynamic(oi, ii + 1) { + FirstOrNext::Next => { + let n = self + .machine_st + .stack + .index_or_frame(self.machine_st.b) + .prelude + .num_cells; + + self.machine_st.cc = cell_as_fixnum!( + self.machine_st.stack + [stack_loc!(OrFrame, self.machine_st.b, n - 1)] + ) + .get_num() + as usize; + + if next_i > 0 { + match self.find_living_dynamic_else(p + next_i) { Some(_) => { - self.machine_st.registers[self.machine_st.num_of_args + 1] = - fixnum_as_cell!(Fixnum::build_with(self.machine_st.cc as i64)); - - self.machine_st.num_of_args += 1; - self.indexed_try(offset); - self.machine_st.num_of_args -= 1; + self.retry_me_else(next_i); } None => { - self.machine_st.p = p + offset; - self.machine_st.oip = 0; - self.machine_st.iip = 0; + self.trust_me(); } } + } else { + self.trust_me(); } - FirstOrNext::Next => { - let b = self.machine_st.b; - let n = self.machine_st - .stack - .index_or_frame(b) - .prelude - .num_cells; - self.machine_st.cc = cell_as_fixnum!( - self.machine_st.stack[stack_loc!(OrFrame, b, n-1)] - ).get_num() as usize; + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)( + &mut self.machine_st + ) + ); + } + } + } + None => { + self.machine_st.fail = true; + } + } - if is_next_clause { - match self.find_living_dynamic(self.machine_st.oip, self.machine_st.iip + 1) { - // if we're executing the last instruction - // of the internal block pointed to by - // self.machine_st.iip, we want trust, not retry. - // this is true iff ii + 1 < len. - Some(_) => { - self.retry(offset); + self.machine_st.dynamic_mode = FirstOrNext::Next; - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - } - _ => { - self.trust(offset); + if self.machine_st.fail { + self.machine_st.backtrack(); + } + } + &Instruction::DynamicInternalElse(..) => { + let p = self.machine_st.p; - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) - ); - } - } - } else { - self.trust(offset); + match self.find_living_dynamic_else(p) { + Some((p, next_i)) => { + self.machine_st.p = p; + self.machine_st.oip = 0; + self.machine_st.iip = 0; - try_or_throw!( - self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + match self.machine_st.dynamic_mode { + FirstOrNext::First if next_i == 0 => { + self.machine_st.p += 1; + } + FirstOrNext::First => { + match self.find_living_dynamic_else(p + next_i) { + Some(_) => { + self.machine_st.registers + [self.machine_st.num_of_args + 1] = fixnum_as_cell!( + Fixnum::build_with(self.machine_st.cc as i64) ); + + self.machine_st.num_of_args += 1; + self.try_me_else(next_i); + self.machine_st.num_of_args -= 1; + } + None => { + self.machine_st.p += 1; } } } - } - None => { - self.machine_st.fail = true; + FirstOrNext::Next => { + let n = self + .machine_st + .stack + .index_or_frame(self.machine_st.b) + .prelude + .num_cells; + + self.machine_st.cc = cell_as_fixnum!( + self.machine_st.stack + [stack_loc!(OrFrame, self.machine_st.b, n - 1)] + ) + .get_num() + as usize; + + if next_i > 0 { + match self.find_living_dynamic_else(p + next_i) { + Some(_) => { + self.retry_me_else(next_i); + } + None => { + self.trust_me(); + } + } + } else { + self.trust_me(); + } + + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)( + &mut self.machine_st + ) + ); + } } } + None => { + self.machine_st.fail = true; + } + } - self.machine_st.dynamic_mode = FirstOrNext::Next; + self.machine_st.dynamic_mode = FirstOrNext::Next; - if self.machine_st.fail { + if self.machine_st.fail { + self.machine_st.backtrack(); + } + } + &Instruction::TryMeElse(offset) => { + self.try_me_else(offset); + } + &Instruction::DefaultRetryMeElse(offset) => { + self.retry_me_else(offset); + } + &Instruction::DefaultTrustMe(_) => { + self.trust_me(); + } + &Instruction::RetryMeElse(offset) => { + self.retry_me_else(offset); + + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + } + &Instruction::TrustMe(_) => { + self.trust_me(); + + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + } + &Instruction::NeckCut => { + self.machine_st.neck_cut(); + self.machine_st.p += 1; + } + &Instruction::GetLevel(r) => { + let b0 = self.machine_st.b0; + + self.machine_st[r] = fixnum_as_cell!(Fixnum::as_cutpoint(b0 as i64)); + self.machine_st.p += 1; + } + &Instruction::GetPrevLevel(r) => { + let prev_b = self + .machine_st + .stack + .index_or_frame(self.machine_st.b) + .prelude + .b; + + self.machine_st[r] = fixnum_as_cell!(Fixnum::as_cutpoint(prev_b as i64)); + self.machine_st.p += 1; + } + &Instruction::GetCutPoint(r) => { + self.machine_st[r] = + fixnum_as_cell!(Fixnum::as_cutpoint(self.machine_st.b as i64)); + self.machine_st.p += 1; + } + &Instruction::Cut(r) => { + let value = self.machine_st[r]; + self.machine_st.cut_body(value); + + if self.machine_st.fail { + self.machine_st.backtrack(); + continue; + } + + if (self.machine_st.run_cleaners_fn)(self) { + continue; + } + + self.machine_st.p += 1; + } + &Instruction::Allocate(num_cells) => { + self.machine_st.allocate(num_cells); + } + &Instruction::DefaultCallAcyclicTerm => { + let addr = self.machine_st.registers[1]; + + if self.machine_st.is_cyclic_term(addr) { + self.machine_st.backtrack(); + } else { + self.machine_st.p += 1; + } + } + &Instruction::DefaultExecuteAcyclicTerm => { + let addr = self.machine_st.registers[1]; + + if self.machine_st.is_cyclic_term(addr) { + self.machine_st.backtrack(); + } else { + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::DefaultCallArg => { + try_or_throw!(self.machine_st, self.machine_st.try_arg()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::DefaultExecuteArg => { + try_or_throw!(self.machine_st, self.machine_st.try_arg()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::DefaultCallCompare => { + try_or_throw!(self.machine_st, self.machine_st.compare()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::DefaultExecuteCompare => { + try_or_throw!(self.machine_st, self.machine_st.compare()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::DefaultCallTermGreaterThan => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if let Some(Ordering::Greater) = compare_term_test!(self.machine_st, a1, a2) + { + self.machine_st.p += 1; + } else { + self.machine_st.backtrack(); + } + } + &Instruction::DefaultExecuteTermGreaterThan => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if let Some(Ordering::Greater) = compare_term_test!(self.machine_st, a1, a2) + { + self.machine_st.p = self.machine_st.cp; + } else { + self.machine_st.backtrack(); + } + } + &Instruction::DefaultCallTermLessThan => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if let Some(Ordering::Less) = compare_term_test!(self.machine_st, a1, a2) { + self.machine_st.p += 1; + } else { + self.machine_st.backtrack(); + } + } + &Instruction::DefaultExecuteTermLessThan => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if let Some(Ordering::Less) = compare_term_test!(self.machine_st, a1, a2) { + self.machine_st.p = self.machine_st.cp; + } else { + self.machine_st.backtrack(); + } + } + &Instruction::DefaultCallTermGreaterThanOrEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + match compare_term_test!(self.machine_st, a1, a2) { + Some(Ordering::Greater | Ordering::Equal) => { + self.machine_st.p += 1; + } + _ => { self.machine_st.backtrack(); } } } - } - &Instruction::PutConstant(_, c, reg) => { - self.machine_st[reg] = c; - self.machine_st.p += 1; - } - &Instruction::PutList(_, reg) => { - self.machine_st[reg] = list_loc_as_cell!(self.machine_st.heap.len()); - self.machine_st.p += 1; - } - &Instruction::PutPartialString(_, string, reg, has_tail) => { - let pstr_addr = if has_tail { - if string != atom!("") { - let h = self.machine_st.heap.len(); - self.machine_st.heap.push(string_as_pstr_cell!(string)); + &Instruction::DefaultExecuteTermGreaterThanOrEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; - // the tail will be pushed by the next - // instruction, so don't push one here. - - pstr_loc_as_cell!(h) - } else { - empty_list_as_cell!() + match compare_term_test!(self.machine_st, a1, a2) { + Some(Ordering::Greater | Ordering::Equal) => { + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } } - } else { - string_as_cstr_cell!(string) - }; - - self.machine_st[reg] = pstr_addr; - self.machine_st.p += 1; - } - &Instruction::PutStructure(name, arity, reg) => { - let h = self.machine_st.heap.len(); - - self.machine_st.heap.push(atom_as_cell!(name, arity)); - self.machine_st[reg] = str_loc_as_cell!(h); - - self.machine_st.p += 1; - } - &Instruction::PutUnsafeValue(perm_slot, arg) => { - let s = stack_loc!(AndFrame, self.machine_st.e, perm_slot); - let addr = self.machine_st.store(self.machine_st.deref(stack_loc_as_cell!(s))); - - if addr.is_protected(self.machine_st.e) { - self.machine_st.registers[arg] = addr; - } else { - let h = self.machine_st.heap.len(); - - self.machine_st.heap.push(heap_loc_as_cell!(h)); - (self.machine_st.bind_fn)(&mut self.machine_st, Ref::heap_cell(h), addr); - - self.machine_st.registers[arg] = heap_loc_as_cell!(h); } + &Instruction::DefaultCallTermLessThanOrEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; - self.machine_st.p += 1; - } - &Instruction::PutValue(norm, arg) => { - self.machine_st.registers[arg] = self.machine_st[norm]; - self.machine_st.p += 1; - } - &Instruction::PutVariable(norm, arg) => { - match norm { - RegType::Perm(n) => { - self.machine_st[norm] = stack_loc_as_cell!(AndFrame, self.machine_st.e, n); - self.machine_st.registers[arg] = self.machine_st[norm]; + match compare_term_test!(self.machine_st, a1, a2) { + Some(Ordering::Less | Ordering::Equal) => { + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } } - RegType::Temp(_) => { - let h = self.machine_st.heap.len(); - self.machine_st.heap.push(heap_loc_as_cell!(h)); + } + &Instruction::DefaultExecuteTermLessThanOrEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; - self.machine_st[norm] = heap_loc_as_cell!(h); - self.machine_st.registers[arg] = heap_loc_as_cell!(h); + match compare_term_test!(self.machine_st, a1, a2) { + Some(Ordering::Less | Ordering::Equal) => { + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } } - }; - - self.machine_st.p += 1; - } - &Instruction::SetConstant(c) => { - self.machine_st.heap.push(c); - self.machine_st.p += 1; - } - &Instruction::SetLocalValue(reg) => { - let addr = self.machine_st.deref(self.machine_st[reg]); - let stored_v = self.machine_st.store(addr); - - if stored_v.is_stack_var() { - let h = self.machine_st.heap.len(); - self.machine_st.heap.push(heap_loc_as_cell!(h)); - (self.machine_st.bind_fn)(&mut self.machine_st, Ref::heap_cell(h), stored_v); - } else { - self.machine_st.heap.push(stored_v); } - - self.machine_st.p += 1; - } - &Instruction::SetVariable(reg) => { - let h = self.machine_st.heap.len(); - - self.machine_st.heap.push(heap_loc_as_cell!(h)); - self.machine_st[reg] = heap_loc_as_cell!(h); - - self.machine_st.p += 1; - } - &Instruction::SetValue(reg) => { - let heap_val = self.machine_st.store(self.machine_st[reg]); - self.machine_st.heap.push(heap_val); - self.machine_st.p += 1; - } - &Instruction::SetVoid(n) => { - let h = self.machine_st.heap.len(); - - for i in h..h + n { - self.machine_st.heap.push(heap_loc_as_cell!(i)); - } - - self.machine_st.p += 1; - } - // - &Instruction::CallAtomChars => { - self.atom_chars(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteAtomChars => { - self.atom_chars(); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallAtomCodes => { - try_or_throw!(self.machine_st, self.atom_codes()); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - self.machine_st.p += 1; - } - } - &Instruction::ExecuteAtomCodes => { - try_or_throw!(self.machine_st, self.atom_codes()); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { - self.machine_st.p = self.machine_st.cp; - } - } - &Instruction::CallAtomLength => { - self.atom_length(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteAtomLength => { - self.atom_length(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallBindFromRegister => { - self.bind_from_register(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteBindFromRegister => { - self.bind_from_register(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallContinuation => { - try_or_throw!(self.machine_st, self.call_continuation(false)); - } - &Instruction::ExecuteContinuation => { - try_or_throw!(self.machine_st, self.call_continuation(true)); - } - &Instruction::CallCharCode => { - try_or_throw!(self.machine_st, self.char_code()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCharCode => { - try_or_throw!(self.machine_st, self.char_code()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCharType => { - self.char_type(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCharType => { - self.char_type(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCharsToNumber => { - try_or_throw!(self.machine_st, self.chars_to_number()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCharsToNumber => { - try_or_throw!(self.machine_st, self.chars_to_number()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCodesToNumber => { - try_or_throw!(self.machine_st, self.codes_to_number()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCodesToNumber => { - try_or_throw!(self.machine_st, self.codes_to_number()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCopyTermWithoutAttrVars => { - self.copy_term_without_attr_vars(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCopyTermWithoutAttrVars => { - self.copy_term_without_attr_vars(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCheckCutPoint => { - self.check_cut_point(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCheckCutPoint => { - self.check_cut_point(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallClose => { - try_or_throw!(self.machine_st, self.close()); - self.machine_st.p += 1; - } - &Instruction::ExecuteClose => { - try_or_throw!(self.machine_st, self.close()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallCopyToLiftedHeap => { - self.copy_to_lifted_heap(); - self.machine_st.p += 1; - } - &Instruction::ExecuteCopyToLiftedHeap => { - self.copy_to_lifted_heap(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallCreatePartialString => { - self.create_partial_string(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCreatePartialString => { - self.create_partial_string(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCurrentHostname => { - self.current_hostname(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCurrentHostname => { - self.current_hostname(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCurrentInput => { - try_or_throw!(self.machine_st, self.current_input()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCurrentInput => { - try_or_throw!(self.machine_st, self.current_input()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCurrentOutput => { - try_or_throw!(self.machine_st, self.current_output()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCurrentOutput => { - try_or_throw!(self.machine_st, self.current_output()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDirectoryFiles => { - try_or_throw!(self.machine_st, self.directory_files()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteDirectoryFiles => { - try_or_throw!(self.machine_st, self.directory_files()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallFileSize => { - self.file_size(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteFileSize => { - self.file_size(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallFileExists => { - self.file_exists(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteFileExists => { - self.file_exists(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDirectoryExists => { - self.directory_exists(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteDirectoryExists => { - self.directory_exists(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDirectorySeparator => { - self.directory_separator(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteDirectorySeparator => { - self.directory_separator(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallMakeDirectory => { - self.make_directory(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteMakeDirectory => { - self.make_directory(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallMakeDirectoryPath => { - self.make_directory_path(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteMakeDirectoryPath => { - self.make_directory_path(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDeleteFile => { - self.delete_file(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteDeleteFile => { - self.delete_file(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallRenameFile => { - self.rename_file(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteRenameFile => { - self.rename_file(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallFileCopy => { - self.file_copy(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteFileCopy => { - self.file_copy(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallWorkingDirectory => { - try_or_throw!(self.machine_st, self.working_directory()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteWorkingDirectory => { - try_or_throw!(self.machine_st, self.working_directory()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDeleteDirectory => { - self.delete_directory(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteDeleteDirectory => { - self.delete_directory(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallPathCanonical => { - try_or_throw!(self.machine_st, self.path_canonical()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePathCanonical => { - try_or_throw!(self.machine_st, self.path_canonical()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallFileTime => { - self.file_time(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteFileTime => { - self.file_time(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDynamicModuleResolution(arity) => { - let (module_name, key) = try_or_throw!( - self.machine_st, - self.dynamic_module_resolution(arity - 2) - ); - - try_or_throw!( - self.machine_st, - self.call_clause(module_name, key) - ); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } - } - &Instruction::ExecuteDynamicModuleResolution(arity) => { - let (module_name, key) = try_or_throw!( - self.machine_st, - self.dynamic_module_resolution(arity - 2) - ); - - try_or_throw!( - self.machine_st, - self.execute_clause(module_name, key) - ); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } - } - &Instruction::CallFetchGlobalVar => { - self.fetch_global_var(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteFetchGlobalVar => { - self.fetch_global_var(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallFirstStream => { - self.first_stream(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteFirstStream => { - self.first_stream(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallFlushOutput => { - try_or_throw!(self.machine_st, self.flush_output()); - self.machine_st.p += 1; - } - &Instruction::ExecuteFlushOutput => { - try_or_throw!(self.machine_st, self.flush_output()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallGetByte => { - try_or_throw!(self.machine_st, self.get_byte()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetByte => { - try_or_throw!(self.machine_st, self.get_byte()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetChar => { - try_or_throw!(self.machine_st, self.get_char()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetChar => { - try_or_throw!(self.machine_st, self.get_char()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetNChars => { - try_or_throw!(self.machine_st, self.get_n_chars()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetNChars => { - try_or_throw!(self.machine_st, self.get_n_chars()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetCode => { - try_or_throw!(self.machine_st, self.get_code()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetCode => { - try_or_throw!(self.machine_st, self.get_code()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetSingleChar => { - try_or_throw!(self.machine_st, self.get_single_char()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetSingleChar => { - try_or_throw!(self.machine_st, self.get_single_char()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallTruncateIfNoLiftedHeapGrowthDiff => { - self.truncate_if_no_lifted_heap_growth_diff(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteTruncateIfNoLiftedHeapGrowthDiff => { - self.truncate_if_no_lifted_heap_growth_diff(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallTruncateIfNoLiftedHeapGrowth => { - self.truncate_if_no_lifted_heap_growth(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteTruncateIfNoLiftedHeapGrowth => { - self.truncate_if_no_lifted_heap_growth(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetAttributedVariableList => { - self.get_attributed_variable_list(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetAttributedVariableList => { - self.get_attributed_variable_list(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetAttrVarQueueDelimiter => { - self.get_attr_var_queue_delimiter(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetAttrVarQueueDelimiter => { - self.get_attr_var_queue_delimiter(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetAttrVarQueueBeyond => { - self.get_attr_var_queue_beyond(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetAttrVarQueueBeyond => { - self.get_attr_var_queue_beyond(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetBValue => { - self.get_b_value(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetBValue => { - self.get_b_value(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetContinuationChunk => { - self.get_continuation_chunk(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetContinuationChunk => { - self.get_continuation_chunk(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallLookupDBRef => { - self.lookup_db_ref(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteLookupDBRef => { - self.lookup_db_ref(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetNextOpDBRef => { - self.get_next_op_db_ref(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetNextOpDBRef => { - self.get_next_op_db_ref(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallIsPartialString => { - self.is_partial_string(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteIsPartialString => { - self.is_partial_string(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallHalt | &Instruction::ExecuteHalt => { - return self.halt(); - } - &Instruction::CallGetLiftedHeapFromOffset => { - self.get_lifted_heap_from_offset(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetLiftedHeapFromOffset => { - self.get_lifted_heap_from_offset(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetLiftedHeapFromOffsetDiff => { - self.get_lifted_heap_from_offset_diff(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetLiftedHeapFromOffsetDiff => { - self.get_lifted_heap_from_offset_diff(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetSCCCleaner => { - self.get_scc_cleaner(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetSCCCleaner => { - self.get_scc_cleaner(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallHeadIsDynamic => { - self.head_is_dynamic(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteHeadIsDynamic => { - self.head_is_dynamic(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallInstallSCCCleaner => { - self.install_scc_cleaner(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteInstallSCCCleaner => { - self.install_scc_cleaner(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallInstallInferenceCounter => { - try_or_throw!(self.machine_st, self.install_inference_counter()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteInstallInferenceCounter => { - try_or_throw!(self.machine_st, self.install_inference_counter()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallLiftedHeapLength => { - self.lifted_heap_length(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteLiftedHeapLength => { - self.lifted_heap_length(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallLoadLibraryAsStream => { - try_or_throw!(self.machine_st, self.load_library_as_stream()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteLoadLibraryAsStream => { - try_or_throw!(self.machine_st, self.load_library_as_stream()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallModuleExists => { - self.module_exists(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteModuleExists => { - self.module_exists(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallNextEP => { - self.next_ep(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteNextEP => { - self.next_ep(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallNoSuchPredicate => { - try_or_throw!(self.machine_st, self.no_such_predicate()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteNoSuchPredicate => { - try_or_throw!(self.machine_st, self.no_such_predicate()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallNumberToChars => { - self.number_to_chars(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteNumberToChars => { - self.number_to_chars(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallNumberToCodes => { - self.number_to_codes(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteNumberToCodes => { - self.number_to_codes(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallOpDeclaration => { - try_or_throw!(self.machine_st, self.op_declaration()); - self.machine_st.p += 1; - } - &Instruction::ExecuteOpDeclaration => { - try_or_throw!(self.machine_st, self.op_declaration()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallOpen => { - try_or_throw!(self.machine_st, self.open()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteOpen => { - try_or_throw!(self.machine_st, self.open()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallSetStreamOptions => { - try_or_throw!(self.machine_st, self.set_stream_options()); - self.machine_st.p += 1; - } - &Instruction::ExecuteSetStreamOptions => { - try_or_throw!(self.machine_st, self.set_stream_options()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallNextStream => { - self.next_stream(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteNextStream => { - self.next_stream(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallPartialStringTail => { - self.partial_string_tail(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePartialStringTail => { - self.partial_string_tail(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallPeekByte => { - try_or_throw!(self.machine_st, self.peek_byte()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePeekByte => { - try_or_throw!(self.machine_st, self.peek_byte()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallPeekChar => { - try_or_throw!(self.machine_st, self.peek_char()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePeekChar => { - try_or_throw!(self.machine_st, self.peek_char()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallPeekCode => { - try_or_throw!(self.machine_st, self.peek_code()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePeekCode => { - try_or_throw!(self.machine_st, self.peek_code()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallPointsToContinuationResetMarker => { - self.points_to_continuation_reset_marker(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePointsToContinuationResetMarker => { - self.points_to_continuation_reset_marker(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallPutByte => { - try_or_throw!(self.machine_st, self.put_byte()); - self.machine_st.p += 1; - } - &Instruction::ExecutePutByte => { - try_or_throw!(self.machine_st, self.put_byte()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallPutChar => { - try_or_throw!(self.machine_st, self.put_char()); - self.machine_st.p += 1; - } - &Instruction::ExecutePutChar => { - try_or_throw!(self.machine_st, self.put_char()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallPutChars => { - try_or_throw!(self.machine_st, self.put_chars()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePutChars => { - try_or_throw!(self.machine_st, self.put_chars()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallPutCode => { - try_or_throw!(self.machine_st, self.put_code()); - self.machine_st.p += 1; - } - &Instruction::ExecutePutCode => { - try_or_throw!(self.machine_st, self.put_code()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallReadQueryTerm => { - try_or_throw!(self.machine_st, self.read_query_term()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteReadQueryTerm => { - try_or_throw!(self.machine_st, self.read_query_term()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallReadTerm => { - try_or_throw!(self.machine_st, self.read_term()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteReadTerm => { - try_or_throw!(self.machine_st, self.read_term()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallRedoAttrVarBinding => { - self.redo_attr_var_binding(); - self.machine_st.p += 1; - } - &Instruction::ExecuteRedoAttrVarBinding => { - self.redo_attr_var_binding(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallRemoveCallPolicyCheck => { - self.remove_call_policy_check(); - self.machine_st.p += 1; - } - &Instruction::ExecuteRemoveCallPolicyCheck => { - self.remove_call_policy_check(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallRemoveInferenceCounter => { - self.remove_inference_counter(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteRemoveInferenceCounter => { - self.remove_inference_counter(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallResetContinuationMarker => { - self.reset_continuation_marker(); - self.machine_st.p += 1; - } - &Instruction::ExecuteResetContinuationMarker => { - self.reset_continuation_marker(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallRestoreCutPolicy => { - self.restore_cut_policy(); - self.machine_st.p += 1; - } - &Instruction::ExecuteRestoreCutPolicy => { - self.restore_cut_policy(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallSetCutPoint(r) => { - if !self.set_cut_point(r) { + &Instruction::DefaultCallCopyTerm => { + self.machine_st.copy_term(AttrVarPolicy::DeepCopy); step_or_fail!(self, self.machine_st.p += 1); } - } - &Instruction::ExecuteSetCutPoint(r) => { - let cp = self.machine_st.cp; + &Instruction::DefaultExecuteCopyTerm => { + self.machine_st.copy_term(AttrVarPolicy::DeepCopy); - if !self.set_cut_point(r) { + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::DefaultCallTermEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if self.machine_st.eq_test(a1, a2) { + self.machine_st.backtrack(); + } else { + self.machine_st.p += 1; + } + } + &Instruction::DefaultExecuteTermEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if self.machine_st.eq_test(a1, a2) { + self.machine_st.backtrack(); + } else { + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::DefaultCallGround => { + if self.machine_st.ground_test() { + self.machine_st.backtrack(); + } else { + self.machine_st.p += 1; + } + } + &Instruction::DefaultExecuteGround => { + if self.machine_st.ground_test() { + self.machine_st.backtrack(); + } else { + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::DefaultCallFunctor => { + try_or_throw!(self.machine_st, self.machine_st.try_functor()); + + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::DefaultExecuteFunctor => { + try_or_throw!(self.machine_st, self.machine_st.try_functor()); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::DefaultCallTermNotEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if let Some(Ordering::Equal) = compare_term_test!(self.machine_st, a1, a2) { + self.machine_st.backtrack(); + } else { + self.machine_st.p += 1; + } + } + &Instruction::DefaultExecuteTermNotEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if let Some(Ordering::Equal) = compare_term_test!(self.machine_st, a1, a2) { + self.machine_st.backtrack(); + } else { + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::DefaultCallSort => { + try_or_throw!(self.machine_st, self.machine_st.sort()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::DefaultExecuteSort => { + try_or_throw!(self.machine_st, self.machine_st.sort()); step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } else { - // run_cleaners in set_cut_point calls call_by_index. - // replace the effect of call_by_index with that - // of execute_by_index here. + } + &Instruction::DefaultCallKeySort => { + try_or_throw!( + self.machine_st, + self.machine_st.keysort(VarComparison::Distinct) + ); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::DefaultExecuteKeySort => { + try_or_throw!( + self.machine_st, + self.machine_st.keysort(VarComparison::Distinct) + ); - self.machine_st.cp = cp; + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + self.machine_st.p = self.machine_st.cp; + } } - } - &Instruction::CallSetInput => { - try_or_throw!(self.machine_st, self.set_input()); - self.machine_st.p += 1; - } - &Instruction::ExecuteSetInput => { - try_or_throw!(self.machine_st, self.set_input()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallSetOutput => { - try_or_throw!(self.machine_st, self.set_output()); - self.machine_st.p += 1; - } - &Instruction::ExecuteSetOutput => { - try_or_throw!(self.machine_st, self.set_output()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallStoreBacktrackableGlobalVar => { - self.store_backtrackable_global_var(); - self.machine_st.p += 1; - } - &Instruction::ExecuteStoreBacktrackableGlobalVar => { - self.store_backtrackable_global_var(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallStoreGlobalVar => { - self.store_global_var(); - self.machine_st.p += 1; - } - &Instruction::ExecuteStoreGlobalVar => { - self.store_global_var(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallStreamProperty => { - try_or_throw!(self.machine_st, self.stream_property()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteStreamProperty => { - try_or_throw!(self.machine_st, self.stream_property()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallSetStreamPosition => { - try_or_throw!(self.machine_st, self.set_stream_position()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteSetStreamPosition => { - try_or_throw!(self.machine_st, self.set_stream_position()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallInferenceLevel => { - self.inference_level(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteInferenceLevel => { - self.inference_level(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCleanUpBlock => { - self.clean_up_block(); - self.machine_st.p += 1; - } - &Instruction::ExecuteCleanUpBlock => { - self.clean_up_block(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallFail | &Instruction::ExecuteFail => { - self.machine_st.backtrack(); - } - &Instruction::CallGetBall => { - self.get_ball(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetBall => { - self.get_ball(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetCurrentBlock => { - self.get_current_block(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetCurrentBlock => { - self.get_current_block(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetCurrentSCCBlock => { - self.get_current_scc_block(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetCurrentSCCBlock => { - self.get_current_scc_block(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetCutPoint => { - self.get_cut_point(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetCutPoint => { - self.get_cut_point(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetDoubleQuotes => { - self.get_double_quotes(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetDoubleQuotes => { - self.get_double_quotes(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetUnknown => { - self.get_unknown(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetUnknown => { - self.get_unknown(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallInstallNewBlock => { - self.machine_st.install_new_block(self.machine_st.registers[1]); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteInstallNewBlock => { - self.machine_st.install_new_block(self.machine_st.registers[1]); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallMaybe => { - self.maybe(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteMaybe => { - self.maybe(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCpuNow => { - self.cpu_now(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCpuNow => { - self.cpu_now(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDeterministicLengthRundown => { - try_or_throw!(self.machine_st, self.det_length_rundown()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteDeterministicLengthRundown => { - try_or_throw!(self.machine_st, self.det_length_rundown()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallHttpOpen => { - #[cfg(feature = "http")] - try_or_throw!(self.machine_st, self.http_open()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteHttpOpen => { - #[cfg(feature = "http")] - try_or_throw!(self.machine_st, self.http_open()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallHttpListen => { - #[cfg(feature = "http")] - try_or_throw!(self.machine_st, self.http_listen()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteHttpListen => { - #[cfg(feature = "http")] - try_or_throw!(self.machine_st, self.http_listen()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallHttpAccept => { - #[cfg(feature = "http")] - try_or_throw!(self.machine_st, self.http_accept()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteHttpAccept => { - #[cfg(feature = "http")] - try_or_throw!(self.machine_st, self.http_accept()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallHttpAnswer => { - #[cfg(feature = "http")] - try_or_throw!(self.machine_st, self.http_answer()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteHttpAnswer => { - #[cfg(feature = "http")] - try_or_throw!(self.machine_st, self.http_answer()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallLoadForeignLib => { - #[cfg(feature = "ffi")] - try_or_throw!(self.machine_st, self.load_foreign_lib()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteLoadForeignLib => { - #[cfg(feature = "ffi")] - try_or_throw!(self.machine_st, self.load_foreign_lib()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallForeignCall => { - #[cfg(feature = "ffi")] - try_or_throw!(self.machine_st, self.foreign_call()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteForeignCall => { - #[cfg(feature = "ffi")] - try_or_throw!(self.machine_st, self.foreign_call()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDefineForeignStruct => { - #[cfg(feature = "ffi")] - try_or_throw!(self.machine_st, self.define_foreign_struct()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteDefineForeignStruct => { - #[cfg(feature = "ffi")] - try_or_throw!(self.machine_st, self.define_foreign_struct()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCurrentTime => { - self.current_time(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCurrentTime => { - self.current_time(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallQuotedToken => { - self.quoted_token(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteQuotedToken => { - self.quoted_token(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallReadFromChars => { - try_or_throw!(self.machine_st, self.read_from_chars()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteReadFromChars => { - try_or_throw!(self.machine_st, self.read_from_chars()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallReadTermFromChars => { - try_or_throw!(self.machine_st, self.read_term_from_chars()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteReadTermFromChars => { - try_or_throw!(self.machine_st, self.read_term_from_chars()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallResetBlock => { - self.reset_block(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteResetBlock => { - self.reset_block(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallResetSCCBlock => { - self.reset_scc_block(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteResetSCCBlock => { - self.reset_scc_block(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallReturnFromVerifyAttr | - &Instruction::ExecuteReturnFromVerifyAttr => { - self.return_from_verify_attr(); - } - &Instruction::CallSetBall => { - self.set_ball(); - self.machine_st.p += 1; - } - &Instruction::ExecuteSetBall => { - self.set_ball(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallPushBallStack => { - self.push_ball_stack(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePushBallStack => { - self.push_ball_stack(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallPopBallStack => { - self.pop_ball_stack(); - self.machine_st.p += 1; - } - &Instruction::ExecutePopBallStack => { - self.pop_ball_stack(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallPopFromBallStack => { - self.pop_from_ball_stack(); - self.machine_st.p += 1; - } - &Instruction::ExecutePopFromBallStack => { - self.pop_from_ball_stack(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallSetCutPointByDefault(r) => { - self.set_cut_point_by_default(r); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteSetCutPointByDefault(r) => { - self.set_cut_point_by_default(r); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallSetDoubleQuotes => { - self.set_double_quotes(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteSetDoubleQuotes => { - self.set_double_quotes(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallSetUnknown => { - self.set_unknown(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteSetUnknown => { - self.set_unknown(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallSetSeed => { - self.set_seed(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteSetSeed => { - self.set_seed(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallSkipMaxList => { - try_or_throw!(self.machine_st, self.machine_st.skip_max_list()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteSkipMaxList => { - try_or_throw!(self.machine_st, self.machine_st.skip_max_list()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallSleep => { - self.sleep(); - self.machine_st.p += 1; - } - &Instruction::ExecuteSleep => { - self.sleep(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallSocketClientOpen => { - try_or_throw!(self.machine_st, self.socket_client_open()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteSocketClientOpen => { - try_or_throw!(self.machine_st, self.socket_client_open()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallSocketServerOpen => { - try_or_throw!(self.machine_st, self.socket_server_open()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteSocketServerOpen => { - try_or_throw!(self.machine_st, self.socket_server_open()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallSocketServerAccept => { - try_or_throw!(self.machine_st, self.socket_server_accept()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteSocketServerAccept => { - try_or_throw!(self.machine_st, self.socket_server_accept()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallSocketServerClose => { - try_or_throw!(self.machine_st, self.socket_server_close()); - self.machine_st.p += 1; - } - &Instruction::ExecuteSocketServerClose => { - try_or_throw!(self.machine_st, self.socket_server_close()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallTLSAcceptClient => { - #[cfg(feature = "tls")] - try_or_throw!(self.machine_st, self.tls_accept_client()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteTLSAcceptClient => { - #[cfg(feature = "tls")] - try_or_throw!(self.machine_st, self.tls_accept_client()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallTLSClientConnect => { - #[cfg(feature = "tls")] - try_or_throw!(self.machine_st, self.tls_client_connect()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteTLSClientConnect => { - #[cfg(feature = "tls")] - try_or_throw!(self.machine_st, self.tls_client_connect()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallSucceed => { - self.machine_st.p += 1; - } - &Instruction::ExecuteSucceed => { - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallTermAttributedVariables => { - self.term_attributed_variables(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteTermAttributedVariables => { - self.term_attributed_variables(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallTermVariables => { - self.term_variables(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteTermVariables => { - self.term_variables(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallTermVariablesUnderMaxDepth => { - self.term_variables_under_max_depth(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteTermVariablesUnderMaxDepth => { - self.term_variables_under_max_depth(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallTruncateLiftedHeapTo => { - self.truncate_lifted_heap_to(); - self.machine_st.p += 1; - } - &Instruction::ExecuteTruncateLiftedHeapTo => { - self.truncate_lifted_heap_to(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallUnifyWithOccursCheck => { - self.unify_with_occurs_check(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteUnifyWithOccursCheck => { - self.unify_with_occurs_check(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallUnwindEnvironments => { - if !self.unwind_environments() { - self.machine_st.p += 1; + &Instruction::DefaultCallIs(r, at) => { + try_or_throw!(self.machine_st, self.machine_st.is(r, at)); + step_or_fail!(self, self.machine_st.p += 1); } - } - &Instruction::ExecuteUnwindEnvironments => { - if !self.unwind_environments() { + &Instruction::DefaultExecuteIs(r, at) => { + try_or_throw!(self.machine_st, self.machine_st.is(r, at)); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + Instruction::DefaultCallGetNumber(at) => { + try_or_throw!(self.machine_st, self.machine_st.get_number(at)); + step_or_fail!(self, self.machine_st.p += 1); + } + Instruction::DefaultExecuteGetNumber(at) => { + try_or_throw!(self.machine_st, self.machine_st.get_number(at)); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallAcyclicTerm => { + let addr = self.machine_st.registers[1]; + + if self.machine_st.is_cyclic_term(addr) { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + &Instruction::ExecuteAcyclicTerm => { + let addr = self.machine_st.registers[1]; + + if self.machine_st.is_cyclic_term(addr) { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallArg => { + try_or_throw!(self.machine_st, self.machine_st.try_arg()); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + &Instruction::ExecuteArg => { + try_or_throw!(self.machine_st, self.machine_st.try_arg()); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallCompare => { + try_or_throw!(self.machine_st, self.machine_st.compare()); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + &Instruction::ExecuteCompare => { + try_or_throw!(self.machine_st, self.machine_st.compare()); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallTermGreaterThan => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if let Some(Ordering::Greater) = compare_term_test!(self.machine_st, a1, a2) + { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } else { + self.machine_st.backtrack(); + } + } + &Instruction::ExecuteTermGreaterThan => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if let Some(Ordering::Greater) = compare_term_test!(self.machine_st, a1, a2) + { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } else { + self.machine_st.backtrack(); + } + } + &Instruction::CallTermLessThan => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if let Some(Ordering::Less) = compare_term_test!(self.machine_st, a1, a2) { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } else { + self.machine_st.backtrack(); + } + } + &Instruction::ExecuteTermLessThan => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if let Some(Ordering::Less) = compare_term_test!(self.machine_st, a1, a2) { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } else { + self.machine_st.backtrack(); + } + } + &Instruction::CallTermGreaterThanOrEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + match compare_term_test!(self.machine_st, a1, a2) { + Some(Ordering::Greater | Ordering::Equal) => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::ExecuteTermGreaterThanOrEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + match compare_term_test!(self.machine_st, a1, a2) { + Some(Ordering::Greater | Ordering::Equal) => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::CallTermLessThanOrEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + match compare_term_test!(self.machine_st, a1, a2) { + Some(Ordering::Less | Ordering::Equal) => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::ExecuteTermLessThanOrEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + match compare_term_test!(self.machine_st, a1, a2) { + Some(Ordering::Less | Ordering::Equal) => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::CallCopyTerm => { + self.machine_st.copy_term(AttrVarPolicy::DeepCopy); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + &Instruction::ExecuteCopyTerm => { + self.machine_st.copy_term(AttrVarPolicy::DeepCopy); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallTermEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if self.machine_st.eq_test(a1, a2) { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + &Instruction::ExecuteTermEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if self.machine_st.eq_test(a1, a2) { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallGround => { + if self.machine_st.ground_test() { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + &Instruction::ExecuteGround => { + if self.machine_st.ground_test() { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallFunctor => { + try_or_throw!(self.machine_st, self.machine_st.try_functor()); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + &Instruction::ExecuteFunctor => { + try_or_throw!(self.machine_st, self.machine_st.try_functor()); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallTermNotEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if let Some(Ordering::Equal) = compare_term_test!(self.machine_st, a1, a2) { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + &Instruction::ExecuteTermNotEqual => { + let a1 = self.machine_st.registers[1]; + let a2 = self.machine_st.registers[2]; + + if let Some(Ordering::Equal) = compare_term_test!(self.machine_st, a1, a2) { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallSort => { + try_or_throw!(self.machine_st, self.machine_st.sort()); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + &Instruction::ExecuteSort => { + try_or_throw!(self.machine_st, self.machine_st.sort()); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallKeySort => { + try_or_throw!( + self.machine_st, + self.machine_st.keysort(VarComparison::Distinct) + ); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + &Instruction::ExecuteKeySort => { + try_or_throw!( + self.machine_st, + self.machine_st.keysort(VarComparison::Distinct) + ); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallKeySortWithConstantVarOrdering => { + try_or_throw!( + self.machine_st, + self.machine_st.keysort(VarComparison::Indistinct) + ); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + &Instruction::ExecuteKeySortWithConstantVarOrdering => { + try_or_throw!( + self.machine_st, + self.machine_st.keysort(VarComparison::Indistinct) + ); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallIs(r, at) => { + try_or_throw!(self.machine_st, self.machine_st.is(r, at)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + &Instruction::ExecuteIs(r, at) => { + try_or_throw!(self.machine_st, self.machine_st.is(r, at)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + Instruction::CallGetNumber(at) => { + try_or_throw!(self.machine_st, self.machine_st.get_number(at)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + Instruction::ExecuteGetNumber(at) => { + try_or_throw!(self.machine_st, self.machine_st.get_number(at)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallN(arity) => { + let pred = self.machine_st.registers[1]; + + for i in 2..arity + 1 { + self.machine_st.registers[i - 1] = self.machine_st.registers[i]; + } + + self.machine_st.registers[arity] = pred; + + try_or_throw!(self.machine_st, self.call_n(atom!("user"), arity)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + } + } + &Instruction::ExecuteN(arity) => { + let pred = self.machine_st.registers[1]; + + for i in 2..arity + 1 { + self.machine_st.registers[i - 1] = self.machine_st.registers[i]; + } + + self.machine_st.registers[arity] = pred; + + try_or_throw!(self.machine_st, self.execute_n(atom!("user"), arity)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + } + } + &Instruction::DefaultCallN(arity) => { + let pred = self.machine_st.registers[1]; + + for i in 2..arity + 1 { + self.machine_st.registers[i - 1] = self.machine_st.registers[i]; + } + + self.machine_st.registers[arity] = pred; + + try_or_throw!(self.machine_st, self.call_n(atom!("user"), arity)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } + } + &Instruction::DefaultExecuteN(arity) => { + let pred = self.machine_st.registers[1]; + + for i in 2..arity + 1 { + self.machine_st.registers[i - 1] = self.machine_st.registers[i]; + } + + self.machine_st.registers[arity] = pred; + + try_or_throw!(self.machine_st, self.execute_n(atom!("user"), arity)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } + } + &Instruction::CallNumberLessThanOrEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Less | Ordering::Equal => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::ExecuteNumberLessThanOrEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Less | Ordering::Equal => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::CallNumberEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Equal => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::ExecuteNumberEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Equal => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::CallNumberNotEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Equal => { + self.machine_st.backtrack(); + } + _ => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + } + } + &Instruction::ExecuteNumberNotEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Equal => { + self.machine_st.backtrack(); + } + _ => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + } + } + &Instruction::CallNumberGreaterThanOrEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Greater | Ordering::Equal => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::ExecuteNumberGreaterThanOrEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Greater | Ordering::Equal => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::CallNumberGreaterThan(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Greater => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::ExecuteNumberGreaterThan(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Greater => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::CallNumberLessThan(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Less => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::ExecuteNumberLessThan(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Less => { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::DefaultCallNumberLessThanOrEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Less | Ordering::Equal => { + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::DefaultExecuteNumberLessThanOrEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Less | Ordering::Equal => { + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::DefaultCallNumberNotEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Equal => { + self.machine_st.backtrack(); + } + _ => { + self.machine_st.p += 1; + } + } + } + &Instruction::DefaultExecuteNumberNotEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Equal => { + self.machine_st.backtrack(); + } + _ => { + self.machine_st.p = self.machine_st.cp; + } + } + } + &Instruction::DefaultCallNumberEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Equal => { + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::DefaultExecuteNumberEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Equal => { + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::DefaultCallNumberGreaterThanOrEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Greater | Ordering::Equal => { + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::DefaultExecuteNumberGreaterThanOrEqual(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Greater | Ordering::Equal => { + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::DefaultCallNumberGreaterThan(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Greater => { + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::DefaultExecuteNumberGreaterThan(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Greater => { + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::DefaultCallNumberLessThan(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Less => { + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::DefaultExecuteNumberLessThan(ref at_1, ref at_2) => { + let n1 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_1)); + let n2 = try_or_throw!(self.machine_st, self.machine_st.get_number(at_2)); + + match n1.cmp(&n2) { + Ordering::Less => { + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + // + &Instruction::CallIsAtom(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + read_heap_cell!(d, + (HeapCellValueTag::Atom, (_name, arity)) => { + if arity == 0 { + self.machine_st.p += 1; + } else { + self.machine_st.backtrack(); + } + } + (HeapCellValueTag::Str, s) => { + let arity = cell_as_atom_cell!(self.machine_st.heap[s]) + .get_arity(); + + if arity == 0 { + self.machine_st.p += 1; + } else { + self.machine_st.backtrack(); + } + } + (HeapCellValueTag::Char) => { + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + ); + } + &Instruction::ExecuteIsAtom(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + read_heap_cell!(d, + (HeapCellValueTag::Atom, (_name, arity)) => { + if arity == 0 { + self.machine_st.p = self.machine_st.cp; + } else { + self.machine_st.backtrack(); + } + } + (HeapCellValueTag::Str, s) => { + let arity = cell_as_atom_cell!(self.machine_st.heap[s]) + .get_arity(); + + if arity == 0 { + self.machine_st.p = self.machine_st.cp; + } else { + self.machine_st.backtrack(); + } + } + (HeapCellValueTag::Char) => { + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + ); + } + &Instruction::CallIsAtomic(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + read_heap_cell!(d, + (HeapCellValueTag::Char | HeapCellValueTag::Fixnum | HeapCellValueTag::F64 | + HeapCellValueTag::Cons) => { + self.machine_st.p += 1; + } + (HeapCellValueTag::Atom, (_name, arity)) => { + if arity == 0 { + self.machine_st.p += 1; + } else { + self.machine_st.backtrack(); + } + } + (HeapCellValueTag::Str, s) => { + let arity = cell_as_atom_cell!(self.machine_st.heap[s]) + .get_arity(); + + if arity == 0 { + self.machine_st.p += 1; + } else { + self.machine_st.backtrack(); + } + } + _ => { + self.machine_st.backtrack(); + } + ); + } + &Instruction::ExecuteIsAtomic(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + read_heap_cell!(d, + (HeapCellValueTag::Char | HeapCellValueTag::Fixnum | HeapCellValueTag::F64 | + HeapCellValueTag::Cons) => { + self.machine_st.p = self.machine_st.cp; + } + (HeapCellValueTag::Atom, (_name, arity)) => { + if arity == 0 { + self.machine_st.p = self.machine_st.cp; + } else { + self.machine_st.backtrack(); + } + } + (HeapCellValueTag::Str, s) => { + let arity = cell_as_atom_cell!(self.machine_st.heap[s]) + .get_arity(); + + if arity == 0 { + self.machine_st.p = self.machine_st.cp; + } else { + self.machine_st.backtrack(); + } + } + _ => { + self.machine_st.backtrack(); + } + ); + } + &Instruction::CallIsCompound(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + read_heap_cell!(d, + (HeapCellValueTag::Lis | + HeapCellValueTag::PStrLoc | + HeapCellValueTag::CStr) => { + self.machine_st.p += 1; + } + (HeapCellValueTag::Str, s) => { + let arity = cell_as_atom_cell!(self.machine_st.heap[s]) + .get_arity(); + + if arity > 0 { + self.machine_st.p += 1; + } else { + self.machine_st.backtrack(); + } + } + (HeapCellValueTag::Atom, (_name, arity)) => { + if arity > 0 { + self.machine_st.p += 1; + } else { + self.machine_st.backtrack(); + } + } + _ => { + self.machine_st.backtrack(); + } + ); + } + &Instruction::ExecuteIsCompound(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + read_heap_cell!(d, + (HeapCellValueTag::Lis | + HeapCellValueTag::PStrLoc | + HeapCellValueTag::CStr) => { + self.machine_st.p = self.machine_st.cp; + } + (HeapCellValueTag::Str, s) => { + let arity = cell_as_atom_cell!(self.machine_st.heap[s]) + .get_arity(); + + if arity > 0 { + self.machine_st.p = self.machine_st.cp; + } else { + self.machine_st.backtrack(); + } + } + (HeapCellValueTag::Atom, (_name, arity)) => { + if arity > 0 { + self.machine_st.p = self.machine_st.cp; + } else { + self.machine_st.backtrack(); + } + } + _ => { + self.machine_st.backtrack(); + } + ); + } + &Instruction::CallIsInteger(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + match Number::try_from(d) { + Ok(Number::Fixnum(_) | Number::Integer(_)) => { + self.machine_st.p += 1; + } + Ok(Number::Rational(n)) => { + if n.denominator().is_one() { + self.machine_st.p += 1; + } else { + self.machine_st.backtrack(); + } + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::ExecuteIsInteger(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + match Number::try_from(d) { + Ok(Number::Fixnum(_) | Number::Integer(_)) => { + self.machine_st.p = self.machine_st.cp; + } + Ok(Number::Rational(n)) => { + if n.denominator().is_one() { + self.machine_st.p = self.machine_st.cp; + } else { + self.machine_st.backtrack(); + } + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::CallIsNumber(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + match Number::try_from(d) { + Ok(_) => { + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::ExecuteIsNumber(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + match Number::try_from(d) { + Ok(_) => { + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::CallIsRational(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + read_heap_cell!(d, + (HeapCellValueTag::Cons, ptr) => { + match_untyped_arena_ptr!(ptr, + (ArenaHeaderTag::Rational | ArenaHeaderTag::Integer, _r) => { + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + ); + } + (HeapCellValueTag::Fixnum) => { + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + ); + } + &Instruction::ExecuteIsRational(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + read_heap_cell!(d, + (HeapCellValueTag::Cons, ptr) => { + match_untyped_arena_ptr!(ptr, + (ArenaHeaderTag::Rational | ArenaHeaderTag::Integer, _r) => { + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + ); + } + (HeapCellValueTag::Fixnum) => { + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + ); + } + &Instruction::CallIsFloat(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + match Number::try_from(d) { + Ok(Number::Float(_)) => { + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::ExecuteIsFloat(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + match Number::try_from(d) { + Ok(Number::Float(_)) => { + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::CallIsNonVar(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + match d.get_tag() { + HeapCellValueTag::AttrVar + | HeapCellValueTag::Var + | HeapCellValueTag::StackVar => { + self.machine_st.backtrack(); + } + _ => { + self.machine_st.p += 1; + } + } + } + &Instruction::ExecuteIsNonVar(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + match d.get_tag() { + HeapCellValueTag::AttrVar + | HeapCellValueTag::Var + | HeapCellValueTag::StackVar => { + self.machine_st.backtrack(); + } + _ => { + self.machine_st.p = self.machine_st.cp; + } + } + } + &Instruction::CallIsVar(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + match d.get_tag() { + HeapCellValueTag::AttrVar + | HeapCellValueTag::Var + | HeapCellValueTag::StackVar => { + self.machine_st.p += 1; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::ExecuteIsVar(r) => { + let d = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); + + match d.get_tag() { + HeapCellValueTag::AttrVar + | HeapCellValueTag::Var + | HeapCellValueTag::StackVar => { + self.machine_st.p = self.machine_st.cp; + } + _ => { + self.machine_st.backtrack(); + } + } + } + &Instruction::CallNamed(arity, name, ref idx) => { + let idx = idx.get(); + + try_or_throw!(self.machine_st, self.try_call(name, arity, idx)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + } + } + &Instruction::ExecuteNamed(arity, name, ref idx) => { + let idx = idx.get(); + + try_or_throw!(self.machine_st, self.try_execute(name, arity, idx)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + ); + } + } + &Instruction::DefaultCallNamed(arity, name, ref idx) => { + let idx = idx.get(); + + try_or_throw!(self.machine_st, self.try_call(name, arity, idx)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } + } + &Instruction::DefaultExecuteNamed(arity, name, ref idx) => { + let idx = idx.get(); + + try_or_throw!(self.machine_st, self.try_execute(name, arity, idx)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } + } + &Instruction::Deallocate => self.machine_st.deallocate(), + &Instruction::JmpByCall(offset) => { + self.machine_st.p += offset; + } + &Instruction::RevJmpBy(offset) => { + self.machine_st.p -= offset; + } + &Instruction::Proceed => { self.machine_st.p = self.machine_st.cp; } - } - &Instruction::CallUnwindStack | &Instruction::ExecuteUnwindStack => { - self.machine_st.unwind_stack(); - self.machine_st.backtrack(); - } - &Instruction::CallWAMInstructions => { - try_or_throw!(self.machine_st, self.wam_instructions()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteWAMInstructions => { - try_or_throw!(self.machine_st, self.wam_instructions()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallInlinedInstructions => { - self.inlined_instructions(); - self.machine_st.p += 1; - } - &Instruction::ExecuteInlinedInstructions => { - self.inlined_instructions(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallWriteTerm => { - try_or_throw!(self.machine_st, self.write_term()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteWriteTerm => { - try_or_throw!(self.machine_st, self.write_term()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallWriteTermToChars => { - try_or_throw!(self.machine_st, self.write_term_to_chars()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteWriteTermToChars => { - try_or_throw!(self.machine_st, self.write_term_to_chars()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallScryerPrologVersion => { - self.scryer_prolog_version(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteScryerPrologVersion => { - self.scryer_prolog_version(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCryptoRandomByte => { - self.crypto_random_byte(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCryptoRandomByte => { - self.crypto_random_byte(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCryptoDataHash => { - self.crypto_data_hash(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCryptoDataHash => { - self.crypto_data_hash(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCryptoDataHKDF => { - self.crypto_data_hkdf(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCryptoDataHKDF => { - self.crypto_data_hkdf(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCryptoPasswordHash => { - self.crypto_password_hash(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCryptoPasswordHash => { - self.crypto_password_hash(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCryptoDataEncrypt => { - self.crypto_data_encrypt(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCryptoDataEncrypt => { - self.crypto_data_encrypt(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCryptoDataDecrypt => { - self.crypto_data_decrypt(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCryptoDataDecrypt => { - self.crypto_data_decrypt(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCryptoCurveScalarMult => { - self.crypto_curve_scalar_mult(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCryptoCurveScalarMult => { - self.crypto_curve_scalar_mult(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallEd25519Sign => { - self.ed25519_sign(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteEd25519Sign => { - self.ed25519_sign(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallEd25519Verify => { - self.ed25519_verify(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteEd25519Verify => { - self.ed25519_verify(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallEd25519NewKeyPair => { - self.ed25519_new_key_pair(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteEd25519NewKeyPair => { - self.ed25519_new_key_pair(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallEd25519KeyPairPublicKey => { - self.ed25519_key_pair_public_key(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteEd25519KeyPairPublicKey => { - self.ed25519_key_pair_public_key(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCurve25519ScalarMult => { - self.curve25519_scalar_mult(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCurve25519ScalarMult => { - self.curve25519_scalar_mult(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallFirstNonOctet => { - self.first_non_octet(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteFirstNonOctet => { - self.first_non_octet(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallLoadHTML => { - self.load_html(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteLoadHTML => { - self.load_html(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallLoadXML => { - self.load_xml(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteLoadXML => { - self.load_xml(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallGetEnv => { - self.get_env(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetEnv => { - self.get_env(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallSetEnv => { - self.set_env(); - self.machine_st.p += 1; - } - &Instruction::ExecuteSetEnv => { - self.set_env(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallUnsetEnv => { - self.unset_env(); - self.machine_st.p += 1; - } - &Instruction::ExecuteUnsetEnv => { - self.unset_env(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallShell => { - self.shell(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteShell => { - self.shell(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallPID => { - self.pid(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePID => { - self.pid(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCharsBase64 => { - try_or_throw!(self.machine_st, self.chars_base64()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCharsBase64 => { - try_or_throw!(self.machine_st, self.chars_base64()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDevourWhitespace => { - try_or_throw!(self.machine_st, self.devour_whitespace()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteDevourWhitespace => { - try_or_throw!(self.machine_st, self.devour_whitespace()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallIsSTOEnabled => { - self.is_sto_enabled(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteIsSTOEnabled => { - self.is_sto_enabled(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallSetSTOAsUnify => { - self.set_sto_as_unify(); - self.machine_st.p += 1; - } - &Instruction::ExecuteSetSTOAsUnify => { - self.set_sto_as_unify(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallSetNSTOAsUnify => { - self.set_nsto_as_unify(); - self.machine_st.p += 1; - } - &Instruction::ExecuteSetNSTOAsUnify => { - self.set_nsto_as_unify(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallSetSTOWithErrorAsUnify => { - self.set_sto_with_error_as_unify(); - self.machine_st.p += 1; - } - &Instruction::ExecuteSetSTOWithErrorAsUnify => { - self.set_sto_with_error_as_unify(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallHomeDirectory => { - self.home_directory(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteHomeDirectory => { - self.home_directory(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDebugHook => { - self.debug_hook(); - self.machine_st.p += 1; - } - &Instruction::ExecuteDebugHook => { - self.debug_hook(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallPopCount => { - self.pop_count(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePopCount => { - self.pop_count(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallAddDiscontiguousPredicate => { - try_or_throw!(self.machine_st, self.add_discontiguous_predicate()); - self.machine_st.p += 1; - } - &Instruction::ExecuteAddDiscontiguousPredicate => { - try_or_throw!(self.machine_st, self.add_discontiguous_predicate()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallAddDynamicPredicate => { - try_or_throw!(self.machine_st, self.add_dynamic_predicate()); - self.machine_st.p += 1; - } - &Instruction::ExecuteAddDynamicPredicate => { - try_or_throw!(self.machine_st, self.add_dynamic_predicate()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallAddMultifilePredicate => { - try_or_throw!(self.machine_st, self.add_multifile_predicate()); - self.machine_st.p += 1; - } - &Instruction::ExecuteAddMultifilePredicate => { - try_or_throw!(self.machine_st, self.add_multifile_predicate()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallAddGoalExpansionClause => { - try_or_throw!(self.machine_st, self.add_goal_expansion_clause()); - self.machine_st.p += 1; - } - &Instruction::ExecuteAddGoalExpansionClause => { - try_or_throw!(self.machine_st, self.add_goal_expansion_clause()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallAddTermExpansionClause => { - try_or_throw!(self.machine_st, self.add_term_expansion_clause()); - self.machine_st.p += 1; - } - &Instruction::ExecuteAddTermExpansionClause => { - try_or_throw!(self.machine_st, self.add_term_expansion_clause()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallAddInSituFilenameModule => { - try_or_throw!(self.machine_st, self.add_in_situ_filename_module()); - self.machine_st.p += 1; - } - &Instruction::ExecuteAddInSituFilenameModule => { - try_or_throw!(self.machine_st, self.add_in_situ_filename_module()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallClauseToEvacuable => { - try_or_throw!(self.machine_st, self.clause_to_evacuable()); - self.machine_st.p += 1; - } - &Instruction::ExecuteClauseToEvacuable => { - try_or_throw!(self.machine_st, self.clause_to_evacuable()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallScopedClauseToEvacuable => { - try_or_throw!(self.machine_st, self.scoped_clause_to_evacuable()); - self.machine_st.p += 1; - } - &Instruction::ExecuteScopedClauseToEvacuable => { - try_or_throw!(self.machine_st, self.scoped_clause_to_evacuable()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallConcludeLoad => { - try_or_throw!(self.machine_st, self.conclude_load()); - self.machine_st.p += 1; - } - &Instruction::ExecuteConcludeLoad => { - try_or_throw!(self.machine_st, self.conclude_load()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallDeclareModule => { - try_or_throw!(self.machine_st, self.declare_module()); - self.machine_st.p += 1; - } - &Instruction::ExecuteDeclareModule => { - try_or_throw!(self.machine_st, self.declare_module()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallLoadCompiledLibrary => { - try_or_throw!(self.machine_st, self.load_compiled_library()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteLoadCompiledLibrary => { - try_or_throw!(self.machine_st, self.load_compiled_library()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallLoadContextSource => { - self.load_context_source(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteLoadContextSource => { - self.load_context_source(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallLoadContextFile => { - self.load_context_file(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteLoadContextFile => { - self.load_context_file(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallLoadContextDirectory => { - self.load_context_directory(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteLoadContextDirectory => { - self.load_context_directory(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallLoadContextModule => { - self.load_context_module(self.machine_st.registers[1]); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteLoadContextModule => { - self.load_context_module(self.machine_st.registers[1]); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallLoadContextStream => { - self.load_context_stream(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteLoadContextStream => { - self.load_context_stream(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallPopLoadContext => { - self.pop_load_context(); - self.machine_st.p += 1; - } - &Instruction::ExecutePopLoadContext => { - self.pop_load_context(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallPopLoadStatePayload => { - self.pop_load_state_payload(); - self.machine_st.p += 1; - } - &Instruction::ExecutePopLoadStatePayload => { - self.pop_load_state_payload(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallPushLoadContext => { - try_or_throw!(self.machine_st, self.push_load_context()); - self.machine_st.p += 1; - } - &Instruction::ExecutePushLoadContext => { - try_or_throw!(self.machine_st, self.push_load_context()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallPushLoadStatePayload => { - self.push_load_state_payload(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePushLoadStatePayload => { - self.push_load_state_payload(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallUseModule => { - try_or_throw!(self.machine_st, self.use_module()); - self.machine_st.p += 1; - } - &Instruction::ExecuteUseModule => { - try_or_throw!(self.machine_st, self.use_module()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallBuiltInProperty => { - let key = self - .machine_st - .read_predicate_key(self.machine_st.registers[1], self.machine_st.registers[2]); + &Instruction::GetConstant(_, c, reg) => { + let value = self.machine_st.deref(self.machine_st[reg]); + self.machine_st.write_literal_to_var(value, c); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::GetList(_, reg) => { + let deref_v = self.machine_st.deref(self.machine_st[reg]); + let store_v = self.machine_st.store(deref_v); - self.machine_st.fail = !self.indices.builtin_property(key); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteBuiltInProperty => { - let key = self - .machine_st - .read_predicate_key(self.machine_st.registers[1], self.machine_st.registers[2]); + read_heap_cell!(store_v, + (HeapCellValueTag::PStrLoc, h) => { + let (h, n) = pstr_loc_and_offset(&self.machine_st.heap, h); - self.machine_st.fail = !self.indices.builtin_property(key); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallMetaPredicateProperty => { - self.meta_predicate_property(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteMetaPredicateProperty => { - self.meta_predicate_property(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallMultifileProperty => { - self.multifile_property(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteMultifileProperty => { - self.multifile_property(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDiscontiguousProperty => { - self.discontiguous_property(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteDiscontiguousProperty => { - self.discontiguous_property(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDynamicProperty => { - self.dynamic_property(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteDynamicProperty => { - self.dynamic_property(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallAbolishClause => { - try_or_throw!(self.machine_st, self.abolish_clause()); - self.machine_st.p += 1; - } - &Instruction::ExecuteAbolishClause => { - try_or_throw!(self.machine_st, self.abolish_clause()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallAsserta => { - try_or_throw!(self.machine_st, self.compile_assert(AppendOrPrepend::Prepend)); - self.machine_st.p += 1; - } - &Instruction::ExecuteAsserta => { - try_or_throw!(self.machine_st, self.compile_assert(AppendOrPrepend::Prepend)); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallAssertz => { - try_or_throw!(self.machine_st, self.compile_assert(AppendOrPrepend::Append)); - self.machine_st.p += 1; - } - &Instruction::ExecuteAssertz => { - try_or_throw!(self.machine_st, self.compile_assert(AppendOrPrepend::Append)); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallRetract => { - try_or_throw!(self.machine_st, self.retract_clause()); - self.machine_st.p += 1; - } - &Instruction::ExecuteRetract => { - try_or_throw!(self.machine_st, self.retract_clause()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallIsConsistentWithTermQueue => { - try_or_throw!(self.machine_st, self.is_consistent_with_term_queue()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteIsConsistentWithTermQueue => { - try_or_throw!(self.machine_st, self.is_consistent_with_term_queue()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::CallFlushTermQueue => { - try_or_throw!(self.machine_st, self.flush_term_queue()); - self.machine_st.p += 1; - } - &Instruction::ExecuteFlushTermQueue => { - try_or_throw!(self.machine_st, self.flush_term_queue()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallRemoveModuleExports => { - try_or_throw!(self.machine_st, self.remove_module_exports()); - self.machine_st.p += 1; - } - &Instruction::ExecuteRemoveModuleExports => { - try_or_throw!(self.machine_st, self.remove_module_exports()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallAddNonCountedBacktracking => { - try_or_throw!(self.machine_st, self.add_non_counted_backtracking()); - self.machine_st.p += 1; - } - &Instruction::ExecuteAddNonCountedBacktracking => { - try_or_throw!(self.machine_st, self.add_non_counted_backtracking()); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallPredicateDefined => { - self.machine_st.fail = !self.predicate_defined(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePredicateDefined => { - self.machine_st.fail = !self.predicate_defined(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallStripModule => { - self.strip_module(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteStripModule => { - self.strip_module(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallPrepareCallClause(arity) => { - try_or_throw!(self.machine_st, self.prepare_call_clause(arity)); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePrepareCallClause(arity) => { - try_or_throw!(self.machine_st, self.prepare_call_clause(arity)); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallCompileInlineOrExpandedGoal => { - try_or_throw!(self.machine_st, self.compile_inline_or_expanded_goal()); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteCompileInlineOrExpandedGoal => { - try_or_throw!(self.machine_st, self.compile_inline_or_expanded_goal()); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallIsExpandedOrInlined => { - self.machine_st.fail = !self.is_expanded_or_inlined(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteIsExpandedOrInlined => { - self.machine_st.fail = !self.is_expanded_or_inlined(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallFastCallN(arity) => { - let call_at_index = |wam: &mut Machine, name, arity, ptr| { - wam.try_call(name, arity, ptr) - }; + self.machine_st.s = HeapPtr::PStrChar(h, n.get_num() as usize); + self.machine_st.s_offset = 0; + self.machine_st.mode = MachineMode::Read; + } + (HeapCellValueTag::CStr) => { + let h = self.machine_st.heap.len(); + self.machine_st.heap.push(store_v); - try_or_throw!(self.machine_st, self.fast_call(arity, call_at_index)); + self.machine_st.s = HeapPtr::PStrChar(h, 0); + self.machine_st.s_offset = 0; + self.machine_st.mode = MachineMode::Read; + } + (HeapCellValueTag::Str, s) => { + let (name, arity) = cell_as_atom_cell!(self.machine_st.heap[s]) + .get_name_and_arity(); - if self.machine_st.fail { + if name == atom!(".") && arity == 2 { + self.machine_st.s = HeapPtr::HeapCell(s+1); + self.machine_st.s_offset = 0; + self.machine_st.mode = MachineMode::Read; + } else { + self.machine_st.backtrack(); + continue; + } + } + (HeapCellValueTag::Lis, l) => { + self.machine_st.s = HeapPtr::HeapCell(l); + self.machine_st.s_offset = 0; + self.machine_st.mode = MachineMode::Read; + } + (HeapCellValueTag::AttrVar | HeapCellValueTag::Var | HeapCellValueTag::StackVar) => { + let h = self.machine_st.heap.len(); + + self.machine_st.heap.push(list_loc_as_cell!(h+1)); + self.machine_st.bind(store_v.as_var().unwrap(), heap_loc_as_cell!(h)); + + self.machine_st.mode = MachineMode::Write; + } + _ => { + self.machine_st.backtrack(); + continue; + } + ); + + self.machine_st.p += 1; + } + &Instruction::GetPartialString(_, string, reg, has_tail) => { + let deref_v = self.machine_st.deref(self.machine_st[reg]); + let store_v = self.machine_st.store(deref_v); + + read_heap_cell!(store_v, + (HeapCellValueTag::Str | + HeapCellValueTag::Lis | + HeapCellValueTag::PStrLoc | + HeapCellValueTag::CStr) => { + self.machine_st.match_partial_string(store_v, string, has_tail); + } + (HeapCellValueTag::AttrVar | + HeapCellValueTag::StackVar | + HeapCellValueTag::Var) => { + let target_cell = self.machine_st.push_str_to_heap( + &string.as_str(), + has_tail, + ); + + self.machine_st.bind( + store_v.as_var().unwrap(), + target_cell, + ); + } + _ => { + self.machine_st.backtrack(); + continue; + } + ); + + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::GetStructure(_lvl, name, arity, reg) => { + let deref_v = self.machine_st.deref(self.machine_st[reg]); + let store_v = self.machine_st.store(deref_v); + + read_heap_cell!(store_v, + (HeapCellValueTag::Str, a) => { + read_heap_cell!(self.machine_st.heap[a], + (HeapCellValueTag::Atom, (result_name, result_arity)) => { + if arity == result_arity && name == result_name { + self.machine_st.s = HeapPtr::HeapCell(a + 1); + self.machine_st.s_offset = 0; + self.machine_st.mode = MachineMode::Read; + } else { + self.machine_st.backtrack(); + continue; + } + } + _ => { + unreachable!(); + } + ); + } + (HeapCellValueTag::AttrVar | HeapCellValueTag::Var | HeapCellValueTag::StackVar) => { + let h = self.machine_st.heap.len(); + + self.machine_st.heap.push(str_loc_as_cell!(h+1)); + self.machine_st.heap.push(atom_as_cell!(name, arity)); + + self.machine_st.bind(store_v.as_var().unwrap(), heap_loc_as_cell!(h)); + self.machine_st.mode = MachineMode::Write; + } + _ => { + self.machine_st.backtrack(); + continue; + } + ); + + self.machine_st.p += 1; + } + &Instruction::GetVariable(norm, arg) => { + self.machine_st[norm] = self.machine_st.registers[arg]; + self.machine_st.p += 1; + } + &Instruction::GetValue(norm, arg) => { + let norm_addr = self.machine_st[norm]; + let reg_addr = self.machine_st.registers[arg]; + + unify_fn!(&mut self.machine_st, norm_addr, reg_addr); + + if self.machine_st.fail { + self.machine_st.backtrack(); + continue; + } + + self.machine_st.p += 1; + } + &Instruction::UnifyConstant(v) => { + match self.machine_st.mode { + MachineMode::Read => { + let addr = self.machine_st.read_s(); + + self.machine_st.write_literal_to_var(addr, v); + + if self.machine_st.fail { + self.machine_st.backtrack(); + continue; + } else { + self.machine_st.s_offset += 1; + } + } + MachineMode::Write => { + self.machine_st.heap.push(v); + } + } + + self.machine_st.p += 1; + } + &Instruction::UnifyLocalValue(reg) => { + match self.machine_st.mode { + MachineMode::Read => { + let reg_addr = self.machine_st[reg]; + let value = self.machine_st.read_s(); + + unify_fn!(&mut self.machine_st, reg_addr, value); + + if self.machine_st.fail { + self.machine_st.backtrack(); + continue; + } else { + self.machine_st.s_offset += 1; + } + } + MachineMode::Write => { + let value = self + .machine_st + .store(self.machine_st.deref(self.machine_st[reg])); + let h = self.machine_st.heap.len(); + + read_heap_cell!(value, + (HeapCellValueTag::Var | HeapCellValueTag::AttrVar, hc) => { + let value = self.machine_st.heap[hc]; + + self.machine_st.heap.push(value); + self.machine_st.s_offset += 1; + } + _ => { + self.machine_st.heap.push(heap_loc_as_cell!(h)); + (self.machine_st.bind_fn)( + &mut self.machine_st, + Ref::heap_cell(h), + value, + ); + } + ); + } + } + + self.machine_st.p += 1; + } + &Instruction::UnifyVariable(reg) => { + match self.machine_st.mode { + MachineMode::Read => { + self.machine_st[reg] = self.machine_st.read_s(); + self.machine_st.s_offset += 1; + } + MachineMode::Write => { + let h = self.machine_st.heap.len(); + + self.machine_st.heap.push(heap_loc_as_cell!(h)); + self.machine_st[reg] = heap_loc_as_cell!(h); + } + } + + self.machine_st.p += 1; + } + &Instruction::UnifyValue(reg) => { + match self.machine_st.mode { + MachineMode::Read => { + let reg_addr = self.machine_st[reg]; + let value = self.machine_st.read_s(); + + unify_fn!(&mut self.machine_st, reg_addr, value); + + if self.machine_st.fail { + self.machine_st.backtrack(); + continue; + } else { + self.machine_st.s_offset += 1; + } + } + MachineMode::Write => { + let h = self.machine_st.heap.len(); + self.machine_st.heap.push(heap_loc_as_cell!(h)); + + let addr = self.machine_st.store(self.machine_st[reg]); + (self.machine_st.bind_fn)( + &mut self.machine_st, + Ref::heap_cell(h), + addr, + ); + + // the former code of this match arm was: + + // let addr = self.machine_st.store(self.machine_st[reg]); + // self.machine_st.heap.push(HeapCellValue::Addr(addr)); + + // the old code didn't perform the occurs + // check when enabled and so it was changed to + // the above, which is only slightly less + // efficient when the occurs_check is disabled. + } + } + + self.machine_st.p += 1; + } + &Instruction::UnifyVoid(n) => { + match self.machine_st.mode { + MachineMode::Read => { + self.machine_st.s_offset += n; + } + MachineMode::Write => { + let h = self.machine_st.heap.len(); + + for i in h..h + n { + self.machine_st.heap.push(heap_loc_as_cell!(i)); + } + } + } + + self.machine_st.p += 1; + } + &Instruction::IndexingCode(ref indexing_lines) => { + match &indexing_lines[self.machine_st.oip as usize] { + IndexingLine::Indexing(_) => { + self.execute_switch_on_term(); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } + } + IndexingLine::IndexedChoice(ref indexed_choice) => { + match &indexed_choice[self.machine_st.iip as usize] { + &IndexedChoiceInstruction::Try(offset) => { + self.indexed_try(offset); + } + &IndexedChoiceInstruction::Retry(l) => { + self.retry(l); + + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)( + &mut self.machine_st + ) + ); + } + &IndexedChoiceInstruction::DefaultRetry(l) => { + self.retry(l); + } + &IndexedChoiceInstruction::Trust(l) => { + self.trust(l); + + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)( + &mut self.machine_st + ) + ); + } + &IndexedChoiceInstruction::DefaultTrust(l) => { + self.trust(l); + } + } + } + IndexingLine::DynamicIndexedChoice(_) => { + let p = self.machine_st.p; + + match self + .find_living_dynamic(self.machine_st.oip, self.machine_st.iip) + { + Some((offset, oi, ii, is_next_clause)) => { + self.machine_st.p = p; + self.machine_st.oip = oi; + self.machine_st.iip = ii; + + match self.machine_st.dynamic_mode { + FirstOrNext::First if !is_next_clause => { + self.machine_st.p = p + offset; + } + FirstOrNext::First => { + // there's a leading DynamicElse that sets self.machine_st.cc. + // self.machine_st.cc = self.machine_st.global_clock; + + // see that there is a following dynamic_else + // clause so we avoid generating a choice + // point in case there isn't. + match self.find_living_dynamic(oi, ii + 1) { + Some(_) => { + self.machine_st.registers + [self.machine_st.num_of_args + 1] = + fixnum_as_cell!(Fixnum::build_with( + self.machine_st.cc as i64 + )); + + self.machine_st.num_of_args += 1; + self.indexed_try(offset); + self.machine_st.num_of_args -= 1; + } + None => { + self.machine_st.p = p + offset; + self.machine_st.oip = 0; + self.machine_st.iip = 0; + } + } + } + FirstOrNext::Next => { + let b = self.machine_st.b; + let n = self + .machine_st + .stack + .index_or_frame(b) + .prelude + .num_cells; + + self.machine_st.cc = cell_as_fixnum!( + self.machine_st.stack + [stack_loc!(OrFrame, b, n - 1)] + ) + .get_num() + as usize; + + if is_next_clause { + match self.find_living_dynamic( + self.machine_st.oip, + self.machine_st.iip + 1, + ) { + // if we're executing the last instruction + // of the internal block pointed to by + // self.machine_st.iip, we want trust, not retry. + // this is true iff ii + 1 < len. + Some(_) => { + self.retry(offset); + + try_or_throw!( + self.machine_st, + (self + .machine_st + .increment_call_count_fn)( + &mut self.machine_st + ) + ); + } + _ => { + self.trust(offset); + + try_or_throw!( + self.machine_st, + (self + .machine_st + .increment_call_count_fn)( + &mut self.machine_st + ) + ); + } + } + } else { + self.trust(offset); + + try_or_throw!( + self.machine_st, + (self.machine_st.increment_call_count_fn)( + &mut self.machine_st + ) + ); + } + } + } + } + None => { + self.machine_st.fail = true; + } + } + + self.machine_st.dynamic_mode = FirstOrNext::Next; + + if self.machine_st.fail { + self.machine_st.backtrack(); + } + } + } + } + &Instruction::PutConstant(_, c, reg) => { + self.machine_st[reg] = c; + self.machine_st.p += 1; + } + &Instruction::PutList(_, reg) => { + self.machine_st[reg] = list_loc_as_cell!(self.machine_st.heap.len()); + self.machine_st.p += 1; + } + &Instruction::PutPartialString(_, string, reg, has_tail) => { + let pstr_addr = if has_tail { + if string != atom!("") { + let h = self.machine_st.heap.len(); + self.machine_st.heap.push(string_as_pstr_cell!(string)); + + // the tail will be pushed by the next + // instruction, so don't push one here. + + pstr_loc_as_cell!(h) + } else { + empty_list_as_cell!() + } + } else { + string_as_cstr_cell!(string) + }; + + self.machine_st[reg] = pstr_addr; + self.machine_st.p += 1; + } + &Instruction::PutStructure(name, arity, reg) => { + let h = self.machine_st.heap.len(); + + self.machine_st.heap.push(atom_as_cell!(name, arity)); + self.machine_st[reg] = str_loc_as_cell!(h); + + self.machine_st.p += 1; + } + &Instruction::PutUnsafeValue(perm_slot, arg) => { + let s = stack_loc!(AndFrame, self.machine_st.e, perm_slot); + let addr = self + .machine_st + .store(self.machine_st.deref(stack_loc_as_cell!(s))); + + if addr.is_protected(self.machine_st.e) { + self.machine_st.registers[arg] = addr; + } else { + let h = self.machine_st.heap.len(); + + self.machine_st.heap.push(heap_loc_as_cell!(h)); + (self.machine_st.bind_fn)( + &mut self.machine_st, + Ref::heap_cell(h), + addr, + ); + + self.machine_st.registers[arg] = heap_loc_as_cell!(h); + } + + self.machine_st.p += 1; + } + &Instruction::PutValue(norm, arg) => { + self.machine_st.registers[arg] = self.machine_st[norm]; + self.machine_st.p += 1; + } + &Instruction::PutVariable(norm, arg) => { + match norm { + RegType::Perm(n) => { + self.machine_st[norm] = + stack_loc_as_cell!(AndFrame, self.machine_st.e, n); + self.machine_st.registers[arg] = self.machine_st[norm]; + } + RegType::Temp(_) => { + let h = self.machine_st.heap.len(); + self.machine_st.heap.push(heap_loc_as_cell!(h)); + + self.machine_st[norm] = heap_loc_as_cell!(h); + self.machine_st.registers[arg] = heap_loc_as_cell!(h); + } + }; + + self.machine_st.p += 1; + } + &Instruction::SetConstant(c) => { + self.machine_st.heap.push(c); + self.machine_st.p += 1; + } + &Instruction::SetLocalValue(reg) => { + let addr = self.machine_st.deref(self.machine_st[reg]); + let stored_v = self.machine_st.store(addr); + + if stored_v.is_stack_var() { + let h = self.machine_st.heap.len(); + self.machine_st.heap.push(heap_loc_as_cell!(h)); + (self.machine_st.bind_fn)( + &mut self.machine_st, + Ref::heap_cell(h), + stored_v, + ); + } else { + self.machine_st.heap.push(stored_v); + } + + self.machine_st.p += 1; + } + &Instruction::SetVariable(reg) => { + let h = self.machine_st.heap.len(); + + self.machine_st.heap.push(heap_loc_as_cell!(h)); + self.machine_st[reg] = heap_loc_as_cell!(h); + + self.machine_st.p += 1; + } + &Instruction::SetValue(reg) => { + let heap_val = self.machine_st.store(self.machine_st[reg]); + self.machine_st.heap.push(heap_val); + self.machine_st.p += 1; + } + &Instruction::SetVoid(n) => { + let h = self.machine_st.heap.len(); + + for i in h..h + n { + self.machine_st.heap.push(heap_loc_as_cell!(i)); + } + + self.machine_st.p += 1; + } + // + &Instruction::CallAtomChars => { + self.atom_chars(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteAtomChars => { + self.atom_chars(); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallAtomCodes => { + try_or_throw!(self.machine_st, self.atom_codes()); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + self.machine_st.p += 1; + } + } + &Instruction::ExecuteAtomCodes => { + try_or_throw!(self.machine_st, self.atom_codes()); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } else { + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallAtomLength => { + self.atom_length(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteAtomLength => { + self.atom_length(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallBindFromRegister => { + self.bind_from_register(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteBindFromRegister => { + self.bind_from_register(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallContinuation => { + try_or_throw!(self.machine_st, self.call_continuation(false)); + } + &Instruction::ExecuteContinuation => { + try_or_throw!(self.machine_st, self.call_continuation(true)); + } + &Instruction::CallCharCode => { + try_or_throw!(self.machine_st, self.char_code()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCharCode => { + try_or_throw!(self.machine_st, self.char_code()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCharType => { + self.char_type(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCharType => { + self.char_type(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCharsToNumber => { + try_or_throw!(self.machine_st, self.chars_to_number()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCharsToNumber => { + try_or_throw!(self.machine_st, self.chars_to_number()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCodesToNumber => { + try_or_throw!(self.machine_st, self.codes_to_number()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCodesToNumber => { + try_or_throw!(self.machine_st, self.codes_to_number()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCopyTermWithoutAttrVars => { + self.copy_term_without_attr_vars(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCopyTermWithoutAttrVars => { + self.copy_term_without_attr_vars(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCheckCutPoint => { + self.check_cut_point(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCheckCutPoint => { + self.check_cut_point(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallClose => { + try_or_throw!(self.machine_st, self.close()); + self.machine_st.p += 1; + } + &Instruction::ExecuteClose => { + try_or_throw!(self.machine_st, self.close()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallCopyToLiftedHeap => { + self.copy_to_lifted_heap(); + self.machine_st.p += 1; + } + &Instruction::ExecuteCopyToLiftedHeap => { + self.copy_to_lifted_heap(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallCreatePartialString => { + self.create_partial_string(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCreatePartialString => { + self.create_partial_string(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCurrentHostname => { + self.current_hostname(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCurrentHostname => { + self.current_hostname(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCurrentInput => { + try_or_throw!(self.machine_st, self.current_input()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCurrentInput => { + try_or_throw!(self.machine_st, self.current_input()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCurrentOutput => { + try_or_throw!(self.machine_st, self.current_output()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCurrentOutput => { + try_or_throw!(self.machine_st, self.current_output()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDirectoryFiles => { + try_or_throw!(self.machine_st, self.directory_files()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteDirectoryFiles => { + try_or_throw!(self.machine_st, self.directory_files()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallFileSize => { + self.file_size(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteFileSize => { + self.file_size(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallFileExists => { + self.file_exists(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteFileExists => { + self.file_exists(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDirectoryExists => { + self.directory_exists(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteDirectoryExists => { + self.directory_exists(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDirectorySeparator => { + self.directory_separator(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteDirectorySeparator => { + self.directory_separator(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallMakeDirectory => { + self.make_directory(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteMakeDirectory => { + self.make_directory(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallMakeDirectoryPath => { + self.make_directory_path(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteMakeDirectoryPath => { + self.make_directory_path(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDeleteFile => { + self.delete_file(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteDeleteFile => { + self.delete_file(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallRenameFile => { + self.rename_file(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteRenameFile => { + self.rename_file(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallFileCopy => { + self.file_copy(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteFileCopy => { + self.file_copy(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallWorkingDirectory => { + try_or_throw!(self.machine_st, self.working_directory()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteWorkingDirectory => { + try_or_throw!(self.machine_st, self.working_directory()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDeleteDirectory => { + self.delete_directory(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteDeleteDirectory => { + self.delete_directory(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallPathCanonical => { + try_or_throw!(self.machine_st, self.path_canonical()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePathCanonical => { + try_or_throw!(self.machine_st, self.path_canonical()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallFileTime => { + self.file_time(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteFileTime => { + self.file_time(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDynamicModuleResolution(arity) => { + let (module_name, key) = try_or_throw!( + self.machine_st, + self.dynamic_module_resolution(arity - 2) + ); + + try_or_throw!(self.machine_st, self.call_clause(module_name, key)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } + } + &Instruction::ExecuteDynamicModuleResolution(arity) => { + let (module_name, key) = try_or_throw!( + self.machine_st, + self.dynamic_module_resolution(arity - 2) + ); + + try_or_throw!(self.machine_st, self.execute_clause(module_name, key)); + + if self.machine_st.fail { + self.machine_st.backtrack(); + } + } + &Instruction::CallFetchGlobalVar => { + self.fetch_global_var(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteFetchGlobalVar => { + self.fetch_global_var(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallFirstStream => { + self.first_stream(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteFirstStream => { + self.first_stream(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallFlushOutput => { + try_or_throw!(self.machine_st, self.flush_output()); + self.machine_st.p += 1; + } + &Instruction::ExecuteFlushOutput => { + try_or_throw!(self.machine_st, self.flush_output()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallGetByte => { + try_or_throw!(self.machine_st, self.get_byte()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetByte => { + try_or_throw!(self.machine_st, self.get_byte()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetChar => { + try_or_throw!(self.machine_st, self.get_char()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetChar => { + try_or_throw!(self.machine_st, self.get_char()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetNChars => { + try_or_throw!(self.machine_st, self.get_n_chars()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetNChars => { + try_or_throw!(self.machine_st, self.get_n_chars()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetCode => { + try_or_throw!(self.machine_st, self.get_code()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetCode => { + try_or_throw!(self.machine_st, self.get_code()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetSingleChar => { + try_or_throw!(self.machine_st, self.get_single_char()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetSingleChar => { + try_or_throw!(self.machine_st, self.get_single_char()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallTruncateIfNoLiftedHeapGrowthDiff => { + self.truncate_if_no_lifted_heap_growth_diff(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteTruncateIfNoLiftedHeapGrowthDiff => { + self.truncate_if_no_lifted_heap_growth_diff(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallTruncateIfNoLiftedHeapGrowth => { + self.truncate_if_no_lifted_heap_growth(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteTruncateIfNoLiftedHeapGrowth => { + self.truncate_if_no_lifted_heap_growth(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetAttributedVariableList => { + self.get_attributed_variable_list(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetAttributedVariableList => { + self.get_attributed_variable_list(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetAttrVarQueueDelimiter => { + self.get_attr_var_queue_delimiter(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetAttrVarQueueDelimiter => { + self.get_attr_var_queue_delimiter(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetAttrVarQueueBeyond => { + self.get_attr_var_queue_beyond(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetAttrVarQueueBeyond => { + self.get_attr_var_queue_beyond(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetBValue => { + self.get_b_value(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetBValue => { + self.get_b_value(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetContinuationChunk => { + self.get_continuation_chunk(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetContinuationChunk => { + self.get_continuation_chunk(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallLookupDBRef => { + self.lookup_db_ref(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteLookupDBRef => { + self.lookup_db_ref(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetNextOpDBRef => { + self.get_next_op_db_ref(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetNextOpDBRef => { + self.get_next_op_db_ref(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallIsPartialString => { + self.is_partial_string(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteIsPartialString => { + self.is_partial_string(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallHalt | &Instruction::ExecuteHalt => { + return self.halt(); + } + &Instruction::CallGetLiftedHeapFromOffset => { + self.get_lifted_heap_from_offset(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetLiftedHeapFromOffset => { + self.get_lifted_heap_from_offset(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetLiftedHeapFromOffsetDiff => { + self.get_lifted_heap_from_offset_diff(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetLiftedHeapFromOffsetDiff => { + self.get_lifted_heap_from_offset_diff(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetSCCCleaner => { + self.get_scc_cleaner(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetSCCCleaner => { + self.get_scc_cleaner(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallHeadIsDynamic => { + self.head_is_dynamic(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteHeadIsDynamic => { + self.head_is_dynamic(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallInstallSCCCleaner => { + self.install_scc_cleaner(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteInstallSCCCleaner => { + self.install_scc_cleaner(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallInstallInferenceCounter => { + try_or_throw!(self.machine_st, self.install_inference_counter()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteInstallInferenceCounter => { + try_or_throw!(self.machine_st, self.install_inference_counter()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallLiftedHeapLength => { + self.lifted_heap_length(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteLiftedHeapLength => { + self.lifted_heap_length(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallLoadLibraryAsStream => { + try_or_throw!(self.machine_st, self.load_library_as_stream()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteLoadLibraryAsStream => { + try_or_throw!(self.machine_st, self.load_library_as_stream()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallModuleExists => { + self.module_exists(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteModuleExists => { + self.module_exists(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallNextEP => { + self.next_ep(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteNextEP => { + self.next_ep(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallNoSuchPredicate => { + try_or_throw!(self.machine_st, self.no_such_predicate()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteNoSuchPredicate => { + try_or_throw!(self.machine_st, self.no_such_predicate()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallNumberToChars => { + self.number_to_chars(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteNumberToChars => { + self.number_to_chars(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallNumberToCodes => { + self.number_to_codes(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteNumberToCodes => { + self.number_to_codes(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallOpDeclaration => { + try_or_throw!(self.machine_st, self.op_declaration()); + self.machine_st.p += 1; + } + &Instruction::ExecuteOpDeclaration => { + try_or_throw!(self.machine_st, self.op_declaration()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallOpen => { + try_or_throw!(self.machine_st, self.open()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteOpen => { + try_or_throw!(self.machine_st, self.open()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallSetStreamOptions => { + try_or_throw!(self.machine_st, self.set_stream_options()); + self.machine_st.p += 1; + } + &Instruction::ExecuteSetStreamOptions => { + try_or_throw!(self.machine_st, self.set_stream_options()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallNextStream => { + self.next_stream(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteNextStream => { + self.next_stream(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallPartialStringTail => { + self.partial_string_tail(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePartialStringTail => { + self.partial_string_tail(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallPeekByte => { + try_or_throw!(self.machine_st, self.peek_byte()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePeekByte => { + try_or_throw!(self.machine_st, self.peek_byte()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallPeekChar => { + try_or_throw!(self.machine_st, self.peek_char()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePeekChar => { + try_or_throw!(self.machine_st, self.peek_char()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallPeekCode => { + try_or_throw!(self.machine_st, self.peek_code()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePeekCode => { + try_or_throw!(self.machine_st, self.peek_code()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallPointsToContinuationResetMarker => { + self.points_to_continuation_reset_marker(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePointsToContinuationResetMarker => { + self.points_to_continuation_reset_marker(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallPutByte => { + try_or_throw!(self.machine_st, self.put_byte()); + self.machine_st.p += 1; + } + &Instruction::ExecutePutByte => { + try_or_throw!(self.machine_st, self.put_byte()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallPutChar => { + try_or_throw!(self.machine_st, self.put_char()); + self.machine_st.p += 1; + } + &Instruction::ExecutePutChar => { + try_or_throw!(self.machine_st, self.put_char()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallPutChars => { + try_or_throw!(self.machine_st, self.put_chars()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePutChars => { + try_or_throw!(self.machine_st, self.put_chars()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallPutCode => { + try_or_throw!(self.machine_st, self.put_code()); + self.machine_st.p += 1; + } + &Instruction::ExecutePutCode => { + try_or_throw!(self.machine_st, self.put_code()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallReadQueryTerm => { + try_or_throw!(self.machine_st, self.read_query_term()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteReadQueryTerm => { + try_or_throw!(self.machine_st, self.read_query_term()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallReadTerm => { + try_or_throw!(self.machine_st, self.read_term()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteReadTerm => { + try_or_throw!(self.machine_st, self.read_term()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallRedoAttrVarBinding => { + self.redo_attr_var_binding(); + self.machine_st.p += 1; + } + &Instruction::ExecuteRedoAttrVarBinding => { + self.redo_attr_var_binding(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallRemoveCallPolicyCheck => { + self.remove_call_policy_check(); + self.machine_st.p += 1; + } + &Instruction::ExecuteRemoveCallPolicyCheck => { + self.remove_call_policy_check(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallRemoveInferenceCounter => { + self.remove_inference_counter(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteRemoveInferenceCounter => { + self.remove_inference_counter(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallResetContinuationMarker => { + self.reset_continuation_marker(); + self.machine_st.p += 1; + } + &Instruction::ExecuteResetContinuationMarker => { + self.reset_continuation_marker(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallRestoreCutPolicy => { + self.restore_cut_policy(); + self.machine_st.p += 1; + } + &Instruction::ExecuteRestoreCutPolicy => { + self.restore_cut_policy(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallSetCutPoint(r) => { + if !self.set_cut_point(r) { + step_or_fail!(self, self.machine_st.p += 1); + } + } + &Instruction::ExecuteSetCutPoint(r) => { + let cp = self.machine_st.cp; + + if !self.set_cut_point(r) { + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } else { + // run_cleaners in set_cut_point calls call_by_index. + // replace the effect of call_by_index with that + // of execute_by_index here. + + self.machine_st.cp = cp; + } + } + &Instruction::CallSetInput => { + try_or_throw!(self.machine_st, self.set_input()); + self.machine_st.p += 1; + } + &Instruction::ExecuteSetInput => { + try_or_throw!(self.machine_st, self.set_input()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallSetOutput => { + try_or_throw!(self.machine_st, self.set_output()); + self.machine_st.p += 1; + } + &Instruction::ExecuteSetOutput => { + try_or_throw!(self.machine_st, self.set_output()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallStoreBacktrackableGlobalVar => { + self.store_backtrackable_global_var(); + self.machine_st.p += 1; + } + &Instruction::ExecuteStoreBacktrackableGlobalVar => { + self.store_backtrackable_global_var(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallStoreGlobalVar => { + self.store_global_var(); + self.machine_st.p += 1; + } + &Instruction::ExecuteStoreGlobalVar => { + self.store_global_var(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallStreamProperty => { + try_or_throw!(self.machine_st, self.stream_property()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteStreamProperty => { + try_or_throw!(self.machine_st, self.stream_property()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallSetStreamPosition => { + try_or_throw!(self.machine_st, self.set_stream_position()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteSetStreamPosition => { + try_or_throw!(self.machine_st, self.set_stream_position()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallInferenceLevel => { + self.inference_level(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteInferenceLevel => { + self.inference_level(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCleanUpBlock => { + self.clean_up_block(); + self.machine_st.p += 1; + } + &Instruction::ExecuteCleanUpBlock => { + self.clean_up_block(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallFail | &Instruction::ExecuteFail => { self.machine_st.backtrack(); - } else { + } + &Instruction::CallGetBall => { + self.get_ball(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetBall => { + self.get_ball(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetCurrentBlock => { + self.get_current_block(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetCurrentBlock => { + self.get_current_block(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetCurrentSCCBlock => { + self.get_current_scc_block(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetCurrentSCCBlock => { + self.get_current_scc_block(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetCutPoint => { + self.get_cut_point(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetCutPoint => { + self.get_cut_point(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetDoubleQuotes => { + self.get_double_quotes(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetDoubleQuotes => { + self.get_double_quotes(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetUnknown => { + self.get_unknown(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetUnknown => { + self.get_unknown(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallInstallNewBlock => { + self.machine_st + .install_new_block(self.machine_st.registers[1]); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteInstallNewBlock => { + self.machine_st + .install_new_block(self.machine_st.registers[1]); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallMaybe => { + self.maybe(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteMaybe => { + self.maybe(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCpuNow => { + self.cpu_now(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCpuNow => { + self.cpu_now(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDeterministicLengthRundown => { + try_or_throw!(self.machine_st, self.det_length_rundown()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteDeterministicLengthRundown => { + try_or_throw!(self.machine_st, self.det_length_rundown()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallHttpOpen => { + #[cfg(feature = "http")] + try_or_throw!(self.machine_st, self.http_open()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteHttpOpen => { + #[cfg(feature = "http")] + try_or_throw!(self.machine_st, self.http_open()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallHttpListen => { + #[cfg(feature = "http")] + try_or_throw!(self.machine_st, self.http_listen()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteHttpListen => { + #[cfg(feature = "http")] + try_or_throw!(self.machine_st, self.http_listen()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallHttpAccept => { + #[cfg(feature = "http")] + try_or_throw!(self.machine_st, self.http_accept()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteHttpAccept => { + #[cfg(feature = "http")] + try_or_throw!(self.machine_st, self.http_accept()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallHttpAnswer => { + #[cfg(feature = "http")] + try_or_throw!(self.machine_st, self.http_answer()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteHttpAnswer => { + #[cfg(feature = "http")] + try_or_throw!(self.machine_st, self.http_answer()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallLoadForeignLib => { + #[cfg(feature = "ffi")] + try_or_throw!(self.machine_st, self.load_foreign_lib()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteLoadForeignLib => { + #[cfg(feature = "ffi")] + try_or_throw!(self.machine_st, self.load_foreign_lib()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallForeignCall => { + #[cfg(feature = "ffi")] + try_or_throw!(self.machine_st, self.foreign_call()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteForeignCall => { + #[cfg(feature = "ffi")] + try_or_throw!(self.machine_st, self.foreign_call()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDefineForeignStruct => { + #[cfg(feature = "ffi")] + try_or_throw!(self.machine_st, self.define_foreign_struct()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteDefineForeignStruct => { + #[cfg(feature = "ffi")] + try_or_throw!(self.machine_st, self.define_foreign_struct()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCurrentTime => { + self.current_time(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCurrentTime => { + self.current_time(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallQuotedToken => { + self.quoted_token(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteQuotedToken => { + self.quoted_token(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallReadFromChars => { + try_or_throw!(self.machine_st, self.read_from_chars()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteReadFromChars => { + try_or_throw!(self.machine_st, self.read_from_chars()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallReadTermFromChars => { + try_or_throw!(self.machine_st, self.read_term_from_chars()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteReadTermFromChars => { + try_or_throw!(self.machine_st, self.read_term_from_chars()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallResetBlock => { + self.reset_block(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteResetBlock => { + self.reset_block(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallResetSCCBlock => { + self.reset_scc_block(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteResetSCCBlock => { + self.reset_scc_block(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallReturnFromVerifyAttr + | &Instruction::ExecuteReturnFromVerifyAttr => { + self.return_from_verify_attr(); + } + &Instruction::CallSetBall => { + self.set_ball(); + self.machine_st.p += 1; + } + &Instruction::ExecuteSetBall => { + self.set_ball(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallPushBallStack => { + self.push_ball_stack(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePushBallStack => { + self.push_ball_stack(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallPopBallStack => { + self.pop_ball_stack(); + self.machine_st.p += 1; + } + &Instruction::ExecutePopBallStack => { + self.pop_ball_stack(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallPopFromBallStack => { + self.pop_from_ball_stack(); + self.machine_st.p += 1; + } + &Instruction::ExecutePopFromBallStack => { + self.pop_from_ball_stack(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallSetCutPointByDefault(r) => { + self.set_cut_point_by_default(r); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteSetCutPointByDefault(r) => { + self.set_cut_point_by_default(r); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallSetDoubleQuotes => { + self.set_double_quotes(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteSetDoubleQuotes => { + self.set_double_quotes(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallSetUnknown => { + self.set_unknown(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteSetUnknown => { + self.set_unknown(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallSetSeed => { + self.set_seed(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteSetSeed => { + self.set_seed(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallSkipMaxList => { + try_or_throw!(self.machine_st, self.machine_st.skip_max_list()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteSkipMaxList => { + try_or_throw!(self.machine_st, self.machine_st.skip_max_list()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallSleep => { + self.sleep(); + self.machine_st.p += 1; + } + &Instruction::ExecuteSleep => { + self.sleep(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallSocketClientOpen => { + try_or_throw!(self.machine_st, self.socket_client_open()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteSocketClientOpen => { + try_or_throw!(self.machine_st, self.socket_client_open()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallSocketServerOpen => { + try_or_throw!(self.machine_st, self.socket_server_open()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteSocketServerOpen => { + try_or_throw!(self.machine_st, self.socket_server_open()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallSocketServerAccept => { + try_or_throw!(self.machine_st, self.socket_server_accept()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteSocketServerAccept => { + try_or_throw!(self.machine_st, self.socket_server_accept()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallSocketServerClose => { + try_or_throw!(self.machine_st, self.socket_server_close()); + self.machine_st.p += 1; + } + &Instruction::ExecuteSocketServerClose => { + try_or_throw!(self.machine_st, self.socket_server_close()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallTLSAcceptClient => { + #[cfg(feature = "tls")] + try_or_throw!(self.machine_st, self.tls_accept_client()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteTLSAcceptClient => { + #[cfg(feature = "tls")] + try_or_throw!(self.machine_st, self.tls_accept_client()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallTLSClientConnect => { + #[cfg(feature = "tls")] + try_or_throw!(self.machine_st, self.tls_client_connect()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteTLSClientConnect => { + #[cfg(feature = "tls")] + try_or_throw!(self.machine_st, self.tls_client_connect()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallSucceed => { + self.machine_st.p += 1; + } + &Instruction::ExecuteSucceed => { + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallTermAttributedVariables => { + self.term_attributed_variables(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteTermAttributedVariables => { + self.term_attributed_variables(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallTermVariables => { + self.term_variables(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteTermVariables => { + self.term_variables(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallTermVariablesUnderMaxDepth => { + self.term_variables_under_max_depth(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteTermVariablesUnderMaxDepth => { + self.term_variables_under_max_depth(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallTruncateLiftedHeapTo => { + self.truncate_lifted_heap_to(); + self.machine_st.p += 1; + } + &Instruction::ExecuteTruncateLiftedHeapTo => { + self.truncate_lifted_heap_to(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallUnifyWithOccursCheck => { + self.unify_with_occurs_check(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteUnifyWithOccursCheck => { + self.unify_with_occurs_check(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallUnwindEnvironments => { + if !self.unwind_environments() { + self.machine_st.p += 1; + } + } + &Instruction::ExecuteUnwindEnvironments => { + if !self.unwind_environments() { + self.machine_st.p = self.machine_st.cp; + } + } + &Instruction::CallUnwindStack | &Instruction::ExecuteUnwindStack => { + self.machine_st.unwind_stack(); + self.machine_st.backtrack(); + } + &Instruction::CallWAMInstructions => { + try_or_throw!(self.machine_st, self.wam_instructions()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteWAMInstructions => { + try_or_throw!(self.machine_st, self.wam_instructions()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallInlinedInstructions => { + self.inlined_instructions(); + self.machine_st.p += 1; + } + &Instruction::ExecuteInlinedInstructions => { + self.inlined_instructions(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallWriteTerm => { + try_or_throw!(self.machine_st, self.write_term()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteWriteTerm => { + try_or_throw!(self.machine_st, self.write_term()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallWriteTermToChars => { + try_or_throw!(self.machine_st, self.write_term_to_chars()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteWriteTermToChars => { + try_or_throw!(self.machine_st, self.write_term_to_chars()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallScryerPrologVersion => { + self.scryer_prolog_version(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteScryerPrologVersion => { + self.scryer_prolog_version(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCryptoRandomByte => { + self.crypto_random_byte(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCryptoRandomByte => { + self.crypto_random_byte(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCryptoDataHash => { + self.crypto_data_hash(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCryptoDataHash => { + self.crypto_data_hash(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCryptoDataHKDF => { + self.crypto_data_hkdf(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCryptoDataHKDF => { + self.crypto_data_hkdf(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCryptoPasswordHash => { + self.crypto_password_hash(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCryptoPasswordHash => { + self.crypto_password_hash(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + #[cfg(feature = "crypto-full")] + &Instruction::CallCryptoDataEncrypt => { + self.crypto_data_encrypt(); + step_or_fail!(self, self.machine_st.p += 1); + } + #[cfg(feature = "crypto-full")] + &Instruction::ExecuteCryptoDataEncrypt => { + self.crypto_data_encrypt(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + #[cfg(feature = "crypto-full")] + &Instruction::CallCryptoDataDecrypt => { + self.crypto_data_decrypt(); + step_or_fail!(self, self.machine_st.p += 1); + } + #[cfg(feature = "crypto-full")] + &Instruction::ExecuteCryptoDataDecrypt => { + self.crypto_data_decrypt(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCryptoCurveScalarMult => { + self.crypto_curve_scalar_mult(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCryptoCurveScalarMult => { + self.crypto_curve_scalar_mult(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + #[cfg(feature = "crypto-full")] + &Instruction::CallEd25519Sign => { + self.ed25519_sign(); + step_or_fail!(self, self.machine_st.p += 1); + } + #[cfg(feature = "crypto-full")] + &Instruction::ExecuteEd25519Sign => { + self.ed25519_sign(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + #[cfg(feature = "crypto-full")] + &Instruction::CallEd25519Verify => { + self.ed25519_verify(); + step_or_fail!(self, self.machine_st.p += 1); + } + #[cfg(feature = "crypto-full")] + &Instruction::ExecuteEd25519Verify => { + self.ed25519_verify(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + #[cfg(feature = "crypto-full")] + &Instruction::CallEd25519NewKeyPair => { + self.ed25519_new_key_pair(); + step_or_fail!(self, self.machine_st.p += 1); + } + #[cfg(feature = "crypto-full")] + &Instruction::ExecuteEd25519NewKeyPair => { + self.ed25519_new_key_pair(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + #[cfg(feature = "crypto-full")] + &Instruction::CallEd25519KeyPairPublicKey => { + self.ed25519_key_pair_public_key(); + step_or_fail!(self, self.machine_st.p += 1); + } + #[cfg(feature = "crypto-full")] + &Instruction::ExecuteEd25519KeyPairPublicKey => { + self.ed25519_key_pair_public_key(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCurve25519ScalarMult => { + self.curve25519_scalar_mult(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCurve25519ScalarMult => { + self.curve25519_scalar_mult(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallFirstNonOctet => { + self.first_non_octet(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteFirstNonOctet => { + self.first_non_octet(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallLoadHTML => { + self.load_html(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteLoadHTML => { + self.load_html(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallLoadXML => { + self.load_xml(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteLoadXML => { + self.load_xml(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallGetEnv => { + self.get_env(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetEnv => { + self.get_env(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallSetEnv => { + self.set_env(); + self.machine_st.p += 1; + } + &Instruction::ExecuteSetEnv => { + self.set_env(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallUnsetEnv => { + self.unset_env(); + self.machine_st.p += 1; + } + &Instruction::ExecuteUnsetEnv => { + self.unset_env(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallShell => { + self.shell(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteShell => { + self.shell(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallPID => { + self.pid(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePID => { + self.pid(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCharsBase64 => { + try_or_throw!(self.machine_st, self.chars_base64()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCharsBase64 => { + try_or_throw!(self.machine_st, self.chars_base64()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDevourWhitespace => { + try_or_throw!(self.machine_st, self.devour_whitespace()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteDevourWhitespace => { + try_or_throw!(self.machine_st, self.devour_whitespace()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallIsSTOEnabled => { + self.is_sto_enabled(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteIsSTOEnabled => { + self.is_sto_enabled(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallSetSTOAsUnify => { + self.set_sto_as_unify(); + self.machine_st.p += 1; + } + &Instruction::ExecuteSetSTOAsUnify => { + self.set_sto_as_unify(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallSetNSTOAsUnify => { + self.set_nsto_as_unify(); + self.machine_st.p += 1; + } + &Instruction::ExecuteSetNSTOAsUnify => { + self.set_nsto_as_unify(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallSetSTOWithErrorAsUnify => { + self.set_sto_with_error_as_unify(); + self.machine_st.p += 1; + } + &Instruction::ExecuteSetSTOWithErrorAsUnify => { + self.set_sto_with_error_as_unify(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallHomeDirectory => { + self.home_directory(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteHomeDirectory => { + self.home_directory(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDebugHook => { + self.debug_hook(); + self.machine_st.p += 1; + } + &Instruction::ExecuteDebugHook => { + self.debug_hook(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallPopCount => { + self.pop_count(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePopCount => { + self.pop_count(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallAddDiscontiguousPredicate => { + try_or_throw!(self.machine_st, self.add_discontiguous_predicate()); + self.machine_st.p += 1; + } + &Instruction::ExecuteAddDiscontiguousPredicate => { + try_or_throw!(self.machine_st, self.add_discontiguous_predicate()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallAddDynamicPredicate => { + try_or_throw!(self.machine_st, self.add_dynamic_predicate()); + self.machine_st.p += 1; + } + &Instruction::ExecuteAddDynamicPredicate => { + try_or_throw!(self.machine_st, self.add_dynamic_predicate()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallAddMultifilePredicate => { + try_or_throw!(self.machine_st, self.add_multifile_predicate()); + self.machine_st.p += 1; + } + &Instruction::ExecuteAddMultifilePredicate => { + try_or_throw!(self.machine_st, self.add_multifile_predicate()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallAddGoalExpansionClause => { + try_or_throw!(self.machine_st, self.add_goal_expansion_clause()); + self.machine_st.p += 1; + } + &Instruction::ExecuteAddGoalExpansionClause => { + try_or_throw!(self.machine_st, self.add_goal_expansion_clause()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallAddTermExpansionClause => { + try_or_throw!(self.machine_st, self.add_term_expansion_clause()); + self.machine_st.p += 1; + } + &Instruction::ExecuteAddTermExpansionClause => { + try_or_throw!(self.machine_st, self.add_term_expansion_clause()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallAddInSituFilenameModule => { + try_or_throw!(self.machine_st, self.add_in_situ_filename_module()); + self.machine_st.p += 1; + } + &Instruction::ExecuteAddInSituFilenameModule => { + try_or_throw!(self.machine_st, self.add_in_situ_filename_module()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallClauseToEvacuable => { + try_or_throw!(self.machine_st, self.clause_to_evacuable()); + self.machine_st.p += 1; + } + &Instruction::ExecuteClauseToEvacuable => { + try_or_throw!(self.machine_st, self.clause_to_evacuable()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallScopedClauseToEvacuable => { + try_or_throw!(self.machine_st, self.scoped_clause_to_evacuable()); + self.machine_st.p += 1; + } + &Instruction::ExecuteScopedClauseToEvacuable => { + try_or_throw!(self.machine_st, self.scoped_clause_to_evacuable()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallConcludeLoad => { + try_or_throw!(self.machine_st, self.conclude_load()); + self.machine_st.p += 1; + } + &Instruction::ExecuteConcludeLoad => { + try_or_throw!(self.machine_st, self.conclude_load()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallDeclareModule => { + try_or_throw!(self.machine_st, self.declare_module()); + self.machine_st.p += 1; + } + &Instruction::ExecuteDeclareModule => { + try_or_throw!(self.machine_st, self.declare_module()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallLoadCompiledLibrary => { + try_or_throw!(self.machine_st, self.load_compiled_library()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteLoadCompiledLibrary => { + try_or_throw!(self.machine_st, self.load_compiled_library()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallLoadContextSource => { + self.load_context_source(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteLoadContextSource => { + self.load_context_source(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallLoadContextFile => { + self.load_context_file(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteLoadContextFile => { + self.load_context_file(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallLoadContextDirectory => { + self.load_context_directory(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteLoadContextDirectory => { + self.load_context_directory(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallLoadContextModule => { + self.load_context_module(self.machine_st.registers[1]); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteLoadContextModule => { + self.load_context_module(self.machine_st.registers[1]); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallLoadContextStream => { + self.load_context_stream(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteLoadContextStream => { + self.load_context_stream(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallPopLoadContext => { + self.pop_load_context(); + self.machine_st.p += 1; + } + &Instruction::ExecutePopLoadContext => { + self.pop_load_context(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallPopLoadStatePayload => { + self.pop_load_state_payload(); + self.machine_st.p += 1; + } + &Instruction::ExecutePopLoadStatePayload => { + self.pop_load_state_payload(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallPushLoadContext => { + try_or_throw!(self.machine_st, self.push_load_context()); + self.machine_st.p += 1; + } + &Instruction::ExecutePushLoadContext => { + try_or_throw!(self.machine_st, self.push_load_context()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallPushLoadStatePayload => { + self.push_load_state_payload(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePushLoadStatePayload => { + self.push_load_state_payload(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallUseModule => { + try_or_throw!(self.machine_st, self.use_module()); + self.machine_st.p += 1; + } + &Instruction::ExecuteUseModule => { + try_or_throw!(self.machine_st, self.use_module()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallBuiltInProperty => { + let key = self.machine_st.read_predicate_key( + self.machine_st.registers[1], + self.machine_st.registers[2], + ); + + self.machine_st.fail = !self.indices.builtin_property(key); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteBuiltInProperty => { + let key = self.machine_st.read_predicate_key( + self.machine_st.registers[1], + self.machine_st.registers[2], + ); + + self.machine_st.fail = !self.indices.builtin_property(key); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallMetaPredicateProperty => { + self.meta_predicate_property(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteMetaPredicateProperty => { + self.meta_predicate_property(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallMultifileProperty => { + self.multifile_property(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteMultifileProperty => { + self.multifile_property(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDiscontiguousProperty => { + self.discontiguous_property(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteDiscontiguousProperty => { + self.discontiguous_property(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDynamicProperty => { + self.dynamic_property(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteDynamicProperty => { + self.dynamic_property(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallAbolishClause => { + try_or_throw!(self.machine_st, self.abolish_clause()); + self.machine_st.p += 1; + } + &Instruction::ExecuteAbolishClause => { + try_or_throw!(self.machine_st, self.abolish_clause()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallAsserta => { try_or_throw!( self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + self.compile_assert(AppendOrPrepend::Prepend) ); + self.machine_st.p += 1; } - } - &Instruction::ExecuteFastCallN(arity) => { - let call_at_index = |wam: &mut Machine, name, arity, ptr| { - wam.try_execute(name, arity, ptr) - }; - - try_or_throw!(self.machine_st, self.fast_call(arity, call_at_index)); - - if self.machine_st.fail { - self.machine_st.backtrack(); - } else { + &Instruction::ExecuteAsserta => { try_or_throw!( self.machine_st, - (self.machine_st.increment_call_count_fn)(&mut self.machine_st) + self.compile_assert(AppendOrPrepend::Prepend) ); + self.machine_st.p = self.machine_st.cp; } - } - &Instruction::CallGetClauseP => { - let module_name = cell_as_atom!(self.deref_register(3)); + &Instruction::CallAssertz => { + try_or_throw!( + self.machine_st, + self.compile_assert(AppendOrPrepend::Append) + ); + self.machine_st.p += 1; + } + &Instruction::ExecuteAssertz => { + try_or_throw!( + self.machine_st, + self.compile_assert(AppendOrPrepend::Append) + ); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallRetract => { + try_or_throw!(self.machine_st, self.retract_clause()); + self.machine_st.p += 1; + } + &Instruction::ExecuteRetract => { + try_or_throw!(self.machine_st, self.retract_clause()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallIsConsistentWithTermQueue => { + try_or_throw!(self.machine_st, self.is_consistent_with_term_queue()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteIsConsistentWithTermQueue => { + try_or_throw!(self.machine_st, self.is_consistent_with_term_queue()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::CallFlushTermQueue => { + try_or_throw!(self.machine_st, self.flush_term_queue()); + self.machine_st.p += 1; + } + &Instruction::ExecuteFlushTermQueue => { + try_or_throw!(self.machine_st, self.flush_term_queue()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallRemoveModuleExports => { + try_or_throw!(self.machine_st, self.remove_module_exports()); + self.machine_st.p += 1; + } + &Instruction::ExecuteRemoveModuleExports => { + try_or_throw!(self.machine_st, self.remove_module_exports()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallAddNonCountedBacktracking => { + try_or_throw!(self.machine_st, self.add_non_counted_backtracking()); + self.machine_st.p += 1; + } + &Instruction::ExecuteAddNonCountedBacktracking => { + try_or_throw!(self.machine_st, self.add_non_counted_backtracking()); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallPredicateDefined => { + self.machine_st.fail = !self.predicate_defined(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePredicateDefined => { + self.machine_st.fail = !self.predicate_defined(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallStripModule => { + self.strip_module(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteStripModule => { + self.strip_module(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallPrepareCallClause(arity) => { + try_or_throw!(self.machine_st, self.prepare_call_clause(arity)); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePrepareCallClause(arity) => { + try_or_throw!(self.machine_st, self.prepare_call_clause(arity)); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallCompileInlineOrExpandedGoal => { + try_or_throw!(self.machine_st, self.compile_inline_or_expanded_goal()); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteCompileInlineOrExpandedGoal => { + try_or_throw!(self.machine_st, self.compile_inline_or_expanded_goal()); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallIsExpandedOrInlined => { + self.machine_st.fail = !self.is_expanded_or_inlined(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteIsExpandedOrInlined => { + self.machine_st.fail = !self.is_expanded_or_inlined(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallFastCallN(arity) => { + let call_at_index = + |wam: &mut Machine, name, arity, ptr| wam.try_call(name, arity, ptr); - let (n, p) = self.get_clause_p(module_name); + try_or_throw!(self.machine_st, self.fast_call(arity, call_at_index)); - let r = self.machine_st.registers[2]; - let r = self.machine_st.store(self.machine_st.deref(r)); - - let h = self.machine_st.heap.len(); - self.machine_st.heap.extend(functor!(atom!("-"), [fixnum(n), fixnum(p)])); - - let r = r.as_var().unwrap(); - self.machine_st.bind(r, str_loc_as_cell!(h)); - - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetClauseP => { - let module_name = cell_as_atom!(self.deref_register(3)); - - let (n, p) = self.get_clause_p(module_name); - - let r = self.machine_st.registers[2]; - let r = self.machine_st.store(self.machine_st.deref(r)); - - let h = self.machine_st.heap.len(); - self.machine_st.heap.extend(functor!(atom!("-"), [fixnum(n), fixnum(p)])); - - let r = r.as_var().unwrap(); - self.machine_st.bind(r, str_loc_as_cell!(h)); - - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallInvokeClauseAtP => { - let key_cell = self.machine_st.registers[1]; - let key = self.machine_st.name_and_arity_from_heap(key_cell).unwrap(); - - let l = self.machine_st.registers[3]; - let l = self.machine_st.store(self.machine_st.deref(l)); - - let l = match Number::try_from(l) { - Ok(Number::Fixnum(l)) => l.get_num() as usize, - _ => unreachable!(), - }; - - let p = self.machine_st.registers[4]; - let p = self.machine_st.store(self.machine_st.deref(p)); - - let p = match Number::try_from(p) { - Ok(Number::Fixnum(p)) => p.get_num() as usize, - _ => unreachable!(), - }; - - let module_name = cell_as_atom!(self.deref_register(6)); - - let compilation_target = match module_name { - atom!("user") => CompilationTarget::User, - _ => CompilationTarget::Module(module_name), - }; - - let skeleton = self.indices.get_predicate_skeleton_mut( - &compilation_target, - &key, - ).unwrap(); - - match skeleton.target_pos_of_clause_clause_loc(l) { - Some(n) => { - let r = self.machine_st.store(self.machine_st.deref( - self.machine_st.registers[5], - )); - - self.machine_st.unify_fixnum(Fixnum::build_with(n as i64), r); + if self.machine_st.fail { + self.machine_st.backtrack(); } - None => {} } + &Instruction::ExecuteFastCallN(arity) => { + let call_at_index = + |wam: &mut Machine, name, arity, ptr| wam.try_execute(name, arity, ptr); - self.machine_st.call_at_index(2, p); - } - &Instruction::ExecuteInvokeClauseAtP => { - let key_cell = self.machine_st.registers[1]; - let key = self.machine_st.name_and_arity_from_heap(key_cell).unwrap(); + try_or_throw!(self.machine_st, self.fast_call(arity, call_at_index)); - let l = self.machine_st.registers[3]; - let l = self.machine_st.store(self.machine_st.deref(l)); - - let l = match Number::try_from(l) { - Ok(Number::Fixnum(l)) => l.get_num() as usize, - _ => unreachable!(), - }; - - let p = self.machine_st.registers[4]; - let p = self.machine_st.store(self.machine_st.deref(p)); - - let p = match Number::try_from(p) { - Ok(Number::Fixnum(p)) => p.get_num() as usize, - _ => unreachable!(), - }; - - let module_name = cell_as_atom!(self.deref_register(6)); - - let compilation_target = match module_name { - atom!("user") => CompilationTarget::User, - _ => CompilationTarget::Module(module_name), - }; - - let skeleton = self.indices.get_predicate_skeleton_mut( - &compilation_target, - &key, - ).unwrap(); - - match skeleton.target_pos_of_clause_clause_loc(l) { - Some(n) => { - let r = self.machine_st.store(self.machine_st.deref( - self.machine_st.registers[5], - )); - - self.machine_st.unify_fixnum(Fixnum::build_with(n as i64), r); + if self.machine_st.fail { + self.machine_st.backtrack(); } - None => {} } + &Instruction::CallGetClauseP => { + let module_name = cell_as_atom!(self.deref_register(3)); - self.machine_st.execute_at_index(2, p); - } - &Instruction::CallGetFromAttributedVarList => { - self.get_from_attributed_variable_list(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetFromAttributedVarList => { - self.get_from_attributed_variable_list(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallPutToAttributedVarList => { - self.put_to_attributed_variable_list(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecutePutToAttributedVarList => { - self.put_to_attributed_variable_list(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDeleteFromAttributedVarList => { - self.delete_from_attributed_variable_list(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteDeleteFromAttributedVarList => { - self.delete_from_attributed_variable_list(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); - } - &Instruction::CallDeleteAllAttributesFromVar => { - self.delete_all_attributes_from_var(); - self.machine_st.p += 1; - } - &Instruction::ExecuteDeleteAllAttributesFromVar => { - self.delete_all_attributes_from_var(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallUnattributedVar => { - self.machine_st.unattributed_var(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteUnattributedVar => { - self.machine_st.unattributed_var(); - self.machine_st.p = self.machine_st.cp; - } - &Instruction::CallGetDBRefs => { - self.get_db_refs(); - step_or_fail!(self, self.machine_st.p += 1); - } - &Instruction::ExecuteGetDBRefs => { - self.get_db_refs(); - step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + let (n, p) = self.get_clause_p(module_name); + + let r = self.machine_st.registers[2]; + let r = self.machine_st.store(self.machine_st.deref(r)); + + let h = self.machine_st.heap.len(); + self.machine_st + .heap + .extend(functor!(atom!("-"), [fixnum(n), fixnum(p)])); + + let r = r.as_var().unwrap(); + self.machine_st.bind(r, str_loc_as_cell!(h)); + + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetClauseP => { + let module_name = cell_as_atom!(self.deref_register(3)); + + let (n, p) = self.get_clause_p(module_name); + + let r = self.machine_st.registers[2]; + let r = self.machine_st.store(self.machine_st.deref(r)); + + let h = self.machine_st.heap.len(); + self.machine_st + .heap + .extend(functor!(atom!("-"), [fixnum(n), fixnum(p)])); + + let r = r.as_var().unwrap(); + self.machine_st.bind(r, str_loc_as_cell!(h)); + + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallInvokeClauseAtP => { + let key_cell = self.machine_st.registers[1]; + let key = self.machine_st.name_and_arity_from_heap(key_cell).unwrap(); + + let l = self.machine_st.registers[3]; + let l = self.machine_st.store(self.machine_st.deref(l)); + + let l = match Number::try_from(l) { + Ok(Number::Fixnum(l)) => l.get_num() as usize, + _ => unreachable!(), + }; + + let p = self.machine_st.registers[4]; + let p = self.machine_st.store(self.machine_st.deref(p)); + + let p = match Number::try_from(p) { + Ok(Number::Fixnum(p)) => p.get_num() as usize, + _ => unreachable!(), + }; + + let module_name = cell_as_atom!(self.deref_register(6)); + + let compilation_target = match module_name { + atom!("user") => CompilationTarget::User, + _ => CompilationTarget::Module(module_name), + }; + + let skeleton = self + .indices + .get_predicate_skeleton_mut(&compilation_target, &key) + .unwrap(); + + match skeleton.target_pos_of_clause_clause_loc(l) { + Some(n) => { + let r = self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[5])); + + self.machine_st + .unify_fixnum(Fixnum::build_with(n as i64), r); + } + None => {} + } + + self.machine_st.call_at_index(2, p); + } + &Instruction::ExecuteInvokeClauseAtP => { + let key_cell = self.machine_st.registers[1]; + let key = self.machine_st.name_and_arity_from_heap(key_cell).unwrap(); + + let l = self.machine_st.registers[3]; + let l = self.machine_st.store(self.machine_st.deref(l)); + + let l = match Number::try_from(l) { + Ok(Number::Fixnum(l)) => l.get_num() as usize, + _ => unreachable!(), + }; + + let p = self.machine_st.registers[4]; + let p = self.machine_st.store(self.machine_st.deref(p)); + + let p = match Number::try_from(p) { + Ok(Number::Fixnum(p)) => p.get_num() as usize, + _ => unreachable!(), + }; + + let module_name = cell_as_atom!(self.deref_register(6)); + + let compilation_target = match module_name { + atom!("user") => CompilationTarget::User, + _ => CompilationTarget::Module(module_name), + }; + + let skeleton = self + .indices + .get_predicate_skeleton_mut(&compilation_target, &key) + .unwrap(); + + match skeleton.target_pos_of_clause_clause_loc(l) { + Some(n) => { + let r = self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[5])); + + self.machine_st + .unify_fixnum(Fixnum::build_with(n as i64), r); + } + None => {} + } + + self.machine_st.execute_at_index(2, p); + } + &Instruction::CallGetFromAttributedVarList => { + self.get_from_attributed_variable_list(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetFromAttributedVarList => { + self.get_from_attributed_variable_list(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallPutToAttributedVarList => { + self.put_to_attributed_variable_list(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecutePutToAttributedVarList => { + self.put_to_attributed_variable_list(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDeleteFromAttributedVarList => { + self.delete_from_attributed_variable_list(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteDeleteFromAttributedVarList => { + self.delete_from_attributed_variable_list(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } + &Instruction::CallDeleteAllAttributesFromVar => { + self.delete_all_attributes_from_var(); + self.machine_st.p += 1; + } + &Instruction::ExecuteDeleteAllAttributesFromVar => { + self.delete_all_attributes_from_var(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallUnattributedVar => { + self.machine_st.unattributed_var(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteUnattributedVar => { + self.machine_st.unattributed_var(); + self.machine_st.p = self.machine_st.cp; + } + &Instruction::CallGetDBRefs => { + self.get_db_refs(); + step_or_fail!(self, self.machine_st.p += 1); + } + &Instruction::ExecuteGetDBRefs => { + self.get_db_refs(); + step_or_fail!(self, self.machine_st.p = self.machine_st.cp); + } } } - } - let interrupted = INTERRUPT.load(std::sync::atomic::Ordering::Relaxed); + let interrupted = INTERRUPT.load(std::sync::atomic::Ordering::Relaxed); - match INTERRUPT.compare_exchange( - interrupted, - false, - std::sync::atomic::Ordering::Relaxed, - std::sync::atomic::Ordering::Relaxed, - ) { - Ok(interruption) => { - if interruption { - self.machine_st.throw_interrupt_exception(); - self.machine_st.backtrack(); + match INTERRUPT.compare_exchange( + interrupted, + false, + std::sync::atomic::Ordering::Relaxed, + std::sync::atomic::Ordering::Relaxed, + ) { + Ok(interruption) => { + if interruption { + self.machine_st.throw_interrupt_exception(); + self.machine_st.backtrack(); + } } + Err(_) => unreachable!(), } - Err(_) => unreachable!(), - } } std::process::ExitCode::SUCCESS diff --git a/src/machine/gc.rs b/src/machine/gc.rs index ad42b1d5..5b4895bd 100644 --- a/src/machine/gc.rs +++ b/src/machine/gc.rs @@ -3,7 +3,7 @@ use crate::machine::heap::*; use crate::types::*; #[cfg(test)] -use crate::heap_iter::{IterStackLoc, FocusedHeapIter, HeapOrStackTag}; +use crate::heap_iter::{FocusedHeapIter, HeapOrStackTag, IterStackLoc}; use core::marker::PhantomData; @@ -173,14 +173,18 @@ impl<'a, UMP: UnmarkPolicy> StacklessPreOrderHeapIter<'a, UMP> { match self.heap[self.current].get_tag() { HeapCellValueTag::AttrVar => { - if let Some(cell) = UMP::forward_attr_var(self) { return Some(cell); } + if let Some(cell) = UMP::forward_attr_var(self) { + return Some(cell); + } if self.heap[self.next as usize].get_mark_bit() { return Some(attr_var_as_cell!(self.current)); } } HeapCellValueTag::Var => { - if let Some(cell) = self.forward_var() { return Some(cell); } + if let Some(cell) = self.forward_var() { + return Some(cell); + } if self.heap[self.next as usize].get_mark_bit() { return Some(heap_loc_as_cell!(self.current)); @@ -196,7 +200,7 @@ impl<'a, UMP: UnmarkPolicy> StacklessPreOrderHeapIter<'a, UMP> { let arity = cell_as_atom_cell!(self.heap[h]).get_arity(); - for cell in &mut self.heap[h + 1 .. h + arity + 1] { + for cell in &mut self.heap[h + 1..h + arity + 1] { cell.set_forwarding_bit(true); } @@ -227,12 +231,12 @@ impl<'a, UMP: UnmarkPolicy> StacklessPreOrderHeapIter<'a, UMP> { let h = self.next as usize; let cell = self.heap[h]; - if self.heap[h+1].get_forwarding_bit() { + if self.heap[h + 1].get_forwarding_bit() { return self.backward_and_return(); } if self.heap[h].get_tag() == HeapCellValueTag::PStr { - let last_cell_loc = h+1; + let last_cell_loc = h + 1; self.heap[last_cell_loc].set_forwarding_bit(true); self.next = self.heap[last_cell_loc].get_value(); @@ -257,9 +261,9 @@ impl<'a, UMP: UnmarkPolicy> StacklessPreOrderHeapIter<'a, UMP> { let cell = self.heap[h]; // mark the Fixnum offset. - UMP::mark(self.heap, self.current+1); + UMP::mark(self.heap, self.current + 1); - let last_cell_loc = h+1; + let last_cell_loc = h + 1; if self.heap[last_cell_loc].get_forwarding_bit() { return self.backward_and_return(); @@ -328,9 +332,9 @@ impl<'a, UMP: UnmarkPolicy> StacklessPreOrderHeapIter<'a, UMP> { self.current -= 1; - let temp = self.heap[self.current+1].get_value(); + let temp = self.heap[self.current + 1].get_value(); - self.heap[self.current+1].set_value(self.next); + self.heap[self.current + 1].set_value(self.next); self.next = self.heap[self.current].get_value(); self.heap[self.current].set_value(temp); @@ -366,16 +370,25 @@ mod tests { let b_atom = atom!("b"); wam.machine_st - .heap - .extend(functor!(f_atom, [atom(a_atom), atom(b_atom)])); + .heap + .extend(functor!(f_atom, [atom(a_atom), atom(b_atom)])); mark_cells(&mut wam.machine_st.heap, str_loc_as_cell!(0)); all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), atom_as_cell!(f_atom, 2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), atom_as_cell!(a_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), atom_as_cell!(b_atom)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + atom_as_cell!(f_atom, 2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + atom_as_cell!(a_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + atom_as_cell!(b_atom) + ); wam.machine_st.heap.clear(); @@ -393,11 +406,26 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), atom_as_cell!(f_atom, 4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), atom_as_cell!(a_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), atom_as_cell!(b_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), atom_as_cell!(a_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), str_loc_as_cell!(0)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + atom_as_cell!(f_atom, 4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + atom_as_cell!(a_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + atom_as_cell!(b_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + atom_as_cell!(a_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + str_loc_as_cell!(0) + ); for cell in &mut wam.machine_st.heap { cell.set_mark_bit(false); @@ -428,12 +456,30 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), str_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), atom_as_cell!(f_atom, 4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), atom_as_cell!(a_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), atom_as_cell!(b_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), atom_as_cell!(a_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), str_loc_as_cell!(1)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + str_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + atom_as_cell!(f_atom, 4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + atom_as_cell!(a_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + atom_as_cell!(b_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + atom_as_cell!(a_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + str_loc_as_cell!(1) + ); wam.machine_st.heap.clear(); @@ -443,7 +489,10 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), heap_loc_as_cell!(0)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + heap_loc_as_cell!(0) + ); wam.machine_st.heap.clear(); @@ -458,11 +507,26 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), list_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), atom_as_cell!(a_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), list_loc_as_cell!(3)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), atom_as_cell!(b_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), empty_list_as_cell!()); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + list_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + atom_as_cell!(a_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + list_loc_as_cell!(3) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + atom_as_cell!(b_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + empty_list_as_cell!() + ); wam.machine_st.heap.pop(); @@ -477,11 +541,26 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), list_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), atom_as_cell!(a_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), list_loc_as_cell!(3)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), atom_as_cell!(b_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), heap_loc_as_cell!(0)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + list_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + atom_as_cell!(a_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + list_loc_as_cell!(3) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + atom_as_cell!(b_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + heap_loc_as_cell!(0) + ); for cell in &mut wam.machine_st.heap { cell.set_mark_bit(false); @@ -511,11 +590,23 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), list_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), atom_as_cell!(a_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), list_loc_as_cell!(3)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + list_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + atom_as_cell!(a_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + list_loc_as_cell!(3) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), stream_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), empty_list_as_cell!()); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + empty_list_as_cell!() + ); wam.machine_st.heap.clear(); @@ -530,10 +621,22 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), heap_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), heap_loc_as_cell!(2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), heap_loc_as_cell!(3)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), heap_loc_as_cell!(0)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + heap_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + heap_loc_as_cell!(2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + heap_loc_as_cell!(3) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + heap_loc_as_cell!(0) + ); wam.machine_st.heap.clear(); @@ -541,7 +644,8 @@ mod tests { // two-part complete string, then a three-part cyclic string // involving an uncompacted list of chars. - let pstr_var_cell = put_partial_string(&mut wam.machine_st.heap, "abc ", &mut wam.machine_st.atom_tbl); + let pstr_var_cell = + put_partial_string(&mut wam.machine_st.heap, "abc ", &wam.machine_st.atom_tbl); let pstr_cell = wam.machine_st.heap[pstr_var_cell.get_value() as usize]; mark_cells(&mut wam.machine_st.heap, pstr_loc_as_cell!(0)); @@ -549,7 +653,10 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), heap_loc_as_cell!(1)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + heap_loc_as_cell!(1) + ); wam.machine_st.heap.pop(); @@ -559,7 +666,8 @@ mod tests { wam.machine_st.heap.push(pstr_loc_as_cell!(2)); - let pstr_second_var_cell = put_partial_string(&mut wam.machine_st.heap, "def", &mut wam.machine_st.atom_tbl); + let pstr_second_var_cell = + put_partial_string(&mut wam.machine_st.heap, "def", &wam.machine_st.atom_tbl); let pstr_second_cell = wam.machine_st.heap[pstr_second_var_cell.get_value() as usize]; mark_cells(&mut wam.machine_st.heap, pstr_loc_as_cell!(0)); @@ -567,9 +675,15 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_loc_as_cell!(2)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + pstr_loc_as_cell!(2) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_second_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), heap_loc_as_cell!(3)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + heap_loc_as_cell!(3) + ); for cell in &mut wam.machine_st.heap { cell.set_mark_bit(false); @@ -578,18 +692,32 @@ mod tests { wam.machine_st.heap.pop(); wam.machine_st.heap.push(pstr_loc_as_cell!(4)); wam.machine_st.heap.push(pstr_offset_as_cell!(0)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(2))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(2))); mark_cells(&mut wam.machine_st.heap, pstr_loc_as_cell!(4)); all_cells_marked_and_unforwarded(&wam.machine_st.heap); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_loc_as_cell!(2)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + pstr_loc_as_cell!(2) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_second_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), pstr_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), pstr_offset_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), fixnum_as_cell!(Fixnum::build_with(2))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + pstr_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + pstr_offset_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + fixnum_as_cell!(Fixnum::build_with(2)) + ); for cell in &mut wam.machine_st.heap { cell.set_mark_bit(false); @@ -600,11 +728,23 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_loc_as_cell!(2)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + pstr_loc_as_cell!(2) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_second_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), pstr_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), pstr_offset_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), fixnum_as_cell!(Fixnum::build_with(2))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + pstr_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + pstr_offset_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + fixnum_as_cell!(Fixnum::build_with(2)) + ); for cell in &mut wam.machine_st.heap { cell.set_mark_bit(false); @@ -615,11 +755,23 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_loc_as_cell!(2)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + pstr_loc_as_cell!(2) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_second_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), pstr_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), pstr_offset_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), fixnum_as_cell!(Fixnum::build_with(2))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + pstr_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + pstr_offset_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + fixnum_as_cell!(Fixnum::build_with(2)) + ); for cell in &mut wam.machine_st.heap { cell.set_mark_bit(false); @@ -630,11 +782,23 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_loc_as_cell!(2)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + pstr_loc_as_cell!(2) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_second_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), pstr_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), pstr_offset_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), fixnum_as_cell!(Fixnum::build_with(2))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + pstr_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + pstr_offset_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + fixnum_as_cell!(Fixnum::build_with(2)) + ); for cell in &mut wam.machine_st.heap { cell.set_mark_bit(false); @@ -645,11 +809,23 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_loc_as_cell!(2)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + pstr_loc_as_cell!(2) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_second_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), pstr_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), pstr_offset_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), fixnum_as_cell!(Fixnum::build_with(2))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + pstr_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + pstr_offset_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + fixnum_as_cell!(Fixnum::build_with(2)) + ); wam.machine_st.heap.truncate(4); @@ -657,9 +833,13 @@ mod tests { cell.set_mark_bit(false); } - wam.machine_st.heap.push(atom_as_cell!(atom!("irrelevant stuff"))); + wam.machine_st + .heap + .push(atom_as_cell!(atom!("irrelevant stuff"))); wam.machine_st.heap.push(pstr_offset_as_cell!(0)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(2))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(2))); wam.machine_st.heap[3] = pstr_loc_as_cell!(5); @@ -674,24 +854,47 @@ mod tests { assert!(wam.machine_st.heap[6].get_mark_bit()); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_loc_as_cell!(2)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + pstr_loc_as_cell!(2) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_second_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), pstr_loc_as_cell!(5)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), atom_as_cell!(atom!("irrelevant stuff"))); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), pstr_offset_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), fixnum_as_cell!(Fixnum::build_with(2))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + pstr_loc_as_cell!(5) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + atom_as_cell!(atom!("irrelevant stuff")) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + pstr_offset_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + fixnum_as_cell!(Fixnum::build_with(2)) + ); wam.machine_st.heap.clear(); - wam.machine_st.heap.push(atom_as_cell!(atom!("irrelevant stuff"))); + wam.machine_st + .heap + .push(atom_as_cell!(atom!("irrelevant stuff"))); wam.machine_st.heap.push(pstr_cell); wam.machine_st.heap.push(pstr_loc_as_cell!(4)); - wam.machine_st.heap.push(atom_as_cell!(atom!("irrelevant stuff"))); + wam.machine_st + .heap + .push(atom_as_cell!(atom!("irrelevant stuff"))); wam.machine_st.heap.push(pstr_second_cell); wam.machine_st.heap.push(pstr_loc_as_cell!(7)); - wam.machine_st.heap.push(atom_as_cell!(atom!("irrelevant stuff"))); + wam.machine_st + .heap + .push(atom_as_cell!(atom!("irrelevant stuff"))); wam.machine_st.heap.push(pstr_offset_as_cell!(1)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(2))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(2))); mark_cells(&mut wam.machine_st.heap, pstr_loc_as_cell!(7)); @@ -705,15 +908,36 @@ mod tests { assert!(wam.machine_st.heap[7].get_mark_bit()); assert!(wam.machine_st.heap[8].get_mark_bit()); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), atom_as_cell!(atom!("irrelevant stuff"))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + atom_as_cell!(atom!("irrelevant stuff")) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), atom_as_cell!(atom!("irrelevant stuff"))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + pstr_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + atom_as_cell!(atom!("irrelevant stuff")) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), pstr_second_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), pstr_loc_as_cell!(7)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), atom_as_cell!(atom!("irrelevant stuff"))); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[7]), pstr_offset_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[8]), fixnum_as_cell!(Fixnum::build_with(2))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + pstr_loc_as_cell!(7) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + atom_as_cell!(atom!("irrelevant stuff")) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[7]), + pstr_offset_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[8]), + fixnum_as_cell!(Fixnum::build_with(2)) + ); for cell in &mut wam.machine_st.heap { cell.set_mark_bit(false); @@ -735,15 +959,36 @@ mod tests { assert!(!cell.get_forwarding_bit()); } - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), atom_as_cell!(atom!("irrelevant stuff"))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + atom_as_cell!(atom!("irrelevant stuff")) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), atom_as_cell!(atom!("irrelevant stuff"))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + pstr_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + atom_as_cell!(atom!("irrelevant stuff")) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), pstr_second_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), pstr_loc_as_cell!(7)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), atom_as_cell!(atom!("irrelevant stuff"))); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[7]), pstr_offset_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[8]), fixnum_as_cell!(Fixnum::build_with(2))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + pstr_loc_as_cell!(7) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + atom_as_cell!(atom!("irrelevant stuff")) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[7]), + pstr_offset_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[8]), + fixnum_as_cell!(Fixnum::build_with(2)) + ); for cell in &mut wam.machine_st.heap { cell.set_mark_bit(false); @@ -765,15 +1010,36 @@ mod tests { assert!(!cell.get_forwarding_bit()); } - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), atom_as_cell!(atom!("irrelevant stuff"))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + atom_as_cell!(atom!("irrelevant stuff")) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), atom_as_cell!(atom!("irrelevant stuff"))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + pstr_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + atom_as_cell!(atom!("irrelevant stuff")) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), pstr_second_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), pstr_loc_as_cell!(7)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), atom_as_cell!(atom!("irrelevant stuff"))); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[7]), pstr_offset_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[8]), fixnum_as_cell!(Fixnum::build_with(2))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + pstr_loc_as_cell!(7) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + atom_as_cell!(atom!("irrelevant stuff")) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[7]), + pstr_offset_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[8]), + fixnum_as_cell!(Fixnum::build_with(2)) + ); for cell in &mut wam.machine_st.heap { cell.set_mark_bit(false); @@ -795,15 +1061,36 @@ mod tests { assert!(!cell.get_forwarding_bit()); } - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), atom_as_cell!(atom!("irrelevant stuff"))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + atom_as_cell!(atom!("irrelevant stuff")) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), atom_as_cell!(atom!("irrelevant stuff"))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + pstr_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + atom_as_cell!(atom!("irrelevant stuff")) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), pstr_second_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), pstr_loc_as_cell!(7)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), atom_as_cell!(atom!("irrelevant stuff"))); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[7]), pstr_offset_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[8]), fixnum_as_cell!(Fixnum::build_with(2))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + pstr_loc_as_cell!(7) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + atom_as_cell!(atom!("irrelevant stuff")) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[7]), + pstr_offset_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[8]), + fixnum_as_cell!(Fixnum::build_with(2)) + ); for cell in &mut wam.machine_st.heap { cell.set_mark_bit(false); @@ -825,15 +1112,36 @@ mod tests { assert!(!cell.get_forwarding_bit()); } - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), atom_as_cell!(atom!("irrelevant stuff"))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + atom_as_cell!(atom!("irrelevant stuff")) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), atom_as_cell!(atom!("irrelevant stuff"))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + pstr_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + atom_as_cell!(atom!("irrelevant stuff")) + ); assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), pstr_second_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), pstr_loc_as_cell!(7)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), atom_as_cell!(atom!("irrelevant stuff"))); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[7]), pstr_offset_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[8]), fixnum_as_cell!(Fixnum::build_with(2))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + pstr_loc_as_cell!(7) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + atom_as_cell!(atom!("irrelevant stuff")) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[7]), + pstr_offset_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[8]), + fixnum_as_cell!(Fixnum::build_with(2)) + ); for cell in &mut wam.machine_st.heap { cell.set_mark_bit(false); @@ -846,7 +1154,9 @@ mod tests { wam.machine_st.heap.push(pstr_cell); wam.machine_st.heap.push(pstr_loc_as_cell!(2)); wam.machine_st.heap.push(pstr_offset_as_cell!(0)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(3))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(3))); wam.machine_st.heap.push(list_loc_as_cell!(5)); wam.machine_st.heap.push(pstr_loc_as_cell!(0)); wam.machine_st.heap.push(empty_list_as_cell!()); @@ -860,19 +1170,39 @@ mod tests { } assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_loc_as_cell!(2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_offset_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), fixnum_as_cell!(Fixnum::build_with(3))); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), list_loc_as_cell!(5)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), pstr_loc_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), empty_list_as_cell!()); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + pstr_loc_as_cell!(2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + pstr_offset_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + fixnum_as_cell!(Fixnum::build_with(3)) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + list_loc_as_cell!(5) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + pstr_loc_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + empty_list_as_cell!() + ); wam.machine_st.heap.clear(); wam.machine_st.heap.push(pstr_cell); wam.machine_st.heap.push(pstr_loc_as_cell!(2)); wam.machine_st.heap.push(pstr_offset_as_cell!(0)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(3))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(3))); wam.machine_st.heap.push(list_loc_as_cell!(5)); wam.machine_st.heap.push(pstr_loc_as_cell!(0)); wam.machine_st.heap.push(heap_loc_as_cell!(4)); @@ -886,12 +1216,30 @@ mod tests { } assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), pstr_cell); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), pstr_loc_as_cell!(2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), pstr_offset_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), fixnum_as_cell!(Fixnum::build_with(3))); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), list_loc_as_cell!(5)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), pstr_loc_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), heap_loc_as_cell!(4)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + pstr_loc_as_cell!(2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + pstr_offset_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + fixnum_as_cell!(Fixnum::build_with(3)) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + list_loc_as_cell!(5) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + pstr_loc_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + heap_loc_as_cell!(4) + ); wam.machine_st.heap.clear(); @@ -906,10 +1254,22 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), heap_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), heap_loc_as_cell!(2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), heap_loc_as_cell!(3)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), heap_loc_as_cell!(3)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + heap_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + heap_loc_as_cell!(2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + heap_loc_as_cell!(3) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + heap_loc_as_cell!(3) + ); wam.machine_st.heap.clear(); @@ -922,9 +1282,18 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), list_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), list_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), list_loc_as_cell!(1)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + list_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + list_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + list_loc_as_cell!(1) + ); wam.machine_st.heap.clear(); @@ -948,19 +1317,58 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), list_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), heap_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), heap_loc_as_cell!(3)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), list_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), str_loc_as_cell!(6)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), heap_loc_as_cell!(8)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), atom_as_cell!(f_atom, 1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[7]), heap_loc_as_cell!(11)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[8]), list_loc_as_cell!(9)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[9]), heap_loc_as_cell!(9)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[10]), empty_list_as_cell!()); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[11]), attr_var_as_cell!(11)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[12]), heap_loc_as_cell!(12)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + list_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + heap_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + heap_loc_as_cell!(3) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + list_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + str_loc_as_cell!(6) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + heap_loc_as_cell!(8) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + atom_as_cell!(f_atom, 1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[7]), + heap_loc_as_cell!(11) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[8]), + list_loc_as_cell!(9) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[9]), + heap_loc_as_cell!(9) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[10]), + empty_list_as_cell!() + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[11]), + attr_var_as_cell!(11) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[12]), + heap_loc_as_cell!(12) + ); // now populate the attributes list. let clpz_atom = atom!("clpz"); @@ -990,30 +1398,102 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), list_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), heap_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), heap_loc_as_cell!(3)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), list_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), str_loc_as_cell!(6)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), heap_loc_as_cell!(8)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), atom_as_cell!(f_atom, 1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[7]), heap_loc_as_cell!(11)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[8]), list_loc_as_cell!(9)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[9]), heap_loc_as_cell!(9)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[10]), empty_list_as_cell!()); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[11]), attr_var_as_cell!(11)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[12]), heap_loc_as_cell!(13)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[13]), list_loc_as_cell!(14)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[14]), str_loc_as_cell!(16)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[15]), heap_loc_as_cell!(19)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[16]), atom_as_cell!(clpz_atom, 2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[17]), atom_as_cell!(a_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[18]), atom_as_cell!(b_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[19]), list_loc_as_cell!(20)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[20]), str_loc_as_cell!(22)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[21]), empty_list_as_cell!()); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[22]), atom_as_cell!(p_atom, 1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[23]), heap_loc_as_cell!(23)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + list_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + heap_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + heap_loc_as_cell!(3) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + list_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + str_loc_as_cell!(6) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + heap_loc_as_cell!(8) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + atom_as_cell!(f_atom, 1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[7]), + heap_loc_as_cell!(11) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[8]), + list_loc_as_cell!(9) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[9]), + heap_loc_as_cell!(9) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[10]), + empty_list_as_cell!() + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[11]), + attr_var_as_cell!(11) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[12]), + heap_loc_as_cell!(13) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[13]), + list_loc_as_cell!(14) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[14]), + str_loc_as_cell!(16) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[15]), + heap_loc_as_cell!(19) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[16]), + atom_as_cell!(clpz_atom, 2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[17]), + atom_as_cell!(a_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[18]), + atom_as_cell!(b_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[19]), + list_loc_as_cell!(20) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[20]), + str_loc_as_cell!(22) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[21]), + empty_list_as_cell!() + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[22]), + atom_as_cell!(p_atom, 1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[23]), + heap_loc_as_cell!(23) + ); for cell in &mut wam.machine_st.heap { cell.set_mark_bit(false); @@ -1034,36 +1514,119 @@ mod tests { assert_eq!(cell.get_mark_bit(), false); } - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), list_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), heap_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), heap_loc_as_cell!(3)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), list_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), str_loc_as_cell!(6)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), heap_loc_as_cell!(8)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), atom_as_cell!(f_atom, 1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[7]), heap_loc_as_cell!(11)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[8]), list_loc_as_cell!(9)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[9]), heap_loc_as_cell!(9)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[10]), empty_list_as_cell!()); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[11]), attr_var_as_cell!(11)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[12]), heap_loc_as_cell!(13)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[13]), list_loc_as_cell!(14)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[14]), str_loc_as_cell!(16)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[15]), heap_loc_as_cell!(19)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[16]), atom_as_cell!(clpz_atom, 2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[17]), atom_as_cell!(a_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[18]), atom_as_cell!(b_atom)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[19]), list_loc_as_cell!(20)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[20]), str_loc_as_cell!(22)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[21]), empty_list_as_cell!()); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[22]), atom_as_cell!(p_atom, 1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[23]), heap_loc_as_cell!(23)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[24]), heap_loc_as_cell!(5)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[25]), heap_loc_as_cell!(5)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[26]), list_loc_as_cell!(5)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + list_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + heap_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + heap_loc_as_cell!(3) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + list_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + str_loc_as_cell!(6) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + heap_loc_as_cell!(8) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + atom_as_cell!(f_atom, 1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[7]), + heap_loc_as_cell!(11) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[8]), + list_loc_as_cell!(9) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[9]), + heap_loc_as_cell!(9) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[10]), + empty_list_as_cell!() + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[11]), + attr_var_as_cell!(11) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[12]), + heap_loc_as_cell!(13) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[13]), + list_loc_as_cell!(14) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[14]), + str_loc_as_cell!(16) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[15]), + heap_loc_as_cell!(19) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[16]), + atom_as_cell!(clpz_atom, 2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[17]), + atom_as_cell!(a_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[18]), + atom_as_cell!(b_atom) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[19]), + list_loc_as_cell!(20) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[20]), + str_loc_as_cell!(22) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[21]), + empty_list_as_cell!() + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[22]), + atom_as_cell!(p_atom, 1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[23]), + heap_loc_as_cell!(23) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[24]), + heap_loc_as_cell!(5) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[25]), + heap_loc_as_cell!(5) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[26]), + list_loc_as_cell!(5) + ); wam.machine_st.heap.clear(); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(0))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(0))); mark_cells(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); @@ -1090,16 +1653,46 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), str_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), atom_as_cell!(atom!("g"), 2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), heap_loc_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), atom_as_cell!(atom!("y"))); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), atom_as_cell!(atom!("="), 2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), atom_as_cell!(atom!("X"))); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), heap_loc_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[7]), list_loc_as_cell!(8)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[8]), str_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[9]), empty_list_as_cell!()); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + str_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + atom_as_cell!(atom!("g"), 2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + heap_loc_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + atom_as_cell!(atom!("y")) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + atom_as_cell!(atom!("="), 2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + atom_as_cell!(atom!("X")) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + heap_loc_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[7]), + list_loc_as_cell!(8) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[8]), + str_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[9]), + empty_list_as_cell!() + ); wam.machine_st.heap.clear(); @@ -1111,9 +1704,18 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), atom_as_cell!(atom!("f"), 2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), heap_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), heap_loc_as_cell!(1)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + atom_as_cell!(atom!("f"), 2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + heap_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + heap_loc_as_cell!(1) + ); wam.machine_st.heap.clear(); @@ -1131,13 +1733,34 @@ mod tests { all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), list_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), empty_list_as_cell!()); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), list_loc_as_cell!(3)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), heap_loc_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), heap_loc_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), empty_list_as_cell!()); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), heap_loc_as_cell!(2)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + list_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + empty_list_as_cell!() + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + list_loc_as_cell!(3) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + heap_loc_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + heap_loc_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + empty_list_as_cell!() + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + heap_loc_as_cell!(2) + ); wam.machine_st.heap.clear(); @@ -1145,8 +1768,8 @@ mod tests { wam.machine_st.heap.push(list_loc_as_cell!(7)); wam.machine_st.heap.push(heap_loc_as_cell!(0)); - wam.machine_st.heap.push(list_loc_as_cell!(3)); // A = [B|[]]. - wam.machine_st.heap.push(list_loc_as_cell!(5)); // B = [A|A]. + wam.machine_st.heap.push(list_loc_as_cell!(3)); // A = [B|[]]. + wam.machine_st.heap.push(list_loc_as_cell!(5)); // B = [A|A]. wam.machine_st.heap.push(empty_list_as_cell!()); wam.machine_st.heap.push(heap_loc_as_cell!(2)); wam.machine_st.heap.push(heap_loc_as_cell!(2)); @@ -1158,44 +1781,109 @@ mod tests { assert!(wam.machine_st.heap[0].get_mark_bit()); assert!(!wam.machine_st.heap[1].get_mark_bit()); - all_cells_marked_and_unforwarded(&wam.machine_st.heap[2 ..]); + all_cells_marked_and_unforwarded(&wam.machine_st.heap[2..]); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), list_loc_as_cell!(7)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), heap_loc_as_cell!(0)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), list_loc_as_cell!(3)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), list_loc_as_cell!(5)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), empty_list_as_cell!()); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), heap_loc_as_cell!(2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), heap_loc_as_cell!(2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[7]), empty_list_as_cell!()); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[8]), heap_loc_as_cell!(3)); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + list_loc_as_cell!(7) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + heap_loc_as_cell!(0) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + list_loc_as_cell!(3) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + list_loc_as_cell!(5) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + empty_list_as_cell!() + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + heap_loc_as_cell!(2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + heap_loc_as_cell!(2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[7]), + empty_list_as_cell!() + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[8]), + heap_loc_as_cell!(3) + ); wam.machine_st.heap.clear(); wam.machine_st.heap.push(str_loc_as_cell!(1)); wam.machine_st.heap.push(atom_as_cell!(atom!("+"), 2)); wam.machine_st.heap.push(str_loc_as_cell!(4)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(2))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(2))); wam.machine_st.heap.push(atom_as_cell!(atom!("-"), 2)); wam.machine_st.heap.push(str_loc_as_cell!(7)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(1))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(1))); wam.machine_st.heap.push(atom_as_cell!(atom!("+"), 2)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(3))); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(4))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(3))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(4))); mark_cells(&mut wam.machine_st.heap, heap_loc_as_cell!(0)); all_cells_marked_and_unforwarded(&wam.machine_st.heap); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[0]), str_loc_as_cell!(1)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[1]), atom_as_cell!(atom!("+"), 2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[2]), str_loc_as_cell!(4)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[3]), fixnum_as_cell!(Fixnum::build_with(2))); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[4]), atom_as_cell!(atom!("-"), 2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[5]), str_loc_as_cell!(7)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[6]), fixnum_as_cell!(Fixnum::build_with(1))); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[7]), atom_as_cell!(atom!("+"), 2)); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[8]), fixnum_as_cell!(Fixnum::build_with(3))); - assert_eq!(unmark_cell_bits!(wam.machine_st.heap[9]), fixnum_as_cell!(Fixnum::build_with(4))); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[0]), + str_loc_as_cell!(1) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[1]), + atom_as_cell!(atom!("+"), 2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[2]), + str_loc_as_cell!(4) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[3]), + fixnum_as_cell!(Fixnum::build_with(2)) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[4]), + atom_as_cell!(atom!("-"), 2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[5]), + str_loc_as_cell!(7) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[6]), + fixnum_as_cell!(Fixnum::build_with(1)) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[7]), + atom_as_cell!(atom!("+"), 2) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[8]), + fixnum_as_cell!(Fixnum::build_with(3)) + ); + assert_eq!( + unmark_cell_bits!(wam.machine_st.heap[9]), + fixnum_as_cell!(Fixnum::build_with(4)) + ); } } diff --git a/src/machine/heap.rs b/src/machine/heap.rs index c479162e..858e4487 100644 --- a/src/machine/heap.rs +++ b/src/machine/heap.rs @@ -130,11 +130,7 @@ pub fn print_heap_terms<'a, I: Iterator>(heap: I, h: u } #[inline] -pub(crate) fn put_complete_string( - heap: &mut Heap, - s: &str, - atom_tbl: &mut AtomTable, -) -> HeapCellValue { +pub(crate) fn put_complete_string(heap: &mut Heap, s: &str, atom_tbl: &AtomTable) -> HeapCellValue { match allocate_pstr(heap, s, atom_tbl) { Some(h) => { heap.pop(); // pop the trailing variable cell from the heap planted by allocate_pstr. @@ -157,11 +153,7 @@ pub(crate) fn put_complete_string( } #[inline] -pub(crate) fn put_partial_string( - heap: &mut Heap, - s: &str, - atom_tbl: &mut AtomTable, -) -> HeapCellValue { +pub(crate) fn put_partial_string(heap: &mut Heap, s: &str, atom_tbl: &AtomTable) -> HeapCellValue { match allocate_pstr(heap, s, atom_tbl) { Some(h) => { pstr_loc_as_cell!(h) @@ -173,11 +165,7 @@ pub(crate) fn put_partial_string( } #[inline] -pub(crate) fn allocate_pstr( - heap: &mut Heap, - mut src: &str, - atom_tbl: &mut AtomTable, -) -> Option { +pub(crate) fn allocate_pstr(heap: &mut Heap, mut src: &str, atom_tbl: &AtomTable) -> Option { let orig_h = heap.len(); loop { diff --git a/src/machine/load_state.rs b/src/machine/load_state.rs index 8273ac41..fd857f3d 100644 --- a/src/machine/load_state.rs +++ b/src/machine/load_state.rs @@ -63,21 +63,27 @@ fn add_op_decl_as_module_export<'a, LS: LoadState<'a>>( match op_decl.insert_into_op_dir(wam_op_dir) { Some(op_desc) => { - payload.retraction_info.push_record(RetractionRecord::ReplacedUserOp( - *op_decl, - op_desc, - )); + payload + .retraction_info + .push_record(RetractionRecord::ReplacedUserOp(*op_decl, op_desc)); payload.module_op_exports.push((*op_decl, Some(op_desc))); } None => { - payload.retraction_info.push_record(RetractionRecord::AddedUserOp(*op_decl)); + payload + .retraction_info + .push_record(RetractionRecord::AddedUserOp(*op_decl)); payload.module_op_exports.push((*op_decl, None)); } } let compilation_target = payload.compilation_target; - add_op_decl(&mut payload.retraction_info, &compilation_target, module_op_dir, op_decl); + add_op_decl( + &mut payload.retraction_info, + &compilation_target, + module_op_dir, + op_decl, + ); } pub(super) fn add_op_decl( @@ -89,10 +95,7 @@ pub(super) fn add_op_decl( match op_decl.insert_into_op_dir(op_dir) { Some(op_desc) => match &compilation_target { CompilationTarget::User => { - retraction_info.push_record(RetractionRecord::ReplacedUserOp( - *op_decl, - op_desc, - )); + retraction_info.push_record(RetractionRecord::ReplacedUserOp(*op_decl, op_desc)); } CompilationTarget::Module(ref module_name) => { retraction_info.push_record(RetractionRecord::ReplacedModuleOp( @@ -107,10 +110,8 @@ pub(super) fn add_op_decl( retraction_info.push_record(RetractionRecord::AddedUserOp(*op_decl)); } CompilationTarget::Module(ref module_name) => { - retraction_info.push_record(RetractionRecord::AddedModuleOp( - *module_name, - *op_decl, - )); + retraction_info + .push_record(RetractionRecord::AddedModuleOp(*module_name, *op_decl)); } }, } @@ -160,7 +161,12 @@ pub(super) fn import_module_exports<'a, LS: LoadState<'a>>( } } ModuleExport::OpDecl(ref op_decl) => { - add_op_decl(&mut payload.retraction_info, compilation_target, op_dir, op_decl); + add_op_decl( + &mut payload.retraction_info, + compilation_target, + op_dir, + op_decl, + ); } } } @@ -209,12 +215,7 @@ fn import_module_exports_into_module<'a, LS: LoadState<'a>>( } } ModuleExport::OpDecl(ref op_decl) => { - add_op_decl_as_module_export::( - payload, - op_dir, - wam_op_dir, - op_decl, - ); + add_op_decl_as_module_export::(payload, op_dir, wam_op_dir, op_decl); } } } @@ -239,13 +240,18 @@ fn import_qualified_module_exports<'a, LS: LoadState<'a>>( let key = (*name, *arity); if let Some(meta_specs) = imported_module.meta_predicates.get(&key) { - wam_prelude.indices.meta_predicates.insert(key.clone(), meta_specs.clone()); + wam_prelude + .indices + .meta_predicates + .insert(key.clone(), meta_specs.clone()); } if let Some(src_code_index) = imported_module.code_dir.get(&key) { let arena = &mut LS::machine_st(payload).arena; - let target_code_index = wam_prelude.indices.code_dir + let target_code_index = wam_prelude + .indices + .code_dir .entry(key.clone()) .or_insert_with(|| CodeIndex::new(IndexPtr::undefined(), arena)) .clone(); @@ -325,12 +331,7 @@ fn import_qualified_module_exports_into_module<'a, LS: LoadState<'a>>( } } ModuleExport::OpDecl(ref op_decl) => { - add_op_decl_as_module_export::( - payload, - op_dir, - wam_op_dir, - op_decl, - ); + add_op_decl_as_module_export::(payload, op_dir, wam_op_dir, op_decl); } } } @@ -378,10 +379,8 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { mut clause_target_poses: Vec>, is_dynamic: bool, ) { - let old_compilation_target = mem::replace( - &mut self.payload.compilation_target, - compilation_target, - ); + let old_compilation_target = + mem::replace(&mut self.payload.compilation_target, compilation_target); while let Some(target_pos_opt) = clause_target_poses.pop() { match target_pos_opt { @@ -482,7 +481,8 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let old_index_ptr = code_index.replace(IndexPtr::undefined()); - self.payload.retraction_info + self.payload + .retraction_info .push_record(RetractionRecord::ReplacedModulePredicate( module_name, *key, @@ -491,7 +491,8 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { } for (key, skeleton) in removed_module.extensible_predicates.drain(..) { - self.payload.retraction_info + self.payload + .retraction_info .push_record(RetractionRecord::RemovedSkeleton( CompilationTarget::Module(module_name), key, @@ -499,7 +500,10 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { )); } - self.wam_prelude.indices.modules.insert(module_name, removed_module); + self.wam_prelude + .indices + .modules + .insert(module_name, removed_module); } pub(super) fn remove_module_exports(&mut self, module_name: Atom) { @@ -523,15 +527,17 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { (Some(module_code_index), Some(target_code_index)) if module_code_index.get() == target_code_index.get() => { - let old_index_ptr = target_code_index.replace(IndexPtr::undefined()); - retraction_info.push_record(predicate_retractor(*key, old_index_ptr)); + let old_index_ptr = + target_code_index.replace(IndexPtr::undefined()); + retraction_info + .push_record(predicate_retractor(*key, old_index_ptr)); } _ => {} } } ModuleExport::OpDecl(op_decl) => { - let op_dir_value_opt = - op_dir.remove(&(op_decl.name, fixity(op_decl.op_desc.get_spec() as u32))); + let op_dir_value_opt = op_dir + .remove(&(op_decl.name, fixity(op_decl.op_desc.get_spec() as u32))); if let Some(op_desc) = op_dir_value_opt { retraction_info.push_record(op_retractor(*op_decl, op_desc)); @@ -552,9 +558,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { RetractionRecord::ReplacedUserOp, ); } - CompilationTarget::Module(target_module_name) - if target_module_name != module_name => - { + CompilationTarget::Module(target_module_name) if target_module_name != module_name => { let predicate_retractor = |key, index_ptr| { RetractionRecord::ReplacedModulePredicate(module_name, key, index_ptr) }; @@ -563,7 +567,12 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { RetractionRecord::ReplacedModuleOp(module_name, op_decl, op_desc) }; - if let Some(module) = self.wam_prelude.indices.modules.get_mut(&target_module_name) { + if let Some(module) = self + .wam_prelude + .indices + .modules + .get_mut(&target_module_name) + { remove_module_exports( &removed_module, &mut module.code_dir, @@ -579,7 +588,10 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { CompilationTarget::Module(_) => {} }; - self.wam_prelude.indices.modules.insert(module_name, removed_module); + self.wam_prelude + .indices + .modules + .insert(module_name, removed_module); } fn get_or_insert_local_code_index( @@ -591,10 +603,12 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { Some(ref mut module) => module .code_dir .entry(key) - .or_insert_with(|| CodeIndex::new( - IndexPtr::undefined(), - &mut LS::machine_st(&mut self.payload).arena, - )) + .or_insert_with(|| { + CodeIndex::new( + IndexPtr::undefined(), + &mut LS::machine_st(&mut self.payload).arena, + ) + }) .clone(), None => { self.add_dynamically_generated_module(module_name); @@ -603,10 +617,12 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { Some(ref mut module) => module .code_dir .entry(key) - .or_insert_with(|| CodeIndex::new( - IndexPtr::undefined(), - &mut LS::machine_st(&mut self.payload).arena, - )) + .or_insert_with(|| { + CodeIndex::new( + IndexPtr::undefined(), + &mut LS::machine_st(&mut self.payload).arena, + ) + }) .clone(), None => { unreachable!() @@ -771,10 +787,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { ClauseType::Named(arity, name, _) => { let payload_compilation_target = self.payload.compilation_target; - let idx = self.get_or_insert_code_index( - (name, arity), - payload_compilation_target, - ); + let idx = self.get_or_insert_code_index((name, arity), payload_compilation_target); ClauseType::Named(arity, name, idx) } @@ -802,13 +815,11 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { } pub(super) fn get_meta_specs(&self, name: Atom, arity: usize) -> Option<&Vec> { - self.wam_prelude - .indices - .get_meta_predicate_spec( - name, - arity, - &self.payload.compilation_target, - ) + self.wam_prelude.indices.get_meta_predicate_spec( + name, + arity, + &self.payload.compilation_target, + ) } pub(super) fn add_meta_predicate_record( @@ -829,19 +840,18 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { .insert(key, meta_specs) { Some(old_meta_specs) => { - self.payload.retraction_info - .push_record(RetractionRecord::ReplacedMetaPredicate( + self.payload.retraction_info.push_record( + RetractionRecord::ReplacedMetaPredicate( module_name, key.0, old_meta_specs, - )); + ), + ); } None => { - self.payload.retraction_info - .push_record(RetractionRecord::AddedMetaPredicate( - module_name, - key, - )); + self.payload + .retraction_info + .push_record(RetractionRecord::AddedMetaPredicate(module_name, key)); } } } @@ -868,17 +878,16 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { None => { self.add_dynamically_generated_module(module_name); - if let Some(module) = self.wam_prelude.indices.modules.get_mut(&module_name) { + if let Some(module) = self.wam_prelude.indices.modules.get_mut(&module_name) + { module.meta_predicates.insert(key.clone(), meta_specs); } else { unreachable!() } - self.payload.retraction_info - .push_record(RetractionRecord::AddedMetaPredicate( - module_name.clone(), - key, - )); + self.payload.retraction_info.push_record( + RetractionRecord::AddedMetaPredicate(module_name.clone(), key), + ); } } } @@ -901,10 +910,14 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { &mut module.meta_predicates, ); - self.payload.retraction_info + self.payload + .retraction_info .push_record(RetractionRecord::AddedModule(module_name.clone())); - self.wam_prelude.indices.modules.insert(module_name.clone(), module); + self.wam_prelude + .indices + .modules + .insert(module_name.clone(), module); } fn import_builtins_in_module( @@ -968,9 +981,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { if is_dynamic { let clause_clause_compilation_target = match compilation_target { - CompilationTarget::User => { - CompilationTarget::Module(atom!("builtins")) - } + CompilationTarget::User => CompilationTarget::Module(atom!("builtins")), module => module.clone(), }; @@ -981,7 +992,8 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { } } - self.payload.retraction_info + self.payload + .retraction_info .push_record(RetractionRecord::ReplacedModule( old_module_decl, listing_src.clone(), @@ -1051,7 +1063,12 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { )?; } CompilationTarget::Module(ref defining_module_name) => { - match self.wam_prelude.indices.modules.get_mut(defining_module_name) { + match self + .wam_prelude + .indices + .modules + .get_mut(defining_module_name) + { Some(ref mut target_module) => { import_module_exports_into_module::( &mut self.payload, @@ -1091,17 +1108,20 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let payload_compilation_target = self.payload.compilation_target; let result = match &payload_compilation_target { - CompilationTarget::User => { - import_qualified_module_exports::( - &mut self.payload, - &payload_compilation_target, - &module, - &exports, - &mut self.wam_prelude, - ) - } + CompilationTarget::User => import_qualified_module_exports::( + &mut self.payload, + &payload_compilation_target, + &module, + &exports, + &mut self.wam_prelude, + ), CompilationTarget::Module(ref defining_module_name) => { - match self.wam_prelude.indices.modules.get_mut(defining_module_name) { + match self + .wam_prelude + .indices + .modules + .get_mut(defining_module_name) + { Some(ref mut target_module) => { import_qualified_module_exports_into_module::( &mut self.payload, @@ -1113,9 +1133,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { &mut self.wam_prelude.indices.op_dir, ) } - None => { - Err(SessionError::ModuleCannotImportSelf(module_name)) - } + None => Err(SessionError::ModuleCannotImportSelf(module_name)), } } }; @@ -1123,29 +1141,38 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { self.wam_prelude.indices.modules.insert(module_name, module); result } else { - Err(SessionError::ExistenceError(ExistenceError::Module(module_name))) + Err(SessionError::ExistenceError(ExistenceError::Module( + module_name, + ))) } } pub(crate) fn use_module(&mut self, module_src: ModuleSource) -> Result<(), SessionError> { let (stream, listing_src) = match module_src { ModuleSource::File(filename) => { - let mut path_buf = PathBuf::from(filename.as_str()); + let mut path_buf = PathBuf::from(&*filename.as_str()); path_buf.set_extension("pl"); let file = File::open(&path_buf)?; ( - Stream::from_file_as_input(filename, file, &mut LS::machine_st(&mut self.payload).arena), + Stream::from_file_as_input( + filename, + file, + &mut LS::machine_st(&mut self.payload).arena, + ), ListingSource::File(filename, path_buf), ) } - ModuleSource::Library(library) => match LIBRARIES.borrow().get(library.as_str()) { + ModuleSource::Library(library) => match LIBRARIES.borrow().get(&*library.as_str()) { Some(code) => { if let Some(ref module) = self.wam_prelude.indices.modules.get(&library) { if let ListingSource::DynamicallyGenerated = &module.listing_src { ( - Stream::from_static_string(*code, &mut LS::machine_st(&mut self.payload).arena), + Stream::from_static_string( + *code, + &mut LS::machine_st(&mut self.payload).arena, + ), ListingSource::User, ) } else { @@ -1153,7 +1180,10 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { } } else { ( - Stream::from_static_string(*code, &mut LS::machine_st(&mut self.payload).arena), + Stream::from_static_string( + *code, + &mut LS::machine_st(&mut self.payload).arena, + ), ListingSource::User, ) } @@ -1172,9 +1202,10 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { ); let subloader: Loader<'_, BootstrappingLoadState> = Loader { - payload: BootstrappingLoadState( - LoadStatePayload::new(self.wam_prelude.code.len(), term_stream) - ), + payload: BootstrappingLoadState(LoadStatePayload::new( + self.wam_prelude.code.len(), + term_stream, + )), wam_prelude: MachinePreludeView { indices: self.wam_prelude.indices, code: self.wam_prelude.code, @@ -1201,22 +1232,29 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { ) -> Result<(), SessionError> { let (stream, listing_src) = match module_src { ModuleSource::File(filename) => { - let mut path_buf = PathBuf::from(filename.as_str()); + let mut path_buf = PathBuf::from(&*filename.as_str()); path_buf.set_extension("pl"); let file = File::open(&path_buf)?; ( - Stream::from_file_as_input(filename, file, &mut LS::machine_st(&mut self.payload).arena), + Stream::from_file_as_input( + filename, + file, + &mut LS::machine_st(&mut self.payload).arena, + ), ListingSource::File(filename, path_buf), ) } - ModuleSource::Library(library) => match LIBRARIES.borrow().get(library.as_str()) { + ModuleSource::Library(library) => match LIBRARIES.borrow().get(&*library.as_str()) { Some(code) => { if self.wam_prelude.indices.modules.contains_key(&library) { return self.import_qualified_module(library, exports); } else { ( - Stream::from_static_string(*code, &mut LS::machine_st(&mut self.payload).arena), + Stream::from_static_string( + *code, + &mut LS::machine_st(&mut self.payload).arena, + ), ListingSource::User, ) } @@ -1235,9 +1273,10 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { ); let subloader: Loader<'_, BootstrappingLoadState> = Loader { - payload: BootstrappingLoadState( - LoadStatePayload::new(self.wam_prelude.code.len(), term_stream), - ), + payload: BootstrappingLoadState(LoadStatePayload::new( + self.wam_prelude.code.len(), + term_stream, + )), wam_prelude: MachinePreludeView { indices: self.wam_prelude.indices, code: self.wam_prelude.code, diff --git a/src/machine/loader.rs b/src/machine/loader.rs index a2580492..01c512bf 100644 --- a/src/machine/loader.rs +++ b/src/machine/loader.rs @@ -230,9 +230,7 @@ macro_rules! predicate_queue { pub type LiveLoadState = LoadStatePayload; -pub struct BootstrappingLoadState<'a>( - pub LoadStatePayload> -); +pub struct BootstrappingLoadState<'a>(pub LoadStatePayload>); impl<'a> Deref for BootstrappingLoadState<'a> { type Target = LoadStatePayload>; @@ -253,9 +251,12 @@ impl<'a> DerefMut for BootstrappingLoadState<'a> { pub trait LoadState<'a>: Sized { type Evacuable; type TS: TermStream; - type LoaderFieldType: DerefMut>; + type LoaderFieldType: DerefMut>; - fn new(machine_st: &'a mut MachineState, payload: LoadStatePayload) -> Self::LoaderFieldType; + fn new( + machine_st: &'a mut MachineState, + payload: LoadStatePayload, + ) -> Self::LoaderFieldType; fn evacuate(loader: Loader<'a, Self>) -> Result; fn should_drop_load_state(loader: &Loader<'a, Self>) -> bool; fn reset_machine(loader: &mut Loader<'a, Self>); @@ -293,14 +294,23 @@ impl<'a> LoadState<'a> for LiveLoadAndMachineState<'a> { type Evacuable = TypedArenaPtr; #[inline(always)] - fn new(machine_st: &'a mut MachineState, payload: LoadStatePayload) -> Self::LoaderFieldType { + fn new( + machine_st: &'a mut MachineState, + payload: LoadStatePayload, + ) -> Self::LoaderFieldType { let load_state = arena_alloc!(payload, &mut machine_st.arena); - LiveLoadAndMachineState { load_state, machine_st } + LiveLoadAndMachineState { + load_state, + machine_st, + } } #[inline(always)] fn evacuate(mut loader: Loader<'a, Self>) -> Result { - loader.payload.load_state.set_tag(ArenaHeaderTag::InactiveLoadState); + loader + .payload + .load_state + .set_tag(ArenaHeaderTag::InactiveLoadState); Ok(loader.payload.load_state) } @@ -332,7 +342,11 @@ impl<'a> LoadState<'a> for LiveLoadAndMachineState<'a> { } if let Some(builtins) = loader.wam_prelude.indices.modules.get(&atom!("builtins")) { - if builtins.module_decl.exports.contains(&ModuleExport::PredicateKey(key)) { + if builtins + .module_decl + .exports + .contains(&ModuleExport::PredicateKey(key)) + { return Err(SessionError::CannotOverwriteBuiltIn(key)); } } @@ -358,10 +372,7 @@ impl<'a> LoadState<'a> for BootstrappingLoadState<'a> { let repo_len = loader.wam_prelude.code.len(); - loader - .payload - .retraction_info - .reset(repo_len); + loader.payload.retraction_info.reset(repo_len); loader.remove_module_op_exports(); @@ -419,22 +430,27 @@ impl<'a> LoadState<'a> for InlineLoadState<'a> { type Evacuable = (); #[inline(always)] - fn new(machine_st: &'a mut MachineState, payload: LoadStatePayload) -> Self::LoaderFieldType { - InlineLoadState { machine_st, payload } + fn new( + machine_st: &'a mut MachineState, + payload: LoadStatePayload, + ) -> Self::LoaderFieldType { + InlineLoadState { + machine_st, + payload, + } } fn evacuate(_loader: Loader<'a, Self>) -> Result { - Ok(()) + Ok(()) } #[inline(always)] fn should_drop_load_state(_loader: &Loader<'a, Self>) -> bool { - false + false } #[inline(always)] - fn reset_machine(_loader: &mut Loader<'a, Self>) { - } + fn reset_machine(_loader: &mut Loader<'a, Self>) {} #[inline(always)] fn machine_st(load_state: &mut Self::LoaderFieldType) -> &mut MachineState { @@ -548,7 +564,12 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { atom!("user") => { self.wam_prelude.indices.meta_predicates.remove(&key); } - _ => match self.wam_prelude.indices.modules.get_mut(&target_module_name) { + _ => match self + .wam_prelude + .indices + .modules + .get_mut(&target_module_name) + { Some(ref mut module) => { module.meta_predicates.remove(&key); } @@ -566,7 +587,12 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { .meta_predicates .insert((name, meta_specs.len()), meta_specs); } - _ => match self.wam_prelude.indices.modules.get_mut(&target_module_name) { + _ => match self + .wam_prelude + .indices + .modules + .get_mut(&target_module_name) + { Some(ref mut module) => { module .meta_predicates @@ -773,9 +799,9 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { } RetractionRecord::ReplacedChoiceOffset(instr_loc, offset) => { match self.wam_prelude.code[instr_loc] { - Instruction::TryMeElse(ref mut o) | - Instruction::RetryMeElse(ref mut o) | - Instruction::DefaultRetryMeElse(ref mut o) => { + Instruction::TryMeElse(ref mut o) + | Instruction::RetryMeElse(ref mut o) + | Instruction::DefaultRetryMeElse(ref mut o) => { *o = offset; } _ => { @@ -792,16 +818,18 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { } RetractionRecord::ReplacedSwitchOnTermVarIndex(index_loc, old_v) => { match self.wam_prelude.code[index_loc] { - Instruction::IndexingCode(ref mut indexing_code) => match &mut indexing_code[0] { - IndexingLine::Indexing(IndexingInstruction::SwitchOnTerm( - _, - ref mut v, - .., - )) => { - *v = old_v; + Instruction::IndexingCode(ref mut indexing_code) => { + match &mut indexing_code[0] { + IndexingLine::Indexing(IndexingInstruction::SwitchOnTerm( + _, + ref mut v, + .., + )) => { + *v = old_v; + } + _ => {} } - _ => {} - }, + } _ => {} } } @@ -941,7 +969,9 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { .get_predicate_skeleton_mut(&compilation_target, &key) { Some(skeleton) => { - if let Some(removed_clauses) = &mut skeleton.core.retracted_dynamic_clauses { + if let Some(removed_clauses) = + &mut skeleton.core.retracted_dynamic_clauses + { let clause_index_info = removed_clauses.pop().unwrap(); skeleton @@ -1001,10 +1031,15 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { RetractionRecord::RemovedSkeleton(compilation_target, key, skeleton) => { match compilation_target { CompilationTarget::User => { - self.wam_prelude.indices.extensible_predicates.insert(key, skeleton); + self.wam_prelude + .indices + .extensible_predicates + .insert(key, skeleton); } CompilationTarget::Module(module_name) => { - if let Some(module) = self.wam_prelude.indices.modules.get_mut(&module_name) { + if let Some(module) = + self.wam_prelude.indices.modules.get_mut(&module_name) + { module.extensible_predicates.insert(key, skeleton); } } @@ -1012,16 +1047,8 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { } RetractionRecord::ReplacedDynamicElseOffset(instr_loc, next) => { match self.wam_prelude.code[instr_loc] { - Instruction::DynamicElse( - _, - _, - NextOrFail::Next(ref mut o), - ) - | Instruction::DynamicInternalElse( - _, - _, - NextOrFail::Next(ref mut o), - ) => { + Instruction::DynamicElse(_, _, NextOrFail::Next(ref mut o)) + | Instruction::DynamicInternalElse(_, _, NextOrFail::Next(ref mut o)) => { *o = next; } _ => {} @@ -1029,16 +1056,8 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { } RetractionRecord::AppendedNextOrFail(instr_loc, fail) => { match self.wam_prelude.code[instr_loc] { - Instruction::DynamicElse( - _, - _, - ref mut next_or_fail, - ) - | Instruction::DynamicInternalElse( - _, - _, - ref mut next_or_fail, - ) => { + Instruction::DynamicElse(_, _, ref mut next_or_fail) + | Instruction::DynamicInternalElse(_, _, ref mut next_or_fail) => { *next_or_fail = fail; } _ => {} @@ -1057,15 +1076,14 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let export_list = machine_st.read_term_from_heap(cell)?; let atom_tbl = &mut LS::machine_st(&mut self.payload).atom_tbl; - let export_list = setup_module_export_list(export_list, atom_tbl)?; + let export_list = setup_module_export_list(export_list, &atom_tbl)?; Ok(export_list.into_iter().collect()) } fn add_clause_clause(&mut self, term: Term) -> Result<(), CompilationError> { match term { - Term::Clause(_, atom!(":-"), mut terms) if terms.len() == 2 => - { + Term::Clause(_, atom!(":-"), mut terms) if terms.len() == 2 => { let body = terms.pop().unwrap(); let head = terms.pop().unwrap(); @@ -1096,20 +1114,14 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { match &compilation_target { CompilationTarget::User => { - match self - .wam_prelude - .indices - .extensible_predicates - .get_mut(&key) - { + match self.wam_prelude.indices.extensible_predicates.get_mut(&key) { Some(skeleton) => { if !*flag_accessor(&mut skeleton.core) { *flag_accessor(&mut skeleton.core) = true; - self.payload.retraction_info.push_record(retraction_fn( - compilation_target, - key, - )); + self.payload + .retraction_info + .push_record(retraction_fn(compilation_target, key)); } } None => { @@ -1117,11 +1129,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let mut skeleton = PredicateSkeleton::new(); *flag_accessor(&mut skeleton.core) = true; - self.add_extensible_predicate( - key, - skeleton, - CompilationTarget::User, - ); + self.add_extensible_predicate(key, skeleton, CompilationTarget::User); } else { throw_permission_error = true; } @@ -1135,10 +1143,9 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { if !*flag_accessor(&mut skeleton.core) { *flag_accessor(&mut skeleton.core) = true; - self.payload.retraction_info.push_record(retraction_fn( - compilation_target, - key, - )); + self.payload + .retraction_info + .push_record(retraction_fn(compilation_target, key)); } } None => { @@ -1146,11 +1153,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let mut skeleton = PredicateSkeleton::new(); *flag_accessor(&mut skeleton.core) = true; - self.add_extensible_predicate( - key, - skeleton, - compilation_target, - ); + self.add_extensible_predicate(key, skeleton, compilation_target); } else { throw_permission_error = true; } @@ -1162,11 +1165,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let mut skeleton = PredicateSkeleton::new(); *flag_accessor(&mut skeleton.core) = true; - self.add_extensible_predicate( - key, - skeleton, - compilation_target, - ); + self.add_extensible_predicate(key, skeleton, compilation_target); } } } @@ -1178,15 +1177,12 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { match payload_compilation_target { CompilationTarget::User => { - match self - .wam_prelude - .indices - .get_local_predicate_skeleton_mut( - payload_compilation_target, - compilation_target, - listing_src_file_name, - key, - ) { + match self.wam_prelude.indices.get_local_predicate_skeleton_mut( + payload_compilation_target, + compilation_target, + listing_src_file_name, + key, + ) { Some(skeleton) => { if !*flag_accessor(skeleton) { *flag_accessor(skeleton) = true; @@ -1196,11 +1192,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let mut skeleton = LocalPredicateSkeleton::new(); *flag_accessor(&mut skeleton) = true; - self.add_local_extensible_predicate( - compilation_target, - key, - skeleton, - ); + self.add_local_extensible_predicate(compilation_target, key, skeleton); } } } @@ -1232,11 +1224,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let mut skeleton = LocalPredicateSkeleton::new(); *flag_accessor(&mut skeleton) = true; - self.add_local_extensible_predicate( - compilation_target, - key, - skeleton, - ); + self.add_local_extensible_predicate(compilation_target, key, skeleton); } } } @@ -1336,10 +1324,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let is_dynamic = self .wam_prelude .indices - .get_predicate_skeleton( - &predicates_compilation_target, - &(predicate_name, arity), - ) + .get_predicate_skeleton(&predicates_compilation_target, &(predicate_name, arity)) .map(|skeleton| skeleton.core.is_dynamic) .unwrap_or(false); @@ -1356,15 +1341,12 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { let predicates_compilation_target = self.payload.predicates.compilation_target; let listing_src_file_name = self.listing_src_file_name(); - let clause_locs = match self - .wam_prelude - .indices - .get_local_predicate_skeleton_mut( - payload_compilation_target, - predicates_compilation_target, - listing_src_file_name, - *key, - ) { + let clause_locs = match self.wam_prelude.indices.get_local_predicate_skeleton_mut( + payload_compilation_target, + predicates_compilation_target, + listing_src_file_name, + *key, + ) { Some(skeleton) if !skeleton.clause_clause_locs.is_empty() => { mem::replace(&mut skeleton.clause_clause_locs, VecDeque::new()) } @@ -1380,11 +1362,7 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { ), ); - self.retract_local_clauses_impl( - predicates_compilation_target, - *key, - &clause_locs, - ); + self.retract_local_clauses_impl(predicates_compilation_target, *key, &clause_locs); if is_dynamic { let clause_clause_compilation_target = match predicates_compilation_target { @@ -1399,7 +1377,10 @@ impl<'a, LS: LoadState<'a>> Loader<'a, LS> { impl<'a> MachinePreludeView<'a> { #[inline] - pub(super) fn composite_op_dir(&self, compilation_target: &CompilationTarget) -> CompositeOpDir { + pub(super) fn composite_op_dir( + &self, + compilation_target: &CompilationTarget, + ) -> CompositeOpDir { match compilation_target { CompilationTarget::User => CompositeOpDir::new(&self.indices.op_dir, None), CompilationTarget::Module(ref module_name) => { @@ -1417,7 +1398,10 @@ impl<'a> MachinePreludeView<'a> { } impl MachineState { - pub(super) fn read_term_from_heap(&mut self, term_addr: HeapCellValue) -> Result { + pub(super) fn read_term_from_heap( + &mut self, + term_addr: HeapCellValue, + ) -> Result { let mut term_stack = vec![]; let mut iter = stackful_post_order_iter(&mut self.heap, &mut self.stack, term_addr); @@ -1436,7 +1420,7 @@ impl MachineState { term_stack.push(Term::PartialString(Cell::default(), string, tail)); } Ok((string, None)) => { - let atom = self.atom_tbl.build_with(&string); + let atom = AtomTable::build_with(&self.atom_tbl, &string); term_stack.push(Term::CompleteString(Cell::default(), atom)); } Err(cons_term) => term_stack.push(cons_term), @@ -1550,9 +1534,9 @@ impl Machine { } pub(crate) fn load_compiled_library(&mut self) -> CallResult { - let library = cell_as_atom!( - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[1])) - ); + let library = cell_as_atom!(self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[1]))); if let Some(module) = self.indices.modules.get(&library) { if let ListingSource::DynamicallyGenerated = module.listing_src { @@ -1583,9 +1567,9 @@ impl Machine { } pub(crate) fn declare_module(&mut self) -> CallResult { - let module_name = cell_as_atom!( - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[1])) - ); + let module_name = cell_as_atom!(self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[1]))); let mut loader = self.loader_from_heap_evacuable(temp_v!(3)); @@ -1695,9 +1679,9 @@ impl Machine { } pub(crate) fn add_goal_expansion_clause(&mut self) -> CallResult { - let target_module_name = cell_as_atom!( - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[1])) - ); + let target_module_name = cell_as_atom!(self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[1]))); let mut loader = self.loader_from_heap_evacuable(temp_v!(3)); @@ -1717,7 +1701,8 @@ impl Machine { if let Some(indexing_term) = indexing_arg { if let Some(indexing_name) = indexing_term.name() { - loader.wam_prelude + loader + .wam_prelude .indices .goal_expansion_indices .insert((indexing_name, indexing_term.arity())); @@ -1792,16 +1777,19 @@ impl Machine { &'a mut self, r: RegType, ) -> Loader<'a, LiveLoadAndMachineState<'a>> { - let mut load_state = cell_as_load_state_payload!( - self.machine_st.store(self.machine_st.deref(self.machine_st[r])) - ); + let mut load_state = cell_as_load_state_payload!(self + .machine_st + .store(self.machine_st.deref(self.machine_st[r]))); load_state.set_tag(ArenaHeaderTag::LiveLoadState); let (wam_prelude, machine_st) = self.prelude_view_and_machine_st(); Loader { - payload: LiveLoadAndMachineState { load_state, machine_st }, + payload: LiveLoadAndMachineState { + load_state, + machine_st, + }, wam_prelude, } } @@ -1809,26 +1797,21 @@ impl Machine { #[inline] pub(crate) fn push_load_state_payload(&mut self) { let payload = arena_alloc!( - LoadStatePayload::new( - self.code.len(), - LiveTermStream::new(ListingSource::User), - ), + LoadStatePayload::new(self.code.len(), LiveTermStream::new(ListingSource::User),), &mut self.machine_st.arena ); let var = self.machine_st.deref(self.machine_st.registers[1]); - self.machine_st.bind( - var.as_var().unwrap(), - typed_arena_ptr_as_cell!(payload), - ); + self.machine_st + .bind(var.as_var().unwrap(), typed_arena_ptr_as_cell!(payload)); } #[inline] pub(crate) fn pop_load_state_payload(&mut self) { - let load_state_payload = self.machine_st.store( - self.machine_st.deref(self.machine_st.registers[1]) - ); + let load_state_payload = self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[1])); // unlike in loader_from_heap_evacuable, // pop_load_state_payload is allowed to fail to find a @@ -1866,11 +1849,12 @@ impl Machine { 2, )?; - let path = cell_as_atom!( - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[2])) - ); + let path = cell_as_atom!(self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[2]))); - self.load_contexts.push(LoadContext::new(path.as_str(), stream)); + self.load_contexts + .push(LoadContext::new(&*path.as_str(), stream)); Ok(()) } @@ -1879,9 +1863,7 @@ impl Machine { result: Result, SessionError>, ) -> CallResult { match result { - Ok(_payload) => { - Ok(()) - } + Ok(_payload) => Ok(()), Err(e) => { let err = self.machine_st.session_error(e); let stub = functor_stub(atom!("load"), 1); @@ -1892,9 +1874,9 @@ impl Machine { } pub(crate) fn scoped_clause_to_evacuable(&mut self) -> CallResult { - let module_name = cell_as_atom!( - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[1])) - ); + let module_name = cell_as_atom!(self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[1]))); let loader = self.loader_from_heap_evacuable(temp_v!(3)); @@ -1934,9 +1916,10 @@ impl Machine { pub(crate) fn load_context_source(&mut self) { if let Some(load_context) = self.load_contexts.last() { let path_str = load_context.path.to_str().unwrap(); - let path_atom = self.machine_st.atom_tbl.build_with(path_str); + let path_atom = AtomTable::build_with(&self.machine_st.atom_tbl, path_str); - self.machine_st.unify_atom(path_atom, self.machine_st.registers[1]); + self.machine_st + .unify_atom(path_atom, self.machine_st.registers[1]); } else { self.machine_st.fail = true; } @@ -1947,9 +1930,11 @@ impl Machine { match load_context.path.file_name() { Some(file_name) if load_context.path.is_file() => { let file_name_str = file_name.to_str().unwrap(); - let file_name_atom = self.machine_st.atom_tbl.build_with(file_name_str); + let file_name_atom = + AtomTable::build_with(&self.machine_st.atom_tbl, file_name_str); - self.machine_st.unify_atom(file_name_atom, self.machine_st.registers[1]); + self.machine_st + .unify_atom(file_name_atom, self.machine_st.registers[1]); return; } _ => { @@ -1965,9 +1950,11 @@ impl Machine { if let Some(load_context) = self.load_contexts.last() { if let Some(directory) = load_context.path.parent() { let directory_str = directory.to_str().unwrap(); - let directory_atom = self.machine_st.atom_tbl.build_with(directory_str); + let directory_atom = + AtomTable::build_with(&self.machine_st.atom_tbl, directory_str); - self.machine_st.unify_atom(directory_atom, self.machine_st.registers[1]); + self.machine_st + .unify_atom(directory_atom, self.machine_st.registers[1]); return; } } @@ -2002,11 +1989,9 @@ impl Machine { _ => CompilationTarget::Module(module_name), }; - let stub_gen = || { - match append_or_prepend { - AppendOrPrepend::Append => functor_stub(atom!("assertz"), 1), - AppendOrPrepend::Prepend => functor_stub(atom!("asserta"), 1), - } + let stub_gen = || match append_or_prepend { + AppendOrPrepend::Append => functor_stub(atom!("assertz"), 1), + AppendOrPrepend::Prepend => functor_stub(atom!("asserta"), 1), }; let head = self.deref_register(2); @@ -2022,7 +2007,8 @@ impl Machine { loader.payload.compilation_target = compilation_target; - let head = LiveLoadAndMachineState::machine_st(&mut loader.payload).read_term_from_heap(head)?; + let head = LiveLoadAndMachineState::machine_st(&mut loader.payload) + .read_term_from_heap(head)?; let name = if let Some(name) = head.name() { name @@ -2034,32 +2020,24 @@ impl Machine { let is_builtin = loader.wam_prelude.indices.builtin_property((name, arity)); let is_dynamic_predicate = loader - .wam_prelude - .indices - .is_dynamic_predicate( - module_name, - (name, arity), - ); + .wam_prelude + .indices + .is_dynamic_predicate(module_name, (name, arity)); - let no_such_predicate = - if !is_dynamic_predicate && !is_builtin { - let idx_tag = loader - .wam_prelude - .indices - .get_predicate_code_index( - name, - arity, - module_name, - ) - .map(|code_idx| code_idx.get_tag()) - .unwrap_or(IndexPtrTag::DynamicUndefined); + let no_such_predicate = if !is_dynamic_predicate && !is_builtin { + let idx_tag = loader + .wam_prelude + .indices + .get_predicate_code_index(name, arity, module_name) + .map(|code_idx| code_idx.get_tag()) + .unwrap_or(IndexPtrTag::DynamicUndefined); - idx_tag == IndexPtrTag::DynamicUndefined || idx_tag == IndexPtrTag::Undefined - } else if is_builtin { - return Err(SessionError::CannotOverwriteBuiltIn((name, arity))); - } else { - is_dynamic_predicate - }; + idx_tag == IndexPtrTag::DynamicUndefined || idx_tag == IndexPtrTag::Undefined + } else if is_builtin { + return Err(SessionError::CannotOverwriteBuiltIn((name, arity))); + } else { + is_dynamic_predicate + }; if !no_such_predicate { LiveLoadAndMachineState::machine_st(&mut loader.payload).fail = true; @@ -2101,23 +2079,18 @@ impl Machine { match compile_assert() { Ok(_) => Ok(()), Err(SessionError::CompilationError( - CompilationError::InvalidRuleHead | - CompilationError::InadmissibleFact + CompilationError::InvalidRuleHead | CompilationError::InadmissibleFact, )) => { - let err = self.machine_st.type_error( - ValidType::Callable, - self.machine_st.registers[2], - ); + let err = self + .machine_st + .type_error(ValidType::Callable, self.machine_st.registers[2]); Err(self.machine_st.error_form(err, stub_gen())) } - Err(SessionError::CompilationError( - CompilationError::InadmissibleQueryTerm - )) => { - let err = self.machine_st.type_error( - ValidType::Callable, - self.machine_st.registers[3], - ); + Err(SessionError::CompilationError(CompilationError::InadmissibleQueryTerm)) => { + let err = self + .machine_st + .type_error(ValidType::Callable, self.machine_st.registers[3]); Err(self.machine_st.error_form(err, stub_gen())) } @@ -2129,9 +2102,9 @@ impl Machine { } pub(crate) fn abolish_clause(&mut self) -> CallResult { - let module_name = cell_as_atom!( - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[1])) - ); + let module_name = cell_as_atom!(self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[1]))); let key = self .machine_st @@ -2143,8 +2116,8 @@ impl Machine { }; let mut abolish_clause = || { - let mut loader: Loader<'_, LiveLoadAndMachineState<'_>> - = Loader::new(self, LiveTermStream::new(ListingSource::User)); + let mut loader: Loader<'_, LiveLoadAndMachineState<'_>> = + Loader::new(self, LiveTermStream::new(ListingSource::User)); loader.payload.compilation_target = compilation_target; @@ -2164,9 +2137,11 @@ impl Machine { .remove_predicate_skeleton( &clause_clause_compilation_target, &(atom!("$clause"), 2), - ).unwrap(); + ) + .unwrap(); - let result = skeleton.core + let result = skeleton + .core .clause_clause_locs .iter() .map(|clause_clause_loc| { @@ -2176,11 +2151,7 @@ impl Machine { }) .collect(); - loader.add_extensible_predicate( - key, - skeleton, - compilation_target, - ); + loader.add_extensible_predicate(key, skeleton, compilation_target); loader.add_extensible_predicate( (atom!("$clause"), 2), @@ -2189,14 +2160,15 @@ impl Machine { ); result - }).unwrap(); + }) + .unwrap(); - loader.wam_prelude + loader + .wam_prelude .indices .remove_predicate_skeleton(&compilation_target, &key); - let mut code_index = loader - .get_or_insert_code_index(key, compilation_target); + let mut code_index = loader.get_or_insert_code_index(key, compilation_target); code_index.set(IndexPtr::undefined()); @@ -2237,9 +2209,9 @@ impl Machine { _ => unreachable!(), }; - let module_name = cell_as_atom!( - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[4])) - ); + let module_name = cell_as_atom!(self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[4]))); let compilation_target = match module_name { atom!("user") => CompilationTarget::User, @@ -2292,9 +2264,9 @@ impl Machine { } pub(crate) fn is_consistent_with_term_queue(&mut self) -> CallResult { - let module_name = cell_as_atom!( - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[1])) - ); + let module_name = cell_as_atom!(self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[1]))); let key = self .machine_st @@ -2309,8 +2281,8 @@ impl Machine { LiveLoadAndMachineState::machine_st(&mut loader.payload).fail = (!loader.payload.predicates.is_empty() - && loader.payload.predicates.compilation_target != compilation_target) - || !key.is_consistent(&loader.payload.predicates); + && loader.payload.predicates.compilation_target != compilation_target) + || !key.is_consistent(&loader.payload.predicates); let result = LiveLoadAndMachineState::evacuate(loader); self.restore_load_state_payload(result) @@ -2332,9 +2304,9 @@ impl Machine { } pub(crate) fn remove_module_exports(&mut self) -> CallResult { - let module_name = cell_as_atom!( - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[1])) - ); + let module_name = cell_as_atom!(self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[1]))); let mut loader = self.loader_from_heap_evacuable(temp_v!(2)); @@ -2360,9 +2332,9 @@ impl Machine { } pub(crate) fn meta_predicate_property(&mut self) { - let module_name = cell_as_atom!( - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[1])) - ); + let module_name = cell_as_atom!(self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[1]))); let (predicate_name, arity) = self .machine_st @@ -2380,9 +2352,12 @@ impl Machine { Some(meta_specs) => { let term_loc = self.machine_st.heap.len(); - self.machine_st.heap.push(atom_as_cell!(predicate_name, arity)); - self.machine_st.heap.extend( - meta_specs.iter().map(|meta_spec| match meta_spec { + self.machine_st + .heap + .push(atom_as_cell!(predicate_name, arity)); + self.machine_st + .heap + .extend(meta_specs.iter().map(|meta_spec| match meta_spec { MetaSpec::Minus => atom_as_cell!(atom!("+")), MetaSpec::Plus => atom_as_cell!(atom!("-")), MetaSpec::Either => atom_as_cell!(atom!("?")), @@ -2390,15 +2365,20 @@ impl Machine { MetaSpec::RequiresExpansionWithArgument(ref arg_num) => { fixnum_as_cell!(Fixnum::build_with(*arg_num as i64)) } - }) - ); + })); let heap_loc = self.machine_st.heap.len(); - self.machine_st.heap.push(atom_as_cell!(atom!("meta_predicate"), 1)); + self.machine_st + .heap + .push(atom_as_cell!(atom!("meta_predicate"), 1)); self.machine_st.heap.push(str_loc_as_cell!(term_loc)); - unify!(self.machine_st, str_loc_as_cell!(heap_loc), self.machine_st.registers[4]); + unify!( + self.machine_st, + str_loc_as_cell!(heap_loc), + self.machine_st.registers[4] + ); } None => { self.machine_st.fail = true; @@ -2407,9 +2387,9 @@ impl Machine { } pub(crate) fn dynamic_property(&mut self) { - let module_name = cell_as_atom!( - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[1])) - ); + let module_name = cell_as_atom!(self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[1]))); let key = self .machine_st @@ -2434,9 +2414,9 @@ impl Machine { } pub(crate) fn multifile_property(&mut self) { - let module_name = cell_as_atom!( - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[1])) - ); + let module_name = cell_as_atom!(self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[1]))); let key = self .machine_st @@ -2461,9 +2441,9 @@ impl Machine { } pub(crate) fn discontiguous_property(&mut self) { - let module_name = cell_as_atom!( - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[1])) - ); + let module_name = cell_as_atom!(self + .machine_st + .store(self.machine_st.deref(self.machine_st.registers[1]))); let key = self .machine_st diff --git a/src/machine/machine_errors.rs b/src/machine/machine_errors.rs index 46c4be20..279ec18e 100644 --- a/src/machine/machine_errors.rs +++ b/src/machine/machine_errors.rs @@ -44,7 +44,8 @@ pub(crate) enum ValidType { InCharacter, Integer, List, - #[allow(unused)] Number, + #[allow(unused)] + Number, Pair, // PredicateIndicator, // Variable @@ -254,9 +255,11 @@ pub(super) type FunctorStub = [HeapCellValue; 3]; #[inline(always)] pub(super) fn functor_stub(name: Atom, arity: usize) -> FunctorStub { - [atom_as_cell!(atom!("/"), 2), - atom_as_cell!(name), - fixnum_as_cell!(Fixnum::build_with(arity as i64))] + [ + atom_as_cell!(atom!("/"), 2), + atom_as_cell!(name), + fixnum_as_cell!(Fixnum::build_with(arity as i64)), + ] } impl MachineState { @@ -440,11 +443,13 @@ impl MachineState { pub(super) fn session_error(&mut self, err: SessionError) -> MachineError { match err { SessionError::CannotOverwriteBuiltIn(key) => { - // SessionError::CannotOverwriteImport(pred_atom) => { + // SessionError::CannotOverwriteImport(pred_atom) => { self.permission_error( Permission::Modify, atom!("static_procedure"), - functor_stub(key.0, key.1).into_iter().collect::(), + functor_stub(key.0, key.1) + .into_iter() + .collect::(), ) } SessionError::ExistenceError(err) => self.existence_error(err), @@ -471,7 +476,11 @@ impl MachineState { } SessionError::NamelessEntry => { let error_atom = atom!("nameless_procedure"); - self.permission_error(Permission::Create, atom!("static_procedure"), functor!(error_atom)) + self.permission_error( + Permission::Create, + atom!("static_procedure"), + functor!(error_atom), + ) } SessionError::OpIsInfixAndPostFix(op) => { self.permission_error(Permission::Create, atom!("operator"), functor!(op)) @@ -541,21 +550,21 @@ impl MachineState { #[cfg(feature = "ffi")] pub(super) fn ffi_error(&mut self, err: FFIError) -> MachineError { - let error_atom = match err { - FFIError::ValueCast => atom!("value_cast"), - FFIError::ValueDontFit => atom!("value_dont_fit"), - FFIError::InvalidFFIType => atom!("invalid_ffi_type"), - FFIError::InvalidStructName => atom!("invalid_struct_name"), - FFIError::FunctionNotFound => atom!("function_not_found"), - FFIError::StructNotFound => atom!("struct_not_found"), - }; - let stub = functor!(atom!("ffi_error"),[atom(error_atom)]); + let error_atom = match err { + FFIError::ValueCast => atom!("value_cast"), + FFIError::ValueDontFit => atom!("value_dont_fit"), + FFIError::InvalidFFIType => atom!("invalid_ffi_type"), + FFIError::InvalidStructName => atom!("invalid_struct_name"), + FFIError::FunctionNotFound => atom!("function_not_found"), + FFIError::StructNotFound => atom!("struct_not_found"), + }; + let stub = functor!(atom!("ffi_error"), [atom(error_atom)]); - MachineError { - stub, - location: None, - from: ErrorProvenance::Constructed, - } + MachineError { + stub, + location: None, + from: ErrorProvenance::Constructed, + } } pub(super) fn error_form(&mut self, err: MachineError, src: FunctorStub) -> MachineStub { @@ -682,10 +691,12 @@ impl CompilationError { &CompilationError::ExpectedRel => { functor!(atom!("expected_relation")) } - &CompilationError::InadmissibleFact => { // TODO: type_error(callable, _). + &CompilationError::InadmissibleFact => { + // TODO: type_error(callable, _). functor!(atom!("inadmissible_fact")) } - &CompilationError::InadmissibleQueryTerm => { // TODO: type_error(callable, _). + &CompilationError::InadmissibleQueryTerm => { + // TODO: type_error(callable, _). functor!(atom!("inadmissible_query_term")) } &CompilationError::InconsistentEntry => { @@ -820,10 +831,10 @@ pub enum CycleSearchResult { Cyclic(usize), EmptyList, NotList(usize, HeapCellValue), // the list length until the second argument in the heap - PartialList(usize, Ref), // the list length (up to max), and an offset into the heap. - ProperList(usize), // the list length. + PartialList(usize, Ref), // the list length (up to max), and an offset into the heap. + ProperList(usize), // the list length. PStrLocation(usize, usize, usize), // list length (up to max), the heap address of the PStr, the offset - UntouchedList(usize, usize), // list length (up to max), the address of an uniterated Addr::Lis(address). + UntouchedList(usize, usize), // list length (up to max), the address of an uniterated Addr::Lis(address). UntouchedCStr(Atom, usize), } @@ -838,7 +849,7 @@ impl MachineState { match BrentAlgState::detect_cycles(&self.heap, list) { CycleSearchResult::PartialList(..) => { let err = self.instantiation_error(); - return Err(self.error_form(err, stub_gen())) + return Err(self.error_form(err, stub_gen())); } CycleSearchResult::NotList(..) | CycleSearchResult::Cyclic(_) => { let err = self.type_error(ValidType::List, list); diff --git a/src/machine/machine_indices.rs b/src/machine/machine_indices.rs index c040743f..50be6a0f 100644 --- a/src/machine/machine_indices.rs +++ b/src/machine/machine_indices.rs @@ -3,15 +3,15 @@ use crate::parser::ast::*; use crate::arena::*; use crate::atom_table::*; use crate::forms::*; -use crate::machine::ClauseType; use crate::machine::loader::*; use crate::machine::machine_state::*; use crate::machine::streams::Stream; +use crate::machine::ClauseType; use fxhash::FxBuildHasher; use indexmap::{IndexMap, IndexSet}; -use modular_bitfield::{BitfieldSpecifier, bitfield}; use modular_bitfield::specifiers::*; +use modular_bitfield::{bitfield, BitfieldSpecifier}; use std::cmp::Ordering; use std::collections::BTreeSet; @@ -86,7 +86,8 @@ pub enum IndexPtrTag { #[derive(Debug, Clone, Copy, Eq, Hash, Ord, PartialEq, PartialOrd)] pub struct IndexPtr { pub p: B56, - #[allow(unused)] m: bool, + #[allow(unused)] + m: bool, pub tag: IndexPtrTag, } @@ -143,10 +144,10 @@ impl IndexPtr { #[derive(Debug, Clone, Copy, Ord, Hash, PartialOrd, Eq, PartialEq)] pub struct CodeIndex(TypedArenaPtr); -#[cfg(target_pointer_width="32")] +#[cfg(target_pointer_width = "32")] const_assert!(std::mem::align_of::() == 4); -#[cfg(target_pointer_width="64")] +#[cfg(target_pointer_width = "64")] const_assert!(std::mem::align_of::() == 8); impl Deref for CodeIndex { @@ -293,7 +294,8 @@ impl IndexStore { let (name, arity) = key; if !ClauseType::is_inbuilt(name, arity) { - self.modules.get(&(atom!("builtins"))) + self.modules + .get(&(atom!("builtins"))) .map(|module| module.code_dir.contains_key(&(name, arity))) .unwrap_or(false) } else { @@ -444,11 +446,7 @@ impl IndexStore { } } - pub(crate) fn is_dynamic_predicate( - &self, - module_name: Atom, - key: PredicateKey, - ) -> bool { + pub(crate) fn is_dynamic_predicate(&self, module_name: Atom, key: PredicateKey) -> bool { match module_name { atom!("user") => self .extensible_predicates diff --git a/src/machine/machine_state.rs b/src/machine/machine_state.rs index b8f0a7a4..0cb45e39 100644 --- a/src/machine/machine_state.rs +++ b/src/machine/machine_state.rs @@ -3,7 +3,6 @@ use crate::atom_table::*; use crate::forms::*; use crate::heap_iter::*; use crate::heap_print::*; -use crate::machine::Machine; use crate::machine::attributed_variables::*; use crate::machine::copier::*; use crate::machine::heap::*; @@ -11,6 +10,7 @@ use crate::machine::machine_errors::*; use crate::machine::machine_indices::*; use crate::machine::stack::*; use crate::machine::streams::*; +use crate::machine::Machine; use crate::parser::ast::*; use crate::read::TermWriteResult; use crate::types::*; @@ -22,6 +22,7 @@ use indexmap::IndexMap; use std::convert::TryFrom; use std::fmt; use std::ops::{Index, IndexMut}; +use std::sync::Arc; pub(crate) type Registers = [HeapCellValue; MAX_ARITY + 1]; @@ -57,14 +58,14 @@ pub enum OnEOF { } pub struct MachineState { - pub atom_tbl: AtomTable, + pub atom_tbl: Arc, pub arena: Arena, pub(super) pdl: Vec, pub(super) s: HeapPtr, pub(super) s_offset: usize, pub(super) p: usize, pub(super) oip: u32, // first internal code ptr - pub(super) iip : u32, // second internal code ptr + pub(super) iip: u32, // second internal code ptr pub(super) b: usize, pub(super) b0: usize, pub(super) e: usize, @@ -79,7 +80,7 @@ pub struct MachineState { pub(super) trail: Vec, pub(super) tr: usize, pub(super) hb: usize, - pub(super) block: usize, // an offset into the OR stack. + pub(super) block: usize, // an offset into the OR stack. pub(super) scc_block: usize, // an offset into the OR stack for setup_call_cleanup/3. pub(super) ball: Ball, pub(super) ball_stack: Vec, // save current ball before jumping via, e.g., verify_attr interrupt. @@ -203,12 +204,12 @@ pub fn pstr_loc_and_offset(heap: &[HeapCellValue], index: usize) -> (usize, Fixn fn push_var_eq_functors<'a>( heap: &mut Heap, iter: impl Iterator, - atom_tbl: &mut AtomTable, + atom_tbl: &AtomTable, ) -> Vec { let mut list_of_var_eqs = vec![]; for (var, binding) in iter { - let var_atom = atom_tbl.build_with(&var.to_string()); + let var_atom = AtomTable::build_with(atom_tbl, &var.to_string()); let h = heap.len(); heap.push(atom_as_cell!(atom!("="), 2)); @@ -243,9 +244,11 @@ impl Ball { pub(super) fn copy_and_align(&self, h: usize) -> Heap { let diff = self.boundary as i64 - h as i64; - self.stub.iter().cloned().map(|heap_value| { - heap_value - diff - }).collect() + self.stub + .iter() + .cloned() + .map(|heap_value| heap_value - diff) + .collect() } } @@ -418,9 +421,7 @@ impl MachineState { if self.cwil.count == *limit { self.cwil.inference_limit_exceeded = true; - return Err( - functor!(atom!("inference_limit_exceeded"), [fixnum(bp)]) - ); + return Err(functor!(atom!("inference_limit_exceeded"), [fixnum(bp)])); } else { self.cwil.count += 1; } @@ -430,7 +431,10 @@ impl MachineState { } #[allow(dead_code)] - pub(super) fn try_char_list(&mut self, addrs: Vec) -> Result { + pub(super) fn try_char_list( + &mut self, + addrs: Vec, + ) -> Result { let mut chars = String::new(); for addr in addrs { @@ -515,18 +519,25 @@ impl MachineState { mut var_list: Vec<(VarKey, HeapCellValue, usize)>, singleton_var_list: Vec, ) -> CallResult { - var_list.sort_by(|(_,_,idx_1),(_,_,idx_2)| idx_1.cmp(idx_2)); + var_list.sort_by(|(_, _, idx_1), (_, _, idx_2)| idx_1.cmp(idx_2)); let list_of_var_eqs = push_var_eq_functors( &mut self.heap, - var_list.iter().filter_map(|(var_name, var,_)| if var_name.is_anon() { None } else { Some((var_name,var)) }), - &mut self.atom_tbl, + var_list.iter().filter_map(|(var_name, var, _)| { + if var_name.is_anon() { + None + } else { + Some((var_name, var)) + } + }), + &self.atom_tbl, ); let singleton_addr = self.registers[3]; - let singletons_offset = heap_loc_as_cell!( - iter_to_heap_list(&mut self.heap, singleton_var_list.into_iter()) - ); + let singletons_offset = heap_loc_as_cell!(iter_to_heap_list( + &mut self.heap, + singleton_var_list.into_iter() + )); unify_fn!(*self, singletons_offset, singleton_addr); @@ -535,9 +546,10 @@ impl MachineState { } let vars_addr = self.registers[4]; - let vars_offset = heap_loc_as_cell!( - iter_to_heap_list(&mut self.heap, var_list.into_iter().map(|(_,cell,_)| cell)) - ); + let vars_offset = heap_loc_as_cell!(iter_to_heap_list( + &mut self.heap, + var_list.into_iter().map(|(_, cell, _)| cell) + )); unify_fn!(*self, vars_offset, vars_addr); @@ -546,9 +558,10 @@ impl MachineState { } let var_names_addr = self.registers[5]; - let var_names_offset = heap_loc_as_cell!( - iter_to_heap_list(&mut self.heap, list_of_var_eqs.into_iter()) - ); + let var_names_offset = heap_loc_as_cell!(iter_to_heap_list( + &mut self.heap, + list_of_var_eqs.into_iter() + )); Ok(unify_fn!(*self, var_names_offset, var_names_addr)) } @@ -589,18 +602,21 @@ impl MachineState { let singleton_var_list = push_var_eq_functors( &mut self.heap, - term_write_result.var_dict.iter().filter(|(var_name, binding)| { - if var_name.is_anon() { - return false; - } + term_write_result + .var_dict + .iter() + .filter(|(var_name, binding)| { + if var_name.is_anon() { + return false; + } - if let Some(r) = binding.as_var() { - *singleton_var_set.get(&r).unwrap_or(&false) - } else { - false - } - }), - &mut self.atom_tbl, + if let Some(r) = binding.as_var() { + *singleton_var_set.get(&r).unwrap_or(&false) + } else { + false + } + }), + &self.atom_tbl, ); for var in term_write_result.var_dict.values_mut() { @@ -620,13 +636,11 @@ impl MachineState { self.write_read_term_options(var_list, singleton_var_list) } - pub fn read_term_from_user_input_eof_handler(&mut self, stream: Stream) -> Result { - self.eof_action( - self.registers[2], - stream, - atom!("read_term"), - 3, - )?; + pub fn read_term_from_user_input_eof_handler( + &mut self, + stream: Stream, + ) -> Result { + self.eof_action(self.registers[2], stream, atom!("read_term"), 3)?; if stream.options().eof_action() == EOFAction::Reset { if self.fail == false { @@ -639,13 +653,15 @@ impl MachineState { // Safety: the atom_tbl lives for the lifetime of the machine, as does the helper, so the ptr // will always be valid. - pub fn read_term_from_user_input(&mut self, stream: Stream, indices: &mut IndexStore) -> CallResult { - let atoms_ptr = (&self.atom_tbl.table) as *const indexmap::IndexSet; - + pub fn read_term_from_user_input( + &mut self, + stream: Stream, + indices: &mut IndexStore, + ) -> CallResult { if let Stream::Readline(ptr) = stream { unsafe { let readline = ptr.as_ptr().as_mut().unwrap(); - readline.set_atoms_for_completion(atoms_ptr); + readline.set_atoms_for_completion(&self.atom_tbl); return self.read_term( stream, indices, @@ -663,12 +679,7 @@ impl MachineState { stream.set_past_end_of_stream(true); return Ok(OnEOF::Return); } else if stream.past_end_of_stream() { - self.eof_action( - self.registers[2], - stream, - atom!("read_term"), - 3, - )?; + self.eof_action(self.registers[2], stream, atom!("read_term"), 3)?; if stream.options().eof_action() == EOFAction::Reset { if self.fail == false { @@ -709,7 +720,9 @@ impl MachineState { match &err { CompilationError::ParserError(e) if e.is_unexpected_eof() => { match eof_handler(self, stream)? { - OnEOF::Return => return self.write_read_term_options(vec![], vec![]), + OnEOF::Return => { + return self.write_read_term_options(vec![], vec![]) + } OnEOF::Continue => continue, } } @@ -762,14 +775,14 @@ impl MachineState { } (HeapCellValueTag::Atom, (name, _arity)) => { debug_assert_eq!(_arity, 0); - var_names.insert(var, VarPtr::from(name.as_str())); + var_names.insert(var, VarPtr::from(&*name.as_str())); } (HeapCellValueTag::Str, s) => { let (name, arity) = cell_as_atom_cell!(self.heap[s]) .get_name_and_arity(); debug_assert_eq!(arity, 0); - var_names.insert(var, VarPtr::from(name.as_str())); + var_names.insert(var, VarPtr::from(&*name.as_str())); } _ => { unreachable!(); @@ -850,7 +863,7 @@ impl MachineState { let mut printer = HCPrinter::new( &mut self.heap, - &mut self.atom_tbl, + Arc::clone(&self.atom_tbl), &mut self.stack, op_dir, PrinterOutputter::new(), @@ -898,7 +911,11 @@ impl MachineState { Ok(Some(printer)) } - pub(super) fn read_predicate_key(&self, name: HeapCellValue, arity: HeapCellValue) -> (Atom, usize) { + pub(super) fn read_predicate_key( + &self, + name: HeapCellValue, + arity: HeapCellValue, + ) -> (Atom, usize) { let name = cell_as_atom!(self.store(self.deref(name))); let arity = cell_as_fixnum!(self.store(self.deref(arity))); diff --git a/src/machine/machine_state_impl.rs b/src/machine/machine_state_impl.rs index 90adee38..465b96f5 100644 --- a/src/machine/machine_state_impl.rs +++ b/src/machine/machine_state_impl.rs @@ -1,6 +1,5 @@ use crate::arena::*; use crate::atom_table::*; -use crate::types::*; use crate::forms::*; use crate::heap_iter::*; use crate::machine::attributed_variables::*; @@ -14,6 +13,7 @@ use crate::machine::stack::*; use crate::machine::unify::*; use crate::parser::ast::*; use crate::parser::dashu::{Integer, Rational}; +use crate::types::*; use indexmap::IndexSet; use num_order::NumOrd; @@ -51,7 +51,7 @@ impl MachineState { ball: Ball::new(), ball_stack: vec![], lifted_heap: Heap::new(), - interms: vec![Number::default();256], + interms: vec![Number::default(); 256], cont_pts: Vec::with_capacity(256), cwil: CWIL::new(), flags: MachineFlags::default(), @@ -60,8 +60,8 @@ impl MachineState { dynamic_mode: FirstOrNext::First, unify_fn: MachineState::unify, bind_fn: MachineState::bind, - run_cleaners_fn: |_| { false }, - increment_call_count_fn: |_| { Ok(()) }, + run_cleaners_fn: |_| false, + increment_call_count_fn: |_| Ok(()), } } @@ -161,9 +161,8 @@ impl MachineState { key_atom.index as u64, )); - self.trail.push(TrailEntry::from_bytes( - value_cell.into_bytes(), - )); + self.trail + .push(TrailEntry::from_bytes(value_cell.into_bytes())); self.tr += 2; } @@ -249,9 +248,7 @@ impl MachineState { r: Ref, value: HeapCellValue, ) { - let mut unifier = CompositeUnifierForOccursCheckWithError::from( - DefaultUnifier::from(self), - ); + let mut unifier = CompositeUnifierForOccursCheckWithError::from(DefaultUnifier::from(self)); unifier.bind(r, value); } @@ -317,9 +314,7 @@ impl MachineState { } pub(super) fn unify_with_occurs_check_with_error(&mut self) { - let mut unifier = CompositeUnifierForOccursCheckWithError::from( - DefaultUnifier::from(self), - ); + let mut unifier = CompositeUnifierForOccursCheckWithError::from(DefaultUnifier::from(self)); unifier.unify_internal(); } @@ -381,8 +376,7 @@ impl MachineState { } ) } - &mut HeapPtr::PStrChar(h, ref mut n) | - &mut HeapPtr::PStrLocation(h, ref mut n) => { + &mut HeapPtr::PStrChar(h, ref mut n) | &mut HeapPtr::PStrLocation(h, ref mut n) => { read_heap_cell!(self.heap[h], (HeapCellValueTag::PStr, pstr_atom) => { let pstr = PartialString::from(pstr_atom); @@ -510,7 +504,7 @@ impl MachineState { } else { self.pdl.clear(); return Some( - n1.chars().next().cmp(&Some(c2)) + n1.as_str().chars().next().cmp(&Some(c2)) .then(Ordering::Greater) ); } @@ -540,7 +534,7 @@ impl MachineState { } else { self.pdl.clear(); return Some( - Some(c1).cmp(&n2.chars().next()) + Some(c1).cmp(&n2.as_str().chars().next()) .then(Ordering::Less) ); } @@ -563,7 +557,7 @@ impl MachineState { } else { self.pdl.clear(); return Some( - Some(c1).cmp(&n2.chars().next()) + Some(c1).cmp(&n2.as_str().chars().next()) .then(Ordering::Less) ); } @@ -593,7 +587,7 @@ impl MachineState { } else { self.pdl.clear(); return Some( - n1.chars().next().cmp(&Some(c2)) + n1.as_str().chars().next().cmp(&Some(c2)) .then(Ordering::Greater) ); } @@ -640,7 +634,7 @@ impl MachineState { // iter2 is continuable, so it // has a tail in the heap at // focus+1. - pdl.push(iter2.heap[focus+1]); + pdl.push(iter2.heap[focus + 1]); return None; } @@ -903,8 +897,12 @@ impl MachineState { let s = string.as_str(); - match heap_pstr_iter.compare_pstr_to_string(s) { - Some(PStrPrefixCmpResult { focus, offset, prefix_len }) if prefix_len == s.len() => { + match heap_pstr_iter.compare_pstr_to_string(&*s) { + Some(PStrPrefixCmpResult { + focus, + offset, + prefix_len, + }) if prefix_len == s.len() => { let focus_addr = self.heap[focus]; read_heap_cell!(focus_addr, @@ -951,7 +949,10 @@ impl MachineState { return; } - Some(PStrPrefixCmpResult { prefix_len: inner_prefix_len, .. }) => { + Some(PStrPrefixCmpResult { + prefix_len: inner_prefix_len, + .. + }) => { prefix_len = inner_prefix_len; } None => { @@ -1003,9 +1004,9 @@ impl MachineState { self.s_offset = 0; self.mode = MachineMode::Read; - put_partial_string(&mut self.heap, pstr, &mut self.atom_tbl) + put_partial_string(&mut self.heap, pstr, &self.atom_tbl) } else { - put_complete_string(&mut self.heap, pstr, &mut self.atom_tbl) + put_complete_string(&mut self.heap, pstr, &self.atom_tbl) } } @@ -1097,7 +1098,7 @@ impl MachineState { (name, 0, 0) } (HeapCellValueTag::Char, c) => { - (self.atom_tbl.build_with(&c.to_string()), 0, 0) + (AtomTable::build_with(&self.atom_tbl, &c.to_string()), 0, 0) } (HeapCellValueTag::Var | HeapCellValueTag::AttrVar | HeapCellValueTag::StackVar) => { let stub = functor_stub(atom!("call"), arity + 1); @@ -1328,7 +1329,7 @@ impl MachineState { let f_a = if name == atom!(".") && arity == 2 { self.heap.push(heap_loc_as_cell!(h)); - self.heap.push(heap_loc_as_cell!(h+1)); + self.heap.push(heap_loc_as_cell!(h + 1)); list_loc_as_cell!(h) } else { @@ -1445,7 +1446,7 @@ impl MachineState { } } (HeapCellValueTag::Char, c) => { - let c = self.atom_tbl.build_with(&c.to_string()); + let c = AtomTable::build_with(&self.atom_tbl, &c.to_string()); self.try_functor_fabricate_struct( c, @@ -1581,8 +1582,7 @@ impl MachineState { while let Some(iteratee) = heap_pstr_iter.next() { match iteratee { - PStrIteratee::Char(_, c) => - chars.push(char_as_cell!(c)), + PStrIteratee::Char(_, c) => chars.push(char_as_cell!(c)), PStrIteratee::PStrSegment(_, pstr_atom, n) => { let pstr = PartialString::from(pstr_atom); chars.extend(pstr.as_str_from(n).chars().map(|c| char_as_cell!(c))); @@ -1644,10 +1644,7 @@ impl MachineState { let mut value = unmark_cell_bits!(value); if value.is_var() { - value = heap_bound_store( - iter.heap, - heap_bound_deref(iter.heap, value), - ); + value = heap_bound_store(iter.heap, heap_bound_deref(iter.heap, value)); if value.is_var() { return true; @@ -1656,7 +1653,7 @@ impl MachineState { if value.is_compound(iter.heap) { if visited.contains(&value) { - for _ in stack_len .. iter.stack_len() { + for _ in stack_len..iter.stack_len() { iter.pop_stack(); } } else { diff --git a/src/machine/mock_wam.rs b/src/machine/mock_wam.rs index 9fda84ec..cd8f7836 100644 --- a/src/machine/mock_wam.rs +++ b/src/machine/mock_wam.rs @@ -2,15 +2,17 @@ pub use crate::arena::*; pub use crate::atom_table::*; use crate::heap_print::*; pub use crate::machine::heap::*; -pub use crate::machine::*; pub use crate::machine::machine_state::*; pub use crate::machine::stack::*; pub use crate::machine::streams::*; +pub use crate::machine::*; pub use crate::macros::*; pub use crate::parser::ast::*; use crate::read::*; pub use crate::types::*; +use std::sync::Arc; + #[cfg(test)] use crate::machine::copier::CopierTarget; @@ -61,7 +63,7 @@ impl MockWAM { let mut printer = HCPrinter::new( &mut self.machine_st.heap, - &mut self.machine_st.atom_tbl, + Arc::clone(&self.machine_st.atom_tbl), &mut self.machine_st.stack, &self.op_dir, PrinterOutputter::new(), @@ -71,11 +73,9 @@ impl MockWAM { printer.var_names = term_write_result .var_dict .into_iter() - .map(|(var, cell)| { - match var { - VarKey::VarPtr(var) => (cell, var.clone()), - VarKey::AnonVar(_) => (cell, VarPtr::from(var.to_string())) - } + .map(|(var, cell)| match var { + VarKey::VarPtr(var) => (cell, var.clone()), + VarKey::AnonVar(_) => (cell, VarPtr::from(var.to_string())), }) .collect(); @@ -245,7 +245,7 @@ impl Machine { load_contexts: vec![], runtime, #[cfg(feature = "ffi")] - foreign_function_table: Default::default(), + foreign_function_table: Default::default(), }; let mut lib_path = current_dir(); @@ -266,17 +266,14 @@ impl Machine { lib_path.clone(), ), ) - .unwrap(); + .unwrap(); bootstrapping_compile( - Stream::from_static_string( - LIBRARIES.borrow()["builtins"], - &mut wam.machine_st.arena, - ), + Stream::from_static_string(LIBRARIES.borrow()["builtins"], &mut wam.machine_st.arena), &mut wam, ListingSource::from_file_and_path(atom!("builtins.pl"), lib_path.clone()), ) - .unwrap(); + .unwrap(); if let Some(ref mut builtins) = wam.indices.modules.get_mut(&atom!("builtins")) { load_module( @@ -300,7 +297,7 @@ impl Machine { &mut wam, ListingSource::from_file_and_path(atom!("loader.pl"), lib_path.clone()), ) - .unwrap(); + .unwrap(); wam.configure_modules(); @@ -335,6 +332,19 @@ impl Machine { self.load_file(file.into(), stream); self.user_output.bytes().map(|b| b.unwrap()).collect() } + + pub fn test_load_string(&mut self, code: &str) -> Vec { + use std::io::Read; + + let stream = Stream::from_owned_string( + code.to_owned(), + &mut self.machine_st.arena, + ); + + self.load_file("".into(), stream); + self.user_output.bytes().map(|b| b.unwrap()).collect() + } + } #[cfg(test)] @@ -346,26 +356,11 @@ mod tests { let mut wam = MachineState::new(); let mut op_dir = default_op_dir(); - op_dir.insert( - (atom!("+"), Fixity::In), - OpDesc::build_with(500, YFX as u8), - ); - op_dir.insert( - (atom!("-"), Fixity::In), - OpDesc::build_with(500, YFX as u8), - ); - op_dir.insert( - (atom!("*"), Fixity::In), - OpDesc::build_with(500, YFX as u8), - ); - op_dir.insert( - (atom!("/"), Fixity::In), - OpDesc::build_with(400, YFX as u8), - ); - op_dir.insert( - (atom!("="), Fixity::In), - OpDesc::build_with(700, XFX as u8), - ); + op_dir.insert((atom!("+"), Fixity::In), OpDesc::build_with(500, YFX as u8)); + op_dir.insert((atom!("-"), Fixity::In), OpDesc::build_with(500, YFX as u8)); + op_dir.insert((atom!("*"), Fixity::In), OpDesc::build_with(500, YFX as u8)); + op_dir.insert((atom!("/"), Fixity::In), OpDesc::build_with(400, YFX as u8)); + op_dir.insert((atom!("="), Fixity::In), OpDesc::build_with(700, XFX as u8)); { parse_and_write_parsed_term_to_heap(&mut wam, "f(X,X).", &op_dir).unwrap(); @@ -582,22 +577,10 @@ mod tests { let mut wam = MachineState::new(); let mut op_dir = default_op_dir(); - op_dir.insert( - (atom!("+"), Fixity::In), - OpDesc::build_with(500, YFX as u8), - ); - op_dir.insert( - (atom!("-"), Fixity::In), - OpDesc::build_with(500, YFX as u8), - ); - op_dir.insert( - (atom!("*"), Fixity::In), - OpDesc::build_with(400, YFX as u8), - ); - op_dir.insert( - (atom!("/"), Fixity::In), - OpDesc::build_with(400, YFX as u8), - ); + op_dir.insert((atom!("+"), Fixity::In), OpDesc::build_with(500, YFX as u8)); + op_dir.insert((atom!("-"), Fixity::In), OpDesc::build_with(500, YFX as u8)); + op_dir.insert((atom!("*"), Fixity::In), OpDesc::build_with(400, YFX as u8)); + op_dir.insert((atom!("/"), Fixity::In), OpDesc::build_with(400, YFX as u8)); { parse_and_write_parsed_term_to_heap(&mut wam, "f(X,X).", &op_dir).unwrap(); @@ -688,20 +671,12 @@ mod tests { wam.heap.push(heap_loc_as_cell!(1)); assert_eq!( - compare_term_test!( - wam, - heap_loc_as_cell!(0), - heap_loc_as_cell!(0) - ), + compare_term_test!(wam, heap_loc_as_cell!(0), heap_loc_as_cell!(0)), Some(Ordering::Equal) ); assert_eq!( - compare_term_test!( - wam, - heap_loc_as_cell!(0), - atom_as_cell!(atom!("a")) - ), + compare_term_test!(wam, heap_loc_as_cell!(0), atom_as_cell!(atom!("a"))), Some(Ordering::Greater) ); @@ -724,29 +699,17 @@ mod tests { wam.heap.push(empty_list_as_cell!()); assert_eq!( - compare_term_test!( - wam, - heap_loc_as_cell!(7), - heap_loc_as_cell!(7) - ), + compare_term_test!(wam, heap_loc_as_cell!(7), heap_loc_as_cell!(7)), Some(Ordering::Equal) ); assert_eq!( - compare_term_test!( - wam, - heap_loc_as_cell!(0), - heap_loc_as_cell!(7) - ), + compare_term_test!(wam, heap_loc_as_cell!(0), heap_loc_as_cell!(7)), Some(Ordering::Greater) ); assert_eq!( - compare_term_test!( - wam, - empty_list_as_cell!(), - heap_loc_as_cell!(7) - ), + compare_term_test!(wam, empty_list_as_cell!(), heap_loc_as_cell!(7)), Some(Ordering::Less) ); @@ -769,40 +732,24 @@ mod tests { ); assert_eq!( - compare_term_test!( - wam, - empty_list_as_cell!(), - atom_as_cell!(atom!("atom")) - ), + compare_term_test!(wam, empty_list_as_cell!(), atom_as_cell!(atom!("atom"))), Some(Ordering::Less) ); assert_eq!( - compare_term_test!( - wam, - atom_as_cell!(atom!("atom")), - empty_list_as_cell!() - ), + compare_term_test!(wam, atom_as_cell!(atom!("atom")), empty_list_as_cell!()), Some(Ordering::Greater) ); let one_p_one = HeapCellValue::from(float_alloc!(1.1, &mut wam.arena)); assert_eq!( - compare_term_test!( - wam, - one_p_one, - fixnum_as_cell!(Fixnum::build_with(1)) - ), + compare_term_test!(wam, one_p_one, fixnum_as_cell!(Fixnum::build_with(1))), Some(Ordering::Less) ); assert_eq!( - compare_term_test!( - wam, - fixnum_as_cell!(Fixnum::build_with(1)), - one_p_one - ), + compare_term_test!(wam, fixnum_as_cell!(Fixnum::build_with(1)), one_p_one), Some(Ordering::Greater) ); } @@ -821,7 +768,8 @@ mod tests { all_cells_unmarked(&wam.heap); wam.heap.clear(); - wam.heap.extend(functor!(atom!("f"), [atom(atom!("a")), atom(atom!("b"))])); + wam.heap + .extend(functor!(atom!("f"), [atom(atom!("a")), atom(atom!("b"))])); assert!(!wam.is_cyclic_term(str_loc_as_cell!(0))); diff --git a/src/machine/mod.rs b/src/machine/mod.rs index ea96f1b4..7e456d4e 100644 --- a/src/machine/mod.rs +++ b/src/machine/mod.rs @@ -6,6 +6,7 @@ pub mod code_walker; pub mod loader; pub mod compile; pub mod copier; +pub mod disjuncts; pub mod dispatch; pub mod gc; pub mod heap; @@ -16,7 +17,6 @@ pub mod machine_state; pub mod machine_state_impl; pub mod mock_wam; pub mod partial_string; -pub mod disjuncts; pub mod preprocessor; pub mod stack; pub mod streams; @@ -27,9 +27,9 @@ pub mod unify; use crate::arena::*; use crate::arithmetic::*; use crate::atom_table::*; -use crate::forms::*; #[cfg(feature = "ffi")] use crate::ffi::ForeignFunctionTable; +use crate::forms::*; use crate::instructions::*; use crate::machine::args::*; use crate::machine::compile::*; @@ -163,7 +163,10 @@ pub(crate) fn import_builtin_impls(code_dir: &CodeDir, builtins: &mut Module) { for key in keys { let idx = code_dir.get(&key).unwrap(); builtins.code_dir.insert(key, idx.clone()); - builtins.module_decl.exports.push(ModuleExport::PredicateKey(key)); + builtins + .module_decl + .exports + .push(ModuleExport::PredicateKey(key)); } } @@ -194,7 +197,7 @@ impl Machine { code: &mut self.code, load_contexts: &mut self.load_contexts, }, - &mut self.machine_st + &mut self.machine_st, ) } @@ -206,7 +209,11 @@ impl Machine { self.machine_st.throw_exception(err); } - fn run_module_predicate(&mut self, module_name: Atom, key: PredicateKey) -> std::process::ExitCode { + fn run_module_predicate( + &mut self, + module_name: Atom, + key: PredicateKey, + ) -> std::process::ExitCode { if let Some(module) = self.indices.modules.get(&module_name) { if let Some(ref code_index) = module.code_dir.get(&key) { let p = code_index.local().unwrap(); @@ -223,9 +230,8 @@ impl Machine { pub fn load_file(&mut self, path: &str, stream: Stream) { self.machine_st.registers[1] = stream_as_cell!(stream); - self.machine_st.registers[2] = atom_as_cell!( - self.machine_st.atom_tbl.build_with(path) - ); + self.machine_st.registers[2] = + atom_as_cell!(AtomTable::build_with(&self.machine_st.atom_tbl, path)); self.run_module_predicate(atom!("loader"), (atom!("file_load"), 2)); } @@ -236,10 +242,8 @@ impl Machine { path_buf.push("src/toplevel.pl"); let path = path_buf.to_str().unwrap(); - let toplevel_stream = Stream::from_static_string( - include_str!("../toplevel.pl"), - &mut self.machine_st.arena, - ); + let toplevel_stream = + Stream::from_static_string(include_str!("../toplevel.pl"), &mut self.machine_st.arena); self.load_file(path, toplevel_stream); @@ -292,19 +296,24 @@ impl Machine { arg_pstrs.push(put_complete_string( &mut self.machine_st.heap, &arg, - &mut self.machine_st.atom_tbl, + &self.machine_st.atom_tbl, )); } - self.machine_st.registers[1] = heap_loc_as_cell!( - iter_to_heap_list(&mut self.machine_st.heap, arg_pstrs.into_iter()) - ); + self.machine_st.registers[1] = heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + arg_pstrs.into_iter() + )); self.run_module_predicate(atom!("$toplevel"), (atom!("$repl"), 1)) } pub(crate) fn configure_modules(&mut self) { - fn update_call_n_indices(loader: &Module, target_code_dir: &mut CodeDir, arena: &mut Arena) { + fn update_call_n_indices( + loader: &Module, + target_code_dir: &mut CodeDir, + arena: &mut Arena, + ) { for arity in 1..66 { let key = (atom!("call"), arity); @@ -349,10 +358,18 @@ impl Machine { } for (_, target_module) in self.indices.modules.iter_mut() { - update_call_n_indices(&loader, &mut target_module.code_dir, &mut self.machine_st.arena); + update_call_n_indices( + &loader, + &mut target_module.code_dir, + &mut self.machine_st.arena, + ); } - update_call_n_indices(&loader, &mut self.indices.code_dir, &mut self.machine_st.arena); + update_call_n_indices( + &loader, + &mut self.indices.code_dir, + &mut self.machine_st.arena, + ); self.indices.modules.insert(atom!("loader"), loader); } else { @@ -363,56 +380,65 @@ impl Machine { pub(crate) fn add_impls_to_indices(&mut self) { let impls_offset = self.code.len() + 3; - self.code.extend(vec![ - Instruction::BreakFromDispatchLoop, - Instruction::InstallVerifyAttr, - Instruction::VerifyAttrInterrupt, - Instruction::ExecuteTermGreaterThan, - Instruction::ExecuteTermLessThan, - Instruction::ExecuteTermGreaterThanOrEqual, - Instruction::ExecuteTermLessThanOrEqual, - Instruction::ExecuteTermEqual, - Instruction::ExecuteTermNotEqual, - Instruction::ExecuteNumberGreaterThan(ar_reg!(temp_v!(1)), ar_reg!(temp_v!(2))), - Instruction::ExecuteNumberLessThan(ar_reg!(temp_v!(1)), ar_reg!(temp_v!(2))), - Instruction::ExecuteNumberGreaterThanOrEqual(ar_reg!(temp_v!(1)), ar_reg!(temp_v!(2))), - Instruction::ExecuteNumberLessThanOrEqual(ar_reg!(temp_v!(1)), ar_reg!(temp_v!(2))), - Instruction::ExecuteNumberEqual(ar_reg!(temp_v!(1)), ar_reg!(temp_v!(2))), - Instruction::ExecuteNumberNotEqual(ar_reg!(temp_v!(1)), ar_reg!(temp_v!(2))), - Instruction::ExecuteIs(temp_v!(1), ar_reg!(temp_v!(2))), - Instruction::ExecuteAcyclicTerm, - Instruction::ExecuteArg, - Instruction::ExecuteCompare, - Instruction::ExecuteCopyTerm, - Instruction::ExecuteFunctor, - Instruction::ExecuteGround, - Instruction::ExecuteKeySort, - Instruction::ExecuteSort, - Instruction::ExecuteN(1), - Instruction::ExecuteN(2), - Instruction::ExecuteN(3), - Instruction::ExecuteN(4), - Instruction::ExecuteN(5), - Instruction::ExecuteN(6), - Instruction::ExecuteN(7), - Instruction::ExecuteN(8), - Instruction::ExecuteN(9), - Instruction::ExecuteIsAtom(temp_v!(1)), - Instruction::ExecuteIsAtomic(temp_v!(1)), - Instruction::ExecuteIsCompound(temp_v!(1)), - Instruction::ExecuteIsInteger(temp_v!(1)), - Instruction::ExecuteIsNumber(temp_v!(1)), - Instruction::ExecuteIsRational(temp_v!(1)), - Instruction::ExecuteIsFloat(temp_v!(1)), - Instruction::ExecuteIsNonVar(temp_v!(1)), - Instruction::ExecuteIsVar(temp_v!(1)) - ].into_iter()); + self.code.extend( + vec![ + Instruction::BreakFromDispatchLoop, + Instruction::InstallVerifyAttr, + Instruction::VerifyAttrInterrupt, + Instruction::ExecuteTermGreaterThan, + Instruction::ExecuteTermLessThan, + Instruction::ExecuteTermGreaterThanOrEqual, + Instruction::ExecuteTermLessThanOrEqual, + Instruction::ExecuteTermEqual, + Instruction::ExecuteTermNotEqual, + Instruction::ExecuteNumberGreaterThan(ar_reg!(temp_v!(1)), ar_reg!(temp_v!(2))), + Instruction::ExecuteNumberLessThan(ar_reg!(temp_v!(1)), ar_reg!(temp_v!(2))), + Instruction::ExecuteNumberGreaterThanOrEqual( + ar_reg!(temp_v!(1)), + ar_reg!(temp_v!(2)), + ), + Instruction::ExecuteNumberLessThanOrEqual(ar_reg!(temp_v!(1)), ar_reg!(temp_v!(2))), + Instruction::ExecuteNumberEqual(ar_reg!(temp_v!(1)), ar_reg!(temp_v!(2))), + Instruction::ExecuteNumberNotEqual(ar_reg!(temp_v!(1)), ar_reg!(temp_v!(2))), + Instruction::ExecuteIs(temp_v!(1), ar_reg!(temp_v!(2))), + Instruction::ExecuteAcyclicTerm, + Instruction::ExecuteArg, + Instruction::ExecuteCompare, + Instruction::ExecuteCopyTerm, + Instruction::ExecuteFunctor, + Instruction::ExecuteGround, + Instruction::ExecuteKeySort, + Instruction::ExecuteSort, + Instruction::ExecuteN(1), + Instruction::ExecuteN(2), + Instruction::ExecuteN(3), + Instruction::ExecuteN(4), + Instruction::ExecuteN(5), + Instruction::ExecuteN(6), + Instruction::ExecuteN(7), + Instruction::ExecuteN(8), + Instruction::ExecuteN(9), + Instruction::ExecuteIsAtom(temp_v!(1)), + Instruction::ExecuteIsAtomic(temp_v!(1)), + Instruction::ExecuteIsCompound(temp_v!(1)), + Instruction::ExecuteIsInteger(temp_v!(1)), + Instruction::ExecuteIsNumber(temp_v!(1)), + Instruction::ExecuteIsRational(temp_v!(1)), + Instruction::ExecuteIsFloat(temp_v!(1)), + Instruction::ExecuteIsNonVar(temp_v!(1)), + Instruction::ExecuteIsVar(temp_v!(1)), + ] + .into_iter(), + ); - for (p, instr) in self.code[impls_offset ..].iter().enumerate() { + for (p, instr) in self.code[impls_offset..].iter().enumerate() { let key = instr.to_name_and_arity(); self.indices.code_dir.insert( key, - CodeIndex::new(IndexPtr::index(p + impls_offset), &mut self.machine_st.arena), + CodeIndex::new( + IndexPtr::index(p + impls_offset), + &mut self.machine_st.arena, + ), ); } } @@ -427,10 +453,9 @@ impl Machine { let user_output = Stream::stdout(&mut machine_st.arena); let user_error = Stream::stderr(&mut machine_st.arena); - #[cfg(not(target_os = "wasi"))] - let runtime = tokio::runtime::Runtime::new() - .unwrap(); - #[cfg(target_os = "wasi")] + #[cfg(not(target_arch = "wasm32"))] + let runtime = tokio::runtime::Runtime::new().unwrap(); + #[cfg(target_arch = "wasm32")] let runtime = tokio::runtime::Builder::new_current_thread() .enable_all() .build() @@ -446,7 +471,7 @@ impl Machine { load_contexts: vec![], runtime, #[cfg(feature = "ffi")] - foreign_function_table: Default::default(), + foreign_function_table: Default::default(), }; let mut lib_path = current_dir(); @@ -470,10 +495,7 @@ impl Machine { .unwrap(); bootstrapping_compile( - Stream::from_static_string( - LIBRARIES.borrow()["builtins"], - &mut wam.machine_st.arena, - ), + Stream::from_static_string(LIBRARIES.borrow()["builtins"], &mut wam.machine_st.arena), &mut wam, ListingSource::from_file_and_path(atom!("builtins.pl"), lib_path.clone()), ) @@ -526,7 +548,9 @@ impl Machine { } pub(crate) fn configure_streams(&mut self) { - self.user_input.options_mut().set_alias_to_atom_opt(Some(atom!("user_input"))); + self.user_input + .options_mut() + .set_alias_to_atom_opt(Some(atom!("user_input"))); self.indices .stream_aliases @@ -534,7 +558,9 @@ impl Machine { self.indices.streams.insert(self.user_input); - self.user_output.options_mut().set_alias_to_atom_opt(Some(atom!("user_output"))); + self.user_output + .options_mut() + .set_alias_to_atom_opt(Some(atom!("user_output"))); self.indices .stream_aliases @@ -564,9 +590,16 @@ impl Machine { loop { let indexing_code_ptr = match &indexing_lines[oip] { - &IndexingLine::Indexing(IndexingInstruction::SwitchOnTerm(arg, v, c, l, s)) => { + &IndexingLine::Indexing(IndexingInstruction::SwitchOnTerm( + arg, + v, + c, + l, + s, + )) => { cell = self.deref_register(arg); - self.machine_st.select_switch_on_term_index(cell, v, c, l, s) + self.machine_st + .select_switch_on_term_index(cell, v, c, l, s) } IndexingLine::Indexing(IndexingInstruction::SwitchOnConstant(hm)) => { let lit = self.machine_st.constant_to_literal(cell); @@ -676,7 +709,12 @@ impl Machine { } ); } - &Instruction::GetPartialString(Level::Shallow, string, RegType::Temp(t), has_tail) => { + &Instruction::GetPartialString( + Level::Shallow, + string, + RegType::Temp(t), + has_tail, + ) => { let cell = self.deref_register(t); read_heap_cell!(cell, @@ -707,17 +745,17 @@ impl Machine { } ); } - Instruction::GetConstant(..) | - Instruction::GetList(..) | - Instruction::GetStructure(..) | - Instruction::GetPartialString(..) | - &Instruction::UnifyVoid(..) | - &Instruction::UnifyConstant(..) | - &Instruction::GetVariable(..) | - &Instruction::GetValue(..) | - &Instruction::UnifyVariable(..) | - &Instruction::UnifyValue(..) | - &Instruction::UnifyLocalValue(..) => { + Instruction::GetConstant(..) + | Instruction::GetList(..) + | Instruction::GetStructure(..) + | Instruction::GetPartialString(..) + | &Instruction::UnifyVoid(..) + | &Instruction::UnifyConstant(..) + | &Instruction::GetVariable(..) + | &Instruction::GetValue(..) + | &Instruction::UnifyVariable(..) + | &Instruction::UnifyValue(..) + | &Instruction::UnifyLocalValue(..) => { offset += 1; } _ => { @@ -732,9 +770,10 @@ impl Machine { fn next_applicable_clause(&mut self, mut offset: usize) -> Option { while !self.next_clause_applicable(self.machine_st.p + offset + 1) { match &self.code[self.machine_st.p + offset] { - &Instruction::DefaultRetryMeElse(o) | &Instruction::RetryMeElse(o) | - &Instruction::DynamicElse(.., NextOrFail::Next(o)) | - &Instruction::DynamicInternalElse(.., NextOrFail::Next(o)) => offset += o, + &Instruction::DefaultRetryMeElse(o) + | &Instruction::RetryMeElse(o) + | &Instruction::DynamicElse(.., NextOrFail::Next(o)) + | &Instruction::DynamicInternalElse(.., NextOrFail::Next(o)) => offset += o, _ => { return None; } @@ -753,14 +792,16 @@ impl Machine { match &indexing_lines[self.machine_st.oip as usize] { IndexingLine::IndexedChoice(indexed_choice) => { match &indexed_choice[(self.machine_st.iip + inner_offset) as usize] { - &IndexedChoiceInstruction::Retry(o) => { + &IndexedChoiceInstruction::Retry(o) + | &IndexedChoiceInstruction::DefaultRetry(o) => { if self.next_clause_applicable(self.machine_st.p + o) { return Some(inner_offset); } inner_offset += 1; } - &IndexedChoiceInstruction::Trust(o) => { + &IndexedChoiceInstruction::Trust(o) + | &IndexedChoiceInstruction::DefaultTrust(o) => { return if self.next_clause_applicable(self.machine_st.p + o) { Some(inner_offset) } else { @@ -813,12 +854,13 @@ impl Machine { or_frame.prelude.tr = self.machine_st.tr; or_frame.prelude.h = self.machine_st.heap.len(); or_frame.prelude.b0 = self.machine_st.b0; - or_frame.prelude.attr_var_queue_len = self.machine_st.attr_var_init.attr_var_queue.len(); + or_frame.prelude.attr_var_queue_len = + self.machine_st.attr_var_init.attr_var_queue.len(); self.machine_st.b = b; for i in 0..n { - or_frame[i] = self.machine_st.registers[i+1]; + or_frame[i] = self.machine_st.registers[i + 1]; } self.machine_st.hb = self.machine_st.heap.len(); @@ -844,12 +886,13 @@ impl Machine { or_frame.prelude.tr = self.machine_st.tr; or_frame.prelude.h = self.machine_st.heap.len(); or_frame.prelude.b0 = self.machine_st.b0; - or_frame.prelude.attr_var_queue_len = self.machine_st.attr_var_init.attr_var_queue.len(); + or_frame.prelude.attr_var_queue_len = + self.machine_st.attr_var_init.attr_var_queue.len(); self.machine_st.b = b; for i in 0..n { - or_frame[i] = self.machine_st.registers[i+1]; + or_frame[i] = self.machine_st.registers[i + 1]; } self.machine_st.hb = self.machine_st.heap.len(); @@ -912,7 +955,7 @@ impl Machine { let curr_tr = self.machine_st.tr; for i in 0..n { - self.machine_st.registers[i+1] = or_frame[i]; + self.machine_st.registers[i + 1] = or_frame[i]; } self.unwind_trail(old_tr, curr_tr); @@ -956,7 +999,7 @@ impl Machine { let curr_tr = self.machine_st.tr; for i in 0..n { - self.machine_st.registers[i+1] = or_frame[i]; + self.machine_st.registers[i + 1] = or_frame[i]; } self.unwind_trail(old_tr, curr_tr); @@ -999,7 +1042,7 @@ impl Machine { let n = or_frame.prelude.num_cells; for i in 0..n { - self.machine_st.registers[i+1] = or_frame[i]; + self.machine_st.registers[i + 1] = or_frame[i]; } let old_tr = or_frame.prelude.tr; @@ -1038,15 +1081,17 @@ impl Machine { #[inline(always)] fn undefined_procedure(&mut self, name: Atom, arity: usize) -> CallResult { match self.machine_st.flags.unknown { - Unknown::Error => { - Err(self.machine_st.throw_undefined_error(name, arity)) - } + Unknown::Error => Err(self.machine_st.throw_undefined_error(name, arity)), Unknown::Fail => { self.machine_st.fail = true; Ok(()) } Unknown::Warn => { - println!("warning: predicate {}/{} is undefined", name.as_str(), arity); + println!( + "warning: predicate {}/{} is undefined", + name.as_str(), + arity + ); self.machine_st.fail = true; Ok(()) } @@ -1091,9 +1136,7 @@ impl Machine { self.machine_st.dynamic_mode = FirstOrNext::First; self.machine_st.execute_at_index(arity, compiled_tl_index); } - IndexPtrTag::Index => { - self.machine_st.execute_at_index(arity, compiled_tl_index) - } + IndexPtrTag::Index => self.machine_st.execute_at_index(arity, compiled_tl_index), } Ok(()) @@ -1118,7 +1161,9 @@ impl Machine { } } else { let stub = functor_stub(name, arity); - let err = self.machine_st.module_resolution_error(module_name, name, arity); + let err = self + .machine_st + .module_resolution_error(module_name, name, arity); Err(self.machine_st.error_form(err, stub)) } @@ -1144,7 +1189,9 @@ impl Machine { } } else { let stub = functor_stub(name, arity); - let err = self.machine_st.module_resolution_error(module_name, name, arity); + let err = self + .machine_st + .module_resolution_error(module_name, name, arity); Err(self.machine_st.error_form(err, stub)) } @@ -1178,12 +1225,16 @@ impl Machine { let r_c_wo_h_atom = atom!("run_cleaners_without_handling"); let iso_ext = atom!("iso_ext"); - RCWH = self.indices.get_predicate_code_index(r_c_w_h_atom, 0, iso_ext) - .and_then(|item| item.local()) - .unwrap(); - RCWOH = self.indices.get_predicate_code_index(r_c_wo_h_atom, 1, iso_ext) - .and_then(|item| item.local()) - .unwrap(); + RCWH = self + .indices + .get_predicate_code_index(r_c_w_h_atom, 0, iso_ext) + .and_then(|item| item.local()) + .unwrap(); + RCWOH = self + .indices + .get_predicate_code_index(r_c_wo_h_atom, 1, iso_ext) + .and_then(|item| item.local()) + .unwrap(); }); (RCWH, RCWOH) @@ -1194,9 +1245,8 @@ impl Machine { let (idx, arity) = if self.machine_st.effective_block() > prev_block { (r_c_w_h, 0) } else { - self.machine_st.registers[1] = fixnum_as_cell!( - Fixnum::build_with(b_cutoff as i64) - ); + self.machine_st.registers[1] = + fixnum_as_cell!(Fixnum::build_with(b_cutoff as i64)); (r_c_wo_h, 1) }; @@ -1263,9 +1313,8 @@ impl Machine { None => unreachable!(), } } - TrailEntryTag::TrailedAttachedValue => { - } + TrailEntryTag::TrailedAttachedValue => {} } } } -} \ No newline at end of file +} diff --git a/src/machine/partial_string.rs b/src/machine/partial_string.rs index 812941fc..8d03eefe 100644 --- a/src/machine/partial_string.rs +++ b/src/machine/partial_string.rs @@ -43,11 +43,10 @@ impl Into for PartialString { impl PartialString { #[inline] - pub(super) fn new<'a>(src: &'a str, atom_tbl: &mut AtomTable) -> Option<(Self, &'a str)> { + pub(super) fn new<'a>(src: &'a str, atom_tbl: &AtomTable) -> Option<(Self, &'a str)> { let terminator_idx = scan_for_terminator(src.chars()); - let pstr = PartialString(atom_tbl.build_with(&src[.. terminator_idx])); - - Some(if terminator_idx < src.as_bytes().len() { + let pstr = PartialString(AtomTable::build_with(&atom_tbl, &src[..terminator_idx])); + Some(if terminator_idx < src.as_bytes().len() { (pstr, &src[terminator_idx + 1..]) } else { (pstr, "") @@ -55,8 +54,8 @@ impl PartialString { } #[inline(always)] - pub(crate) fn as_str_from(&self, n: usize) -> &str { - &self.0.as_str()[n..] + pub(crate) fn as_str_from(&self, n: usize) -> AtomString { + self.0.as_str().map(|str| &str[n..]) } } @@ -124,11 +123,15 @@ impl<'a> HeapPStrIter<'a> { let mut final_result = None; - while let Some(PStrIterStep { iteratee, next_hare }) = self.step(self.brent_st.hare) { + while let Some(PStrIterStep { + iteratee, + next_hare, + }) = self.step(self.brent_st.hare) + { self.brent_st.hare = next_hare; self.focus = self.heap[iteratee.focus()]; - result.focus = iteratee.focus(); + result.focus = iteratee.focus(); result.offset = iteratee.offset(); match iteratee { @@ -151,7 +154,7 @@ impl<'a> HeapPStrIter<'a> { let s = &s[result.prefix_len..]; if s.len() >= t.len() { - if s.starts_with(t) { + if (&*s).starts_with(&*t) { result.prefix_len += t.len(); result.offset += t.len(); } else { @@ -202,7 +205,7 @@ impl<'a> HeapPStrIter<'a> { self.brent_st.hare = self.orig_focus; self.brent_st.tortoise = self.orig_focus; - for _ in 0 .. self.brent_st.lam { + for _ in 0..self.brent_st.lam { self.brent_st.hare = self.step(self.brent_st.hare).unwrap().next_hare; } @@ -225,7 +228,7 @@ impl<'a> HeapPStrIter<'a> { } PStrIteratee::PStrSegment(_, pstr_atom, n) => { let pstr = PartialString::from(pstr_atom); - buf += pstr.as_str_from(n); + buf += &*pstr.as_str_from(n); } } } @@ -238,43 +241,43 @@ impl<'a> HeapPStrIter<'a> { let mut focus = self.focus; loop { - read_heap_cell!(focus, - (HeapCellValueTag::CStr | HeapCellValueTag::PStrLoc) => { - return true; - } - (HeapCellValueTag::Atom, (name, arity)) => { // TODO: use Str here? - return name == atom!(".") && arity == 2; - } - (HeapCellValueTag::Lis, h) => { - let value = self.heap[h]; - let value = heap_bound_store( - self.heap, - heap_bound_deref(self.heap, value), - ); + read_heap_cell!(focus, + (HeapCellValueTag::CStr | HeapCellValueTag::PStrLoc) => { + return true; + } + (HeapCellValueTag::Atom, (name, arity)) => { // TODO: use Str here? + return name == atom!(".") && arity == 2; + } + (HeapCellValueTag::Lis, h) => { + let value = self.heap[h]; + let value = heap_bound_store( + self.heap, + heap_bound_deref(self.heap, value), + ); - return read_heap_cell!(value, - (HeapCellValueTag::Atom, (name, arity)) => { - arity == 0 && name.as_char().is_some() - } - (HeapCellValueTag::Char) => { - true - } - _ => { - false - } - ); - } - (HeapCellValueTag::AttrVar | HeapCellValueTag::Var, h) => { - if focus == self.heap[h] { - return false; - } + return read_heap_cell!(value, + (HeapCellValueTag::Atom, (name, arity)) => { + arity == 0 && name.as_char().is_some() + } + (HeapCellValueTag::Char) => { + true + } + _ => { + false + } + ); + } + (HeapCellValueTag::AttrVar | HeapCellValueTag::Var, h) => { + if focus == self.heap[h] { + return false; + } - focus = self.heap[h]; - } - _ => { - return false; - } - ); + focus = self.heap[h]; + } + _ => { + return false; + } + ); } } @@ -381,13 +384,15 @@ impl<'a> HeapPStrIter<'a> { } fn pre_cycle_discovery_stepper(&mut self) -> Option { - let PStrIterStep { iteratee, next_hare } = - match self.step(self.brent_st.hare) { - Some(results) => results, - None => { - return None; - } - }; + let PStrIterStep { + iteratee, + next_hare, + } = match self.step(self.brent_st.hare) { + Some(results) => results, + None => { + return None; + } + }; self.focus = self.heap[iteratee.focus()]; @@ -421,13 +426,15 @@ impl<'a> HeapPStrIter<'a> { return None; } - let PStrIterStep { iteratee, next_hare } = - match self.step(self.brent_st.hare) { - Some(results) => results, - None => { - return None; - } - }; + let PStrIterStep { + iteratee, + next_hare, + } = match self.step(self.brent_st.hare) { + Some(results) => results, + None => { + return None; + } + }; self.focus = self.heap[next_hare]; self.brent_st.hare = next_hare; @@ -515,11 +522,8 @@ impl<'a> Iterator for PStrCharsIter<'a> { match pstr.as_str_from(n).chars().next() { Some(c) => { - self.item = Some(PStrIteratee::PStrSegment( - f1, - pstr_atom, - n + c.len_utf8(), - )); + self.item = + Some(PStrIteratee::PStrSegment(f1, pstr_atom, n + c.len_utf8())); return Some(c); } @@ -684,8 +688,10 @@ pub fn compare_pstr_prefixes<'a>( } } } - (PStrIteratee::PStrSegment(f1, pstr1_atom, n1), - PStrIteratee::PStrSegment(f2, pstr2_atom, n2)) => { + ( + PStrIteratee::PStrSegment(f1, pstr1_atom, n1), + PStrIteratee::PStrSegment(f2, pstr2_atom, n2), + ) => { if pstr1_atom == pstr2_atom && n1 == n2 { cycle_detection_step(i1, i2, &step_1); let both_cyclic = cycle_detection_step(i2, i1, &step_2); @@ -707,7 +713,7 @@ pub fn compare_pstr_prefixes<'a>( let str2 = pstr2.as_str_from(n2); match str1.len().cmp(&str2.len()) { - Ordering::Equal if str1 == str2 => { + Ordering::Equal if &*str1 == &*str2 => { cycle_detection_step(i1, i2, &step_1); let both_cyclic = cycle_detection_step(i2, i1, &step_2); @@ -718,8 +724,9 @@ pub fn compare_pstr_prefixes<'a>( continue; } } - Ordering::Less if str2.starts_with(str1) => { - step_2.iteratee = PStrIteratee::PStrSegment(f2, pstr2_atom, n2 + str1.len()); + Ordering::Less if str2.starts_with(&*str1) => { + step_2.iteratee = + PStrIteratee::PStrSegment(f2, pstr2_atom, n2 + str1.len()); let c1_result = cycle_detection_step(i1, i2, &step_1); r1 = step(i1, i1.brent_st.hare); @@ -727,8 +734,9 @@ pub fn compare_pstr_prefixes<'a>( continue; } } - Ordering::Greater if str1.starts_with(str2) => { - step_1.iteratee = PStrIteratee::PStrSegment(f1, pstr1_atom, n1 + str2.len()); + Ordering::Greater if str1.starts_with(&*str2) => { + step_1.iteratee = + PStrIteratee::PStrSegment(f1, pstr1_atom, n1 + str2.len()); let c2_result = cycle_detection_step(i2, i1, &step_2); r2 = step(i2, i2.brent_st.hare); @@ -737,7 +745,7 @@ pub fn compare_pstr_prefixes<'a>( } } _ => { - return PStrCmpResult::Ordered(str1.cmp(str2)); + return PStrCmpResult::Ordered(str1.cmp(&*str2)); } } } @@ -796,11 +804,8 @@ mod test { fn pstr_iter_tests() { let mut wam = MockWAM::new(); - let pstr_var_cell = put_partial_string( - &mut wam.machine_st.heap, - "abc ", - &mut wam.machine_st.atom_tbl, - ); + let pstr_var_cell = + put_partial_string(&mut wam.machine_st.heap, "abc ", &wam.machine_st.atom_tbl); let pstr_cell = wam.machine_st.heap[pstr_var_cell.get_value() as usize]; @@ -819,11 +824,8 @@ mod test { wam.machine_st.heap.pop(); wam.machine_st.heap.push(pstr_loc_as_cell!(2)); - let pstr_second_var_cell = put_partial_string( - &mut wam.machine_st.heap, - "def", - &mut wam.machine_st.atom_tbl, - ); + let pstr_second_var_cell = + put_partial_string(&mut wam.machine_st.heap, "def", &wam.machine_st.atom_tbl); let pstr_second_cell = wam.machine_st.heap[pstr_second_var_cell.get_value() as usize]; @@ -836,7 +838,11 @@ mod test { ); assert_eq!( iter.next(), - Some(PStrIteratee::PStrSegment(2, cell_as_atom!(pstr_second_cell), 0)) + Some(PStrIteratee::PStrSegment( + 2, + cell_as_atom!(pstr_second_cell), + 0 + )) ); assert_eq!(iter.next(), None); @@ -855,7 +861,11 @@ mod test { ); assert_eq!( iter.next(), - Some(PStrIteratee::PStrSegment(2, cell_as_atom!(pstr_second_cell), 0)) + Some(PStrIteratee::PStrSegment( + 2, + cell_as_atom!(pstr_second_cell), + 0 + )) ); assert_eq!(iter.next(), None); @@ -863,10 +873,14 @@ mod test { } wam.machine_st.heap.pop(); - wam.machine_st.heap.push(pstr_loc_as_cell!(wam.machine_st.heap.len() + 1)); + wam.machine_st + .heap + .push(pstr_loc_as_cell!(wam.machine_st.heap.len() + 1)); wam.machine_st.heap.push(pstr_offset_as_cell!(0)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(0))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(0))); { let mut iter = HeapPStrIter::new(&wam.machine_st.heap, 0); @@ -892,31 +906,25 @@ mod test { // construct a structurally similar but different cyclic partial string // matching the one beginning at wam.machine_st.heap[0]. - put_partial_string( - &mut wam.machine_st.heap, - "ab", - &mut wam.machine_st.atom_tbl, - ); + put_partial_string(&mut wam.machine_st.heap, "ab", &wam.machine_st.atom_tbl); wam.machine_st.heap.pop(); - wam.machine_st.heap.push(pstr_loc_as_cell!(second_h+2)); + wam.machine_st.heap.push(pstr_loc_as_cell!(second_h + 2)); - put_partial_string( - &mut wam.machine_st.heap, - "c ", - &mut wam.machine_st.atom_tbl, - ); + put_partial_string(&mut wam.machine_st.heap, "c ", &wam.machine_st.atom_tbl); wam.machine_st.heap.pop(); - wam.machine_st.heap.push(pstr_loc_as_cell!(second_h+4)); + wam.machine_st.heap.push(pstr_loc_as_cell!(second_h + 4)); wam.machine_st.heap.push(pstr_second_cell); - wam.machine_st.heap.push(pstr_loc_as_cell!(second_h+6)); + wam.machine_st.heap.push(pstr_loc_as_cell!(second_h + 6)); wam.machine_st.heap.push(pstr_offset_as_cell!(second_h)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(0))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(0))); let mut iter1 = HeapPStrIter::new(&wam.machine_st.heap, 0); let mut iter2 = HeapPStrIter::new(&wam.machine_st.heap, second_h); @@ -929,11 +937,7 @@ mod test { wam.machine_st.heap.clear(); - put_partial_string( - &mut wam.machine_st.heap, - "abc ", - &mut wam.machine_st.atom_tbl, - ); + put_partial_string(&mut wam.machine_st.heap, "abc ", &wam.machine_st.atom_tbl); let pstr_cell = wam.machine_st.heap[0]; @@ -963,11 +967,8 @@ mod test { wam.machine_st.heap.clear(); - let cstr_var_cell = put_complete_string( - &mut wam.machine_st.heap, - "abc", - &mut wam.machine_st.atom_tbl, - ); + let cstr_var_cell = + put_complete_string(&mut wam.machine_st.heap, "abc", &wam.machine_st.atom_tbl); wam.machine_st.heap.push(list_loc_as_cell!(2)); wam.machine_st.heap.push(heap_loc_as_cell!(2)); @@ -982,30 +983,18 @@ mod test { unify!(wam.machine_st, cstr_var_cell, heap_loc_as_cell!(1)); - assert_eq!( - wam.machine_st.heap[2], - char_as_cell!('a'), - ); + assert_eq!(wam.machine_st.heap[2], char_as_cell!('a'),); - assert_eq!( - wam.machine_st.heap[4], - char_as_cell!('b'), - ); + assert_eq!(wam.machine_st.heap[4], char_as_cell!('b'),); - assert_eq!( - wam.machine_st.heap[6], - char_as_cell!('c'), - ); + assert_eq!(wam.machine_st.heap[6], char_as_cell!('c'),); // test "abc" = [X,Y,Z|D]. wam.machine_st.heap.clear(); - let cstr_var_cell = put_complete_string( - &mut wam.machine_st.heap, - "abc", - &mut wam.machine_st.atom_tbl, - ); + let cstr_var_cell = + put_complete_string(&mut wam.machine_st.heap, "abc", &wam.machine_st.atom_tbl); wam.machine_st.heap.push(list_loc_as_cell!(2)); wam.machine_st.heap.push(heap_loc_as_cell!(2)); // X @@ -1022,35 +1011,20 @@ mod test { assert_eq!(wam.machine_st.fail, false); - assert_eq!( - wam.machine_st.heap[2], - char_as_cell!('a'), - ); + assert_eq!(wam.machine_st.heap[2], char_as_cell!('a'),); - assert_eq!( - wam.machine_st.heap[4], - char_as_cell!('b'), - ); + assert_eq!(wam.machine_st.heap[4], char_as_cell!('b'),); - assert_eq!( - wam.machine_st.heap[6], - char_as_cell!('c'), - ); + assert_eq!(wam.machine_st.heap[6], char_as_cell!('c'),); - assert_eq!( - wam.machine_st.heap[7], - empty_list_as_cell!(), - ); + assert_eq!(wam.machine_st.heap[7], empty_list_as_cell!(),); // test "d" = [d]. wam.machine_st.heap.clear(); - let cstr_var_cell = put_complete_string( - &mut wam.machine_st.heap, - "d", - &mut wam.machine_st.atom_tbl, - ); + let cstr_var_cell = + put_complete_string(&mut wam.machine_st.heap, "d", &wam.machine_st.atom_tbl); wam.machine_st.heap.push(list_loc_as_cell!(2)); wam.machine_st.heap.push(char_as_cell!('d')); @@ -1064,11 +1038,8 @@ mod test { wam.machine_st.heap.clear(); - let cstr_var_cell = put_complete_string( - &mut wam.machine_st.heap, - "abc", - &mut wam.machine_st.atom_tbl, - ); + let cstr_var_cell = + put_complete_string(&mut wam.machine_st.heap, "abc", &wam.machine_st.atom_tbl); wam.machine_st.heap.push(list_loc_as_cell!(2)); wam.machine_st.heap.push(heap_loc_as_cell!(2)); @@ -1085,30 +1056,17 @@ mod test { assert_eq!(wam.machine_st.fail, false); - assert_eq!( - wam.machine_st.heap[2], - char_as_cell!('a'), - ); + assert_eq!(wam.machine_st.heap[2], char_as_cell!('a'),); - assert_eq!( - wam.machine_st.heap[4], - char_as_cell!('b'), - ); + assert_eq!(wam.machine_st.heap[4], char_as_cell!('b'),); - assert_eq!( - wam.machine_st.heap[6], - char_as_cell!('c'), - ); + assert_eq!(wam.machine_st.heap[6], char_as_cell!('c'),); // test "abcdef" = [a,b,c|X]. wam.machine_st.heap.clear(); - put_complete_string( - &mut wam.machine_st.heap, - "abcdef", - &mut wam.machine_st.atom_tbl, - ); + put_complete_string(&mut wam.machine_st.heap, "abcdef", &wam.machine_st.atom_tbl); wam.machine_st.heap.push(pstr_as_cell!(atom!("abc"))); wam.machine_st.heap.push(heap_loc_as_cell!(2)); @@ -1123,7 +1081,10 @@ mod test { assert_eq!(wam.machine_st.heap[3], pstr_loc_as_cell!(1)); assert_eq!(wam.machine_st.heap[4], atom_as_cstr_cell!(atom!("abcdef"))); assert_eq!(wam.machine_st.heap[5], pstr_offset_as_cell!(4)); - assert_eq!(wam.machine_st.heap[6], fixnum_as_cell!(Fixnum::build_with("abc".len() as i64))); + assert_eq!( + wam.machine_st.heap[6], + fixnum_as_cell!(Fixnum::build_with("abc".len() as i64)) + ); // test iteration on X = [b,c,b,c,b,c,b,c|...] as an offset. @@ -1132,7 +1093,9 @@ mod test { wam.machine_st.heap.push(pstr_as_cell!(atom!("abc"))); wam.machine_st.heap.push(pstr_loc_as_cell!(2)); wam.machine_st.heap.push(pstr_offset_as_cell!(0)); - wam.machine_st.heap.push(fixnum_as_cell!(Fixnum::build_with(1))); + wam.machine_st + .heap + .push(fixnum_as_cell!(Fixnum::build_with(1))); { let mut iter = HeapPStrIter::new(&wam.machine_st.heap, 2); diff --git a/src/machine/preprocessor.rs b/src/machine/preprocessor.rs index f7fa110f..958bc3c4 100644 --- a/src/machine/preprocessor.rs +++ b/src/machine/preprocessor.rs @@ -12,11 +12,7 @@ use indexmap::IndexSet; use std::cell::Cell; use std::convert::TryFrom; -pub(crate) fn to_op_decl( - prec: u16, - spec: Atom, - name: Atom, -) -> Result { +pub(crate) fn to_op_decl(prec: u16, spec: Atom, name: Atom) -> Result { match spec { atom!("xfx") => Ok(OpDecl::new(OpDesc::build_with(prec, XFX as u8), name)), atom!("xfy") => Ok(OpDecl::new(OpDesc::build_with(prec, XFY as u8), name)), @@ -29,19 +25,16 @@ pub(crate) fn to_op_decl( } } -fn setup_op_decl( - mut terms: Vec, - atom_tbl: &mut AtomTable, -) -> Result { +fn setup_op_decl(mut terms: Vec, atom_tbl: &AtomTable) -> Result { let name = match terms.pop().unwrap() { Term::Literal(_, Literal::Atom(name)) => name, - Term::Literal(_, Literal::Char(c)) => atom_tbl.build_with(&c.to_string()), + Term::Literal(_, Literal::Char(c)) => AtomTable::build_with(atom_tbl, &c.to_string()), _ => return Err(CompilationError::InconsistentEntry), }; let spec = match terms.pop().unwrap() { Term::Literal(_, Literal::Atom(name)) => name, - Term::Literal(_, Literal::Char(c)) => atom_tbl.build_with(&c.to_string()), + Term::Literal(_, Literal::Char(c)) => AtomTable::build_with(atom_tbl, &c.to_string()), _ => return Err(CompilationError::InconsistentEntry), }; @@ -71,12 +64,14 @@ fn setup_predicate_indicator(term: &mut Term) -> Result usize::try_from(n.get_num()).ok(), _ => None, - }.ok_or(CompilationError::InvalidModuleExport)?; + } + .ok_or(CompilationError::InvalidModuleExport)?; let name = match name { Term::Literal(_, Literal::Atom(name)) => Some(name), _ => None, - }.ok_or(CompilationError::InvalidModuleExport)?; + } + .ok_or(CompilationError::InvalidModuleExport)?; if *slash == atom!("/") { Ok((name, arity)) @@ -90,7 +85,7 @@ fn setup_predicate_indicator(term: &mut Term) -> Result Result { setup_predicate_indicator(&mut term) .map(ModuleExport::PredicateKey) @@ -116,7 +111,7 @@ pub(crate) fn build_rule_body(vars: &[Term], body_term: Term) -> Term { pub(super) fn setup_module_export_list( mut export_list: Term, - atom_tbl: &mut AtomTable, + atom_tbl: &AtomTable, ) -> Result, CompilationError> { let mut exports = vec![]; @@ -136,7 +131,7 @@ pub(super) fn setup_module_export_list( fn setup_module_decl( mut terms: Vec, - atom_tbl: &mut AtomTable, + atom_tbl: &AtomTable, ) -> Result { let export_list = terms.pop().unwrap(); let name = terms.pop().unwrap(); @@ -144,7 +139,8 @@ fn setup_module_decl( let name = match name { Term::Literal(_, Literal::Atom(name)) => Some(name), _ => None, - }.ok_or(CompilationError::InvalidModuleDecl)?; + } + .ok_or(CompilationError::InvalidModuleDecl)?; let exports = setup_module_export_list(export_list, atom_tbl)?; @@ -153,9 +149,7 @@ fn setup_module_decl( fn setup_use_module_decl(mut terms: Vec) -> Result { match terms.pop().unwrap() { - Term::Clause(_, name, mut terms) - if name == atom!("library") && terms.len() == 1 => - { + Term::Clause(_, name, mut terms) if name == atom!("library") && terms.len() == 1 => { match terms.pop().unwrap() { Term::Literal(_, Literal::Atom(name)) => Ok(ModuleSource::Library(name)), _ => Err(CompilationError::InvalidModuleDecl), @@ -170,13 +164,11 @@ type UseModuleExport = (ModuleSource, IndexSet); fn setup_qualified_import( mut terms: Vec, - atom_tbl: &mut AtomTable, + atom_tbl: &AtomTable, ) -> Result { let mut export_list = terms.pop().unwrap(); let module_src = match terms.pop().unwrap() { - Term::Clause(_, name, mut terms) - if name == atom!("library") && terms.len() == 1 => - { + Term::Clause(_, name, mut terms) if name == atom!("library") && terms.len() == 1 => { match terms.pop().unwrap() { Term::Literal(_, Literal::Atom(name)) => Ok(ModuleSource::Library(name)), _ => Err(CompilationError::InvalidModuleDecl), @@ -321,11 +313,11 @@ pub(super) fn setup_declaration<'a, LS: LoadState<'a>>( } (atom!("module"), 2) => { let atom_tbl = &mut LS::machine_st(&mut loader.payload).atom_tbl; - Ok(Declaration::Module(setup_module_decl(terms, atom_tbl)?)) + Ok(Declaration::Module(setup_module_decl(terms, &atom_tbl)?)) } (atom!("op"), 3) => { let atom_tbl = &mut LS::machine_st(&mut loader.payload).atom_tbl; - Ok(Declaration::Op(setup_op_decl(terms, atom_tbl)?)) + Ok(Declaration::Op(setup_op_decl(terms, &atom_tbl)?)) } (atom!("non_counted_backtracking"), 1) => { let (name, arity) = setup_predicate_indicator(&mut terms.pop().unwrap())?; @@ -334,7 +326,7 @@ pub(super) fn setup_declaration<'a, LS: LoadState<'a>>( (atom!("use_module"), 1) => Ok(Declaration::UseModule(setup_use_module_decl(terms)?)), (atom!("use_module"), 2) => { let atom_tbl = &mut LS::machine_st(&mut loader.payload).atom_tbl; - let (name, exports) = setup_qualified_import(terms, atom_tbl)?; + let (name, exports) = setup_qualified_import(terms, &atom_tbl)?; Ok(Declaration::UseQualifiedModule(name, exports)) } @@ -384,19 +376,28 @@ fn build_meta_predicate_clause<'a, LS: LoadState<'a>>( } fn tag_with_module_name(module_name: Atom, term: Term) -> Term { - Term::Clause(Cell::default(), atom!(":"), vec![ - Term::Literal(Cell::default(), Literal::Atom(module_name)), - term - ]) + Term::Clause( + Cell::default(), + atom!(":"), + vec![ + Term::Literal(Cell::default(), Literal::Atom(module_name)), + term, + ], + ) } let process_term: fn(Atom, Term) -> Term; let (module_name, key, term) = match term { Term::Clause(cell, atom!(":"), mut terms) if terms.len() == 2 => { - if let Some((module_name, name)) = get_qualified_name(&terms[0], &terms[1]) { + if let Some((module_name, name)) = get_qualified_name(&terms[0], &terms[1]) + { process_term = tag_with_module_name; - (module_name, (name, terms[1].arity() + supp_args), terms.pop().unwrap()) + ( + module_name, + (name, terms[1].arity() + supp_args), + terms.pop().unwrap(), + ) } else { arg_terms.push(Term::Clause(cell, atom!(":"), terms)); continue; @@ -411,10 +412,8 @@ fn build_meta_predicate_clause<'a, LS: LoadState<'a>>( let term = match term { Term::Clause(cell, name, mut terms) => { if let Some(Term::Literal(_, Literal::CodeIndex(_))) = terms.last() { - arg_terms.push(process_term( - module_name, - Term::Clause(cell, name, terms), - )); + arg_terms + .push(process_term(module_name, Term::Clause(cell, name, terms))); continue; } @@ -427,11 +426,14 @@ fn build_meta_predicate_clause<'a, LS: LoadState<'a>>( Term::Literal(cell, Literal::Atom(name)) => { let idx = loader.get_or_insert_qualified_code_index(module_name, key); - process_term(module_name, Term::Clause( - cell, - name, - vec![Term::Literal(Cell::default(), Literal::CodeIndex(idx))], - )) + process_term( + module_name, + Term::Clause( + cell, + name, + vec![Term::Literal(Cell::default(), Literal::CodeIndex(idx))], + ), + ) } term => term, }; @@ -465,12 +467,7 @@ pub(super) fn clause_to_query_term<'a, LS: LoadState<'a>>( if let ClauseType::Named(arity, name, idx) = ct { if let Some(meta_specs) = loader.get_meta_specs(name, arity).cloned() { let module_name = loader.payload.compilation_target.module_name(); - let terms = build_meta_predicate_clause( - loader, - module_name, - terms, - meta_specs, - ); + let terms = build_meta_predicate_clause(loader, module_name, terms, meta_specs); return QueryTerm::Clause( Cell::default(), @@ -504,12 +501,7 @@ pub(super) fn qualified_clause_to_query_term<'a, LS: LoadState<'a>>( if let ClauseType::Named(arity, name, idx) = ct { if let Some(meta_specs) = loader.get_meta_specs(name, arity).cloned() { - let terms = build_meta_predicate_clause( - loader, - module_name, - terms, - meta_specs, - ); + let terms = build_meta_predicate_clause(loader, module_name, terms, meta_specs); return QueryTerm::Clause( Cell::default(), @@ -532,17 +524,13 @@ pub(crate) struct Preprocessor { impl Preprocessor { pub(super) fn new(settings: CodeGenSettings) -> Self { - Preprocessor { - settings, - } + Preprocessor { settings } } fn setup_fact(&mut self, term: Term) -> Result<(Fact, VarData), CompilationError> { match term { Term::Clause(..) | Term::Literal(_, Literal::Atom(..)) => { - let classifier = VariableClassifier::new( - self.settings.default_call_policy(), - ); + let classifier = VariableClassifier::new(self.settings.default_call_policy()); let (head, var_data) = classifier.classify_fact(term)?; Ok((Fact { head }, var_data)) @@ -557,21 +545,25 @@ impl Preprocessor { head: Term, body: Term, ) -> Result<(Rule, VarData), CompilationError> { - let classifier = VariableClassifier::new( - self.settings.default_call_policy(), - ); + let classifier = VariableClassifier::new(self.settings.default_call_policy()); let (head, clauses, var_data) = classifier.classify_rule(loader, head, body)?; match head { - Term::Clause(_, name, terms) => Ok((Rule { - head: (name, terms), - clauses, - }, var_data)), - Term::Literal(_, Literal::Atom(name)) => Ok((Rule { - head: (name, vec![]), - clauses, - }, var_data)), + Term::Clause(_, name, terms) => Ok(( + Rule { + head: (name, terms), + clauses, + }, + var_data, + )), + Term::Literal(_, Literal::Atom(name)) => Ok(( + Rule { + head: (name, vec![]), + clauses, + }, + var_data, + )), _ => Err(CompilationError::InvalidRuleHead), } } diff --git a/src/machine/stack.rs b/src/machine/stack.rs index 1e15e69d..387c40d7 100644 --- a/src/machine/stack.rs +++ b/src/machine/stack.rs @@ -30,12 +30,6 @@ pub struct Stack { _marker: PhantomData, } -impl Drop for Stack { - fn drop(&mut self) { - self.buf.deallocate(); - } -} - #[derive(Debug)] pub(crate) struct AndFramePrelude { pub(crate) num_cells: usize, @@ -189,7 +183,7 @@ impl Stack { let frame_size = AndFrame::size_of(num_cells); unsafe { - let e = self.buf.ptr as usize - self.buf.base as usize; + let e = (*self.buf.ptr.get_mut()) as usize - self.buf.base as usize; let new_ptr = self.alloc(frame_size); let mut offset = prelude_size::(); @@ -213,7 +207,7 @@ impl Stack { let frame_size = OrFrame::size_of(num_cells); unsafe { - let b = self.buf.ptr as usize - self.buf.base as usize; + let b = (*self.buf.ptr.get_mut()) as usize - self.buf.base as usize; let new_ptr = self.alloc(frame_size); let mut offset = prelude_size::(); @@ -269,8 +263,8 @@ impl Stack { pub(crate) fn truncate(&mut self, b: usize) { let base = self.buf.base as usize + b; - if base < self.buf.ptr as usize { - self.buf.ptr = base as *mut _; + if base < (*self.buf.ptr.get_mut()) as usize { + *self.buf.ptr.get_mut() = base as *mut _; } } } @@ -290,7 +284,7 @@ mod tests { assert_eq!( e, - 0// 10 * mem::size_of::() + prelude_size::() + 0 // 10 * mem::size_of::() + prelude_size::() ); assert_eq!(and_frame.prelude.num_cells, 10); @@ -315,7 +309,10 @@ mod tests { let and_frame = wam.machine_st.stack.index_and_frame_mut(next_e); for idx in 0..9 { - assert_eq!(and_frame[idx + 1], stack_loc_as_cell!(AndFrame, next_e, idx + 1)); + assert_eq!( + and_frame[idx + 1], + stack_loc_as_cell!(AndFrame, next_e, idx + 1) + ); } let and_frame = wam.machine_st.stack.index_and_frame(e); diff --git a/src/machine/streams.rs b/src/machine/streams.rs index 57b98d7d..b91ea8b8 100644 --- a/src/machine/streams.rs +++ b/src/machine/streams.rs @@ -4,13 +4,13 @@ use crate::parser::ast::*; use crate::parser::char_reader::*; use crate::read::*; +#[cfg(feature = "http")] +use crate::http::HttpResponse; use crate::machine::heap::*; use crate::machine::machine_errors::*; use crate::machine::machine_indices::*; use crate::machine::machine_state::*; use crate::types::*; -#[cfg(feature = "http")] -use crate::http::HttpResponse; pub use modular_bitfield::prelude::*; @@ -23,7 +23,7 @@ use std::hash::Hash; use std::io; use std::io::{BufRead, Cursor, ErrorKind, Read, Seek, SeekFrom, Write}; use std::mem; -use std::net::{TcpStream, Shutdown}; +use std::net::{Shutdown, TcpStream}; use std::ops::{Deref, DerefMut}; use std::ptr; @@ -154,8 +154,10 @@ impl StreamLayout> { fn position(&mut self) -> Option { // stream is the internal CharReader. subtract // its pending buffer length from position. - self.get_mut().file.seek(SeekFrom::Current(0)) - .map(|pos| pos - self.stream.rem_buf_len() as u64) + self.get_mut() + .file + .seek(SeekFrom::Current(0)) + .map(|pos| pos - self.stream.rem_buf_len() as u64) .ok() } } @@ -195,7 +197,7 @@ impl CharRead for StaticStringStream { #[inline(always)] fn peek_char(&mut self) -> Option> { let pos = self.stream.position() as usize; - self.stream.get_ref()[pos ..].chars().next().map(Ok) + self.stream.get_ref()[pos..].chars().next().map(Ok) } #[inline(always)] @@ -205,7 +207,9 @@ impl CharRead for StaticStringStream { #[inline(always)] fn put_back_char(&mut self, c: char) { - self.stream.seek(SeekFrom::Current(- (c.len_utf8() as i64))).unwrap(); + self.stream + .seek(SeekFrom::Current(-(c.len_utf8() as i64))) + .unwrap(); } } @@ -294,7 +298,7 @@ pub struct HttpWriteStream { #[cfg(feature = "http")] impl Debug for HttpWriteStream { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "Http Write Stream") + write!(f, "Http Write Stream") } } @@ -302,28 +306,27 @@ impl Debug for HttpWriteStream { impl Write for HttpWriteStream { #[inline] fn write(&mut self, buf: &[u8]) -> std::io::Result { - self.buffer.extend_from_slice(buf); - Ok(buf.len()) + self.buffer.extend_from_slice(buf); + Ok(buf.len()) } #[inline] fn flush(&mut self) -> std::io::Result<()> { - let (ready, response, cvar) = &**self.response; + let (ready, response, cvar) = &**self.response; - let mut ready = ready.lock().unwrap(); - { - let mut response = response.lock().unwrap(); - - let bytes = bytes::Bytes::copy_from_slice(&self.buffer); - let mut response_ = hyper::Response::builder() - .status(self.status_code); - *response_.headers_mut().unwrap() = self.headers.clone(); - *response = Some(response_.body(http_body_util::Full::new(bytes)).unwrap()); - } - *ready = true; - cvar.notify_one(); + let mut ready = ready.lock().unwrap(); + { + let mut response = response.lock().unwrap(); - Ok(()) + let bytes = bytes::Bytes::copy_from_slice(&self.buffer); + let mut response_ = hyper::Response::builder().status(self.status_code); + *response_.headers_mut().unwrap() = self.headers.clone(); + *response = Some(response_.body(http_body_util::Full::new(bytes)).unwrap()); + } + *ready = true; + cvar.notify_one(); + + Ok(()) } } @@ -510,7 +513,9 @@ impl Stream { #[inline] pub fn from_owned_string(string: String, arena: &mut Arena) -> Stream { Stream::Byte(arena_alloc!( - StreamLayout::new(CharReader::new(ByteStream(Cursor::new(string.into_bytes())))), + StreamLayout::new(CharReader::new(ByteStream(Cursor::new( + string.into_bytes() + )))), arena )) } @@ -546,7 +551,7 @@ impl Stream { #[cfg(feature = "http")] ArenaHeaderTag::HttpReadStream => Stream::HttpRead(TypedArenaPtr::new(ptr as *mut _)), #[cfg(feature = "http")] - ArenaHeaderTag::HttpWriteStream => Stream::HttpWrite(TypedArenaPtr::new(ptr as *mut _)), + ArenaHeaderTag::HttpWriteStream => Stream::HttpWrite(TypedArenaPtr::new(ptr as *mut _)), ArenaHeaderTag::ReadlineStream => Stream::Readline(TypedArenaPtr::new(ptr as *mut _)), ArenaHeaderTag::StaticStringStream => { Stream::StaticString(TypedArenaPtr::new(ptr as *mut _)) @@ -603,7 +608,7 @@ impl Stream { #[cfg(feature = "http")] Stream::HttpRead(ptr) => ptr.header_ptr(), #[cfg(feature = "http")] - Stream::HttpWrite(ptr) => ptr.header_ptr(), + Stream::HttpWrite(ptr) => ptr.header_ptr(), Stream::Null(_) => ptr::null(), Stream::Readline(ptr) => ptr.header_ptr(), Stream::StandardOutput(ptr) => ptr.header_ptr(), @@ -728,14 +733,14 @@ impl CharRead for Stream { Stream::StaticString(src) => (*src).peek_char(), Stream::Byte(cursor) => (*cursor).peek_char(), #[cfg(feature = "http")] - Stream::HttpWrite(_) => Some(Err(std::io::Error::new( + Stream::HttpWrite(_) => Some(Err(std::io::Error::new( ErrorKind::PermissionDenied, StreamError::ReadFromOutputStream, ))), - Stream::OutputFile(_) | - Stream::StandardError(_) | - Stream::StandardOutput(_) | - Stream::Null(_) => Some(Err(std::io::Error::new( + Stream::OutputFile(_) + | Stream::StandardError(_) + | Stream::StandardOutput(_) + | Stream::Null(_) => Some(Err(std::io::Error::new( ErrorKind::PermissionDenied, StreamError::ReadFromOutputStream, ))), @@ -754,14 +759,14 @@ impl CharRead for Stream { Stream::StaticString(src) => (*src).read_char(), Stream::Byte(cursor) => (*cursor).read_char(), #[cfg(feature = "http")] - Stream::HttpWrite(_) => Some(Err(std::io::Error::new( + Stream::HttpWrite(_) => Some(Err(std::io::Error::new( ErrorKind::PermissionDenied, StreamError::ReadFromOutputStream, ))), - Stream::OutputFile(_) | - Stream::StandardError(_) | - Stream::StandardOutput(_) | - Stream::Null(_) => Some(Err(std::io::Error::new( + Stream::OutputFile(_) + | Stream::StandardError(_) + | Stream::StandardOutput(_) + | Stream::Null(_) => Some(Err(std::io::Error::new( ErrorKind::PermissionDenied, StreamError::ReadFromOutputStream, ))), @@ -780,11 +785,11 @@ impl CharRead for Stream { Stream::StaticString(src) => src.put_back_char(c), Stream::Byte(cursor) => cursor.put_back_char(c), #[cfg(feature = "http")] - Stream::HttpWrite(_) => {} - Stream::OutputFile(_) | - Stream::StandardError(_) | - Stream::StandardOutput(_) | - Stream::Null(_) => {} + Stream::HttpWrite(_) => {} + Stream::OutputFile(_) + | Stream::StandardError(_) + | Stream::StandardOutput(_) + | Stream::Null(_) => {} } } @@ -800,11 +805,11 @@ impl CharRead for Stream { Stream::StaticString(ref mut src) => src.consume(nread), Stream::Byte(ref mut cursor) => cursor.consume(nread), #[cfg(feature = "http")] - Stream::HttpWrite(_) => {} - Stream::OutputFile(_) | - Stream::StandardError(_) | - Stream::StandardOutput(_) | - Stream::Null(_) => {} + Stream::HttpWrite(_) => {} + Stream::OutputFile(_) + | Stream::StandardError(_) + | Stream::StandardOutput(_) + | Stream::Null(_) => {} } } } @@ -823,17 +828,17 @@ impl Read for Stream { Stream::StaticString(src) => (*src).read(buf), Stream::Byte(cursor) => (*cursor).read(buf), #[cfg(feature = "http")] - Stream::HttpWrite(_) => Err(std::io::Error::new( + Stream::HttpWrite(_) => Err(std::io::Error::new( ErrorKind::PermissionDenied, StreamError::ReadFromOutputStream, )), Stream::OutputFile(_) - | Stream::StandardError(_) - | Stream::StandardOutput(_) - | Stream::Null(_) => Err(std::io::Error::new( - ErrorKind::PermissionDenied, - StreamError::ReadFromOutputStream, - )), + | Stream::StandardError(_) + | Stream::StandardOutput(_) + | Stream::Null(_) => Err(std::io::Error::new( + ErrorKind::PermissionDenied, + StreamError::ReadFromOutputStream, + )), }; bytes_read @@ -851,16 +856,16 @@ impl Write for Stream { Stream::StandardOutput(stream) => stream.write(buf), Stream::StandardError(stream) => stream.write(buf), #[cfg(feature = "http")] - Stream::HttpWrite(ref mut stream) => stream.get_mut().write(buf), + Stream::HttpWrite(ref mut stream) => stream.get_mut().write(buf), #[cfg(feature = "http")] Stream::HttpRead(_) => Err(std::io::Error::new( ErrorKind::PermissionDenied, StreamError::WriteToInputStream, )), - Stream::StaticString(_) | - Stream::Readline(_) | - Stream::InputFile(..) | - Stream::Null(_) => Err(std::io::Error::new( + Stream::StaticString(_) + | Stream::Readline(_) + | Stream::InputFile(..) + | Stream::Null(_) => Err(std::io::Error::new( ErrorKind::PermissionDenied, StreamError::WriteToInputStream, )), @@ -877,16 +882,16 @@ impl Write for Stream { Stream::StandardError(stream) => stream.stream.flush(), Stream::StandardOutput(stream) => stream.stream.flush(), #[cfg(feature = "http")] - Stream::HttpWrite(ref mut stream) => stream.stream.get_mut().flush(), - #[cfg(feature = "http")] + Stream::HttpWrite(ref mut stream) => stream.stream.get_mut().flush(), + #[cfg(feature = "http")] Stream::HttpRead(_) => Err(std::io::Error::new( ErrorKind::PermissionDenied, StreamError::FlushToInputStream, )), - Stream::StaticString(_) | - Stream::Readline(_) | - Stream::InputFile(_) | - Stream::Null(_) => Err(std::io::Error::new( + Stream::StaticString(_) + | Stream::Readline(_) + | Stream::InputFile(_) + | Stream::Null(_) => Err(std::io::Error::new( ErrorKind::PermissionDenied, StreamError::FlushToInputStream, )), @@ -898,8 +903,10 @@ impl Write for Stream { enum StreamError { PeekByteFailed, PeekByteFromNonPeekableStream, - #[allow(unused)] PeekCharFailed, - #[allow(unused)] PeekCharFromNonPeekableStream, + #[allow(unused)] + PeekCharFailed, + #[allow(unused)] + PeekCharFromNonPeekableStream, ReadFromOutputStream, WriteToInputStream, FlushToInputStream, @@ -958,7 +965,11 @@ impl PartialEq for Stream { impl Eq for Stream {} -fn cursor_position(past_end_of_stream: &mut bool, cursor: &Cursor, cursor_len: u64) -> AtEndOfStream { +fn cursor_position( + past_end_of_stream: &mut bool, + cursor: &Cursor, + cursor_len: u64, +) -> AtEndOfStream { let position = cursor.position(); let at_end_of_stream = match position.cmp(&cursor_len) { @@ -984,17 +995,10 @@ impl Stream { Stream::StaticString(string_stream_layout) => { Some(string_stream_layout.stream.stream.position()) } - Stream::InputFile(file_stream) => { - file_stream.position() - } + Stream::InputFile(file_stream) => file_stream.position(), #[cfg(feature = "tls")] - Stream::NamedTls(..) => { - Some(0) - } - Stream::NamedTcp(..) - | Stream::Readline(..) => { - Some(0) - } + Stream::NamedTls(..) => Some(0), + Stream::NamedTcp(..) | Stream::Readline(..) => Some(0), _ => None, }; @@ -1011,7 +1015,11 @@ impl Stream { .. } = &mut **stream_layout; - stream.get_mut().file.seek(SeekFrom::Start(position)).unwrap(); + stream + .get_mut() + .file + .seek(SeekFrom::Start(position)) + .unwrap(); stream.reset_buffer(); // flush the internal buffer. if let Ok(metadata) = stream.get_ref().file.metadata() { @@ -1127,9 +1135,7 @@ impl Stream { } } } - _ => { - AtEndOfStream::Not - } + _ => AtEndOfStream::Not, } } @@ -1153,14 +1159,16 @@ impl Stream { #[cfg(feature = "tls")] Stream::NamedTls(..) => atom!("read_append"), Stream::Byte(_) - | Stream::Readline(_) - | Stream::StaticString(_) - | Stream::InputFile(..) => atom!("read"), + | Stream::Readline(_) + | Stream::StaticString(_) + | Stream::InputFile(..) => atom!("read"), Stream::NamedTcp(..) => atom!("read_append"), Stream::OutputFile(file) if file.is_append => atom!("append"), #[cfg(feature = "http")] Stream::HttpWrite(_) => atom!("write"), - Stream::OutputFile(_) | Stream::StandardError(_) | Stream::StandardOutput(_) => atom!("write"), + Stream::OutputFile(_) | Stream::StandardError(_) | Stream::StandardOutput(_) => { + atom!("write") + } Stream::Null(_) => atom!(""), } } @@ -1182,11 +1190,7 @@ impl Stream { } #[inline] - pub(crate) fn from_tcp_stream( - address: Atom, - tcp_stream: TcpStream, - arena: &mut Arena, - ) -> Self { + pub(crate) fn from_tcp_stream(address: Atom, tcp_stream: TcpStream, arena: &mut Arena) -> Self { tcp_stream.set_read_timeout(None).unwrap(); tcp_stream.set_write_timeout(None).unwrap(); @@ -1234,20 +1238,20 @@ impl Stream { #[cfg(feature = "http")] #[inline] pub(crate) fn from_http_sender( - response: TypedArenaPtr, - status_code: u16, - headers: hyper::HeaderMap, - arena: &mut Arena, + response: TypedArenaPtr, + status_code: u16, + headers: hyper::HeaderMap, + arena: &mut Arena, ) -> Self { - Stream::HttpWrite(arena_alloc!( - StreamLayout::new(CharReader::new(HttpWriteStream { - response, - status_code, - headers, - buffer: Vec::new(), - })), - arena - )) + Stream::HttpWrite(arena_alloc!( + StreamLayout::new(CharReader::new(HttpWriteStream { + response, + status_code, + headers, + buffer: Vec::new(), + })), + arena + )) } #[inline] @@ -1282,11 +1286,9 @@ impl Stream { match stream { Stream::NamedTcp(ref mut tcp_stream) => { tcp_stream.inner_mut().tcp_stream.shutdown(Shutdown::Both) - }, - #[cfg(feature = "tls")] - Stream::NamedTls(ref mut tls_stream) => { - tls_stream.inner_mut().tls_stream.shutdown() } + #[cfg(feature = "tls")] + Stream::NamedTls(ref mut tls_stream) => tls_stream.inner_mut().tls_stream.shutdown(), #[cfg(feature = "http")] Stream::HttpRead(ref mut http_stream) => { unsafe { @@ -1297,14 +1299,14 @@ impl Stream { Ok(()) } #[cfg(feature = "http")] - Stream::HttpWrite(ref mut http_stream) => { + Stream::HttpWrite(ref mut http_stream) => { unsafe { http_stream.set_tag(ArenaHeaderTag::Dropped); std::ptr::drop_in_place(&mut http_stream.inner_mut().buffer as *mut _); } Ok(()) - } + } Stream::InputFile(mut file_stream) => { // close the stream by dropping the inner File. unsafe { @@ -1323,7 +1325,7 @@ impl Stream { Ok(()) } - _ => Ok(()) + _ => Ok(()), } } @@ -1344,10 +1346,10 @@ impl Stream { #[cfg(feature = "http")] Stream::HttpRead(..) => true, Stream::NamedTcp(..) - | Stream::Byte(_) - | Stream::Readline(_) - | Stream::StaticString(_) - | Stream::InputFile(..) => true, + | Stream::Byte(_) + | Stream::Readline(_) + | Stream::StaticString(_) + | Stream::InputFile(..) => true, _ => false, } } @@ -1360,10 +1362,10 @@ impl Stream { #[cfg(feature = "http")] Stream::HttpWrite(..) => true, Stream::StandardError(_) - | Stream::StandardOutput(_) - | Stream::NamedTcp(..) - | Stream::Byte(_) - | Stream::OutputFile(..) => true, + | Stream::StandardOutput(_) + | Stream::NamedTcp(..) + | Stream::Byte(_) + | Stream::OutputFile(..) => true, _ => false, } } @@ -1381,7 +1383,12 @@ impl Stream { return true; } Stream::InputFile(ref mut file_stream) => { - file_stream.stream.get_mut().file.seek(SeekFrom::Start(0)).unwrap(); + file_stream + .stream + .get_mut() + .file + .seek(SeekFrom::Start(0)) + .unwrap(); return true; } Stream::Readline(ref mut readline_stream) => { @@ -1410,17 +1417,13 @@ impl Stream { _ => Err(std::io::Error::new(ErrorKind::UnexpectedEof, "end of file")), } } - Stream::InputFile(ref mut file) => { - match file.peek_byte() { - Some(result) => { - Ok(result?) - } - _ => Err(std::io::Error::new( - ErrorKind::UnexpectedEof, - StreamError::PeekByteFailed, - )), - } - } + Stream::InputFile(ref mut file) => match file.peek_byte() { + Some(result) => Ok(result?), + _ => Err(std::io::Error::new( + ErrorKind::UnexpectedEof, + StreamError::PeekByteFailed, + )), + }, Stream::Readline(ref mut stream) => stream.stream.peek_byte(), Stream::NamedTcp(ref mut stream) => { let mut b = [0u8; 1]; @@ -1663,7 +1666,10 @@ impl MachineState { } } - pub(crate) fn open_parsing_stream(&mut self, mut stream: Stream) -> Result { + pub(crate) fn open_parsing_stream( + &mut self, + mut stream: Stream, + ) -> Result { match stream.peek_char() { None => Ok(stream), // empty stream is handled gracefully by Lexer::eof Some(Err(e)) => Err(ParserError::IO(e)), @@ -1687,7 +1693,7 @@ impl MachineState { arity: usize, ) -> MachineStub { let stub = functor_stub(caller, arity); - let err = self.permission_error( + let err = self.permission_error( perm, err_atom, if let Some(alias) = stream.options().get_alias() { @@ -1723,7 +1729,7 @@ impl MachineState { stub_arity: usize, ) -> MachineStub { let stub = functor_stub(stub_name, stub_arity); - let err = self.permission_error(Permission::Open, atom!("source_sink"), culprit); + let err = self.permission_error(Permission::Open, atom!("source_sink"), culprit); self.error_form(err, stub) } @@ -1847,7 +1853,7 @@ impl MachineState { } }; - let file = match open_options.open(file_spec.as_str()) { + let file = match open_options.open(&*file_spec.as_str()) { Ok(file) => file, Err(err) => { match err.kind() { @@ -1855,15 +1861,18 @@ impl MachineState { // 8.11.5.3j) let stub = functor_stub(atom!("open"), 4); - let err = self.existence_error( - ExistenceError::SourceSink(self[temp_v!(1)]), - ); + let err = + self.existence_error(ExistenceError::SourceSink(self[temp_v!(1)])); return Err(self.error_form(err, stub)); } ErrorKind::PermissionDenied => { // 8.11.5.3k) - return Err(self.open_permission_error(self.registers[1], atom!("open"), 4)); + return Err(self.open_permission_error( + self.registers[1], + atom!("open"), + 4, + )); } _ => { let stub = functor_stub(atom!("open"), 4); diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index 609bcdcd..00cc39c6 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -8,16 +8,15 @@ use num_order::NumOrd; use crate::arena::*; use crate::atom_table::*; -use crate::forms::*; #[cfg(feature = "ffi")] use crate::ffi::*; +use crate::forms::*; use crate::heap_iter::*; use crate::heap_print::*; #[cfg(feature = "http")] -use crate::http::{HttpService, HttpListener, HttpResponse}; +use crate::http::{HttpListener, HttpResponse, HttpService}; use crate::instructions::*; use crate::machine; -use crate::machine::{Machine, VERIFY_ATTR_INTERRUPT_LOC, get_structure_index}; use crate::machine::code_walker::*; use crate::machine::copier::*; use crate::machine::heap::*; @@ -28,12 +27,13 @@ use crate::machine::partial_string::*; use crate::machine::preprocessor::to_op_decl; use crate::machine::stack::*; use crate::machine::streams::*; +use crate::machine::{get_structure_index, Machine, VERIFY_ATTR_INTERRUPT_LOC}; use crate::parser::char_reader::*; use crate::parser::dashu::Integer; use crate::read::*; use crate::types::*; -use rand::{Rng, SeedableRng}; use rand::rngs::StdRng; +use rand::{Rng, SeedableRng}; use ordered_float::OrderedFloat; @@ -55,14 +55,14 @@ use std::hash::{BuildHasher, BuildHasherDefault}; use std::io::{ErrorKind, Read, Write}; use std::iter::{once, FromIterator}; use std::mem; -use std::net::{TcpListener, TcpStream, SocketAddr, ToSocketAddrs}; +use std::net::{SocketAddr, TcpListener, TcpStream, ToSocketAddrs}; use std::num::NonZeroU32; use std::ops::Sub; use std::process; use std::str::FromStr; use chrono::{offset::Local, DateTime}; -#[cfg(not(target_os = "wasi"))] +#[cfg(not(target_arch = "wasm32"))] use cpu_time::ProcessTime; use std::time::{Duration, SystemTime}; @@ -73,8 +73,11 @@ use crossterm::terminal::{disable_raw_mode, enable_raw_mode}; use blake2::{Blake2b, Blake2s}; use ring::rand::{SecureRandom, SystemRandom}; +use ring::{digest, hkdf, pbkdf2}; + +#[cfg(feature = "crypto-full")] use ring::{ - aead, digest, hkdf, pbkdf2, + aead, signature::{self, KeyPair}, }; use ripemd160::{Digest, Ripemd160}; @@ -83,20 +86,20 @@ use sha3::{Sha3_224, Sha3_256, Sha3_384, Sha3_512}; use crrl::{secp256k1, x25519}; #[cfg(feature = "tls")] -use native_tls::{TlsConnector,TlsAcceptor,Identity}; +use native_tls::{Identity, TlsAcceptor, TlsConnector}; use base64; use roxmltree; use select; +use bytes::Buf; +use http_body_util::BodyExt; +#[cfg(feature = "http")] +use hyper::header::{HeaderName, HeaderValue}; #[cfg(feature = "http")] use hyper::server::conn::http1; #[cfg(feature = "http")] -use hyper::header::{HeaderValue, HeaderName}; -#[cfg(feature = "http")] use hyper::{HeaderMap, Method}; -use http_body_util::BodyExt; -use bytes::Buf; #[cfg(feature = "http")] use reqwest::Url; @@ -235,7 +238,12 @@ impl BrentAlgState { } } - fn add_pstr_offset_chars(&mut self, heap: &[HeapCellValue], h: usize, offset: usize) -> Option { + fn add_pstr_offset_chars( + &mut self, + heap: &[HeapCellValue], + h: usize, + offset: usize, + ) -> Option { read_heap_cell!(heap[h], (HeapCellValueTag::CStr, cstr_atom) => { let cstr = PartialString::from(cstr_atom); @@ -269,7 +277,11 @@ impl BrentAlgState { ) } - fn add_pstr_chars_and_step(&mut self, heap: &[HeapCellValue], h: usize) -> Option { + fn add_pstr_chars_and_step( + &mut self, + heap: &[HeapCellValue], + h: usize, + ) -> Option { read_heap_cell!(heap[h], (HeapCellValueTag::PStrOffset, l) => { let (pstr_loc, offset) = pstr_loc_and_offset(heap, l); @@ -507,7 +519,7 @@ impl BrentAlgState { #[derive(Debug)] enum MatchSite { NoMatchVarTail(usize), // no match, we refer to the location of the uninstantiated tail instead. - Match(usize), // a match + Match(usize), // a match } #[derive(Debug)] @@ -626,7 +638,7 @@ impl MachineState { let mut hare = h; let mut tortoise = hare; - for _ in 0 .. lam { + for _ in 0..lam { hare = step(&self.heap, self.heap[hare]); } @@ -672,10 +684,7 @@ impl MachineState { fn skip_max_list_result(&mut self, max_steps: i64) { let search_result = if max_steps == -1 { - BrentAlgState::detect_cycles( - &self.heap, - self.store(self.deref(self.registers[3])), - ) + BrentAlgState::detect_cycles(&self.heap, self.store(self.deref(self.registers[3]))) } else { BrentAlgState::detect_cycles_with_max( &self.heap, @@ -686,7 +695,7 @@ impl MachineState { match search_result { CycleSearchResult::PStrLocation(steps, pstr_loc, offset) => { - let steps = if max_steps > - 1 { + let steps = if max_steps > -1 { std::cmp::min(max_steps, steps as i64) } else { steps as i64 @@ -696,7 +705,8 @@ impl MachineState { let h = self.heap.len(); self.heap.push(pstr_offset_as_cell!(pstr_loc)); - self.heap.push(fixnum_as_cell!(Fixnum::build_with(offset as i64))); + self.heap + .push(fixnum_as_cell!(Fixnum::build_with(offset as i64))); pstr_loc_as_cell!(h) } else { @@ -714,9 +724,10 @@ impl MachineState { self.heap.push(string_as_cstr_cell!(cstr_atom)); self.heap.push(pstr_offset_as_cell!(h)); - self.heap.push(fixnum_as_cell!(Fixnum::build_with(n as i64))); + self.heap + .push(fixnum_as_cell!(Fixnum::build_with(n as i64))); - pstr_loc_as_cell!(h+1) + pstr_loc_as_cell!(h + 1) } else { string_as_cstr_cell!(cstr_atom) }; @@ -805,12 +816,7 @@ impl MachineState { } } - let outcome = heap_loc_as_cell!( - iter_to_heap_list( - &mut self.heap, - seen_set.into_iter(), - ) - ); + let outcome = heap_loc_as_cell!(iter_to_heap_list(&mut self.heap, seen_set.into_iter(),)); unify_fn!(*self, list_of_vars, outcome); } @@ -825,7 +831,11 @@ impl MachineState { self.block } - pub(crate) fn copy_findall_solution(&mut self, lh_offset: usize, copy_target: HeapCellValue) -> usize { + pub(crate) fn copy_findall_solution( + &mut self, + lh_offset: usize, + copy_target: HeapCellValue, + ) -> usize { let threshold = self.lifted_heap.len() - lh_offset; let mut copy_ball_term = @@ -868,7 +878,7 @@ impl MachineState { let key = (*name, *arity); if let Some((last_idx, _, _)) = indices.code_dir.get_full(&key) { - for idx in last_idx + 1 .. indices.code_dir.len() { + for idx in last_idx + 1..indices.code_dir.len() { let ((name, arity), idx) = indices.code_dir.get_index(idx).unwrap(); if idx.is_undefined() { @@ -883,7 +893,7 @@ impl MachineState { let key = (*name, *fixity); if let Some((last_idx, _, _)) = op_dir.get_full(&key) { - if let Some(((name, fixity), _)) = op_dir.get_index(last_idx+1) { + if let Some(((name, fixity), _)) = op_dir.get_index(last_idx + 1) { return Some(DBRef::Op(*name, *fixity, *op_dir)); } } @@ -905,18 +915,15 @@ impl MachineState { let add_dot = !string.ends_with("."); let cursor = std::io::Cursor::new(string); - let iter = std::io::Read::chain( - cursor, - { - let mut dot_buf: [u8; '.'.len_utf8()] = [0u8]; + let iter = std::io::Read::chain(cursor, { + let mut dot_buf: [u8; '.'.len_utf8()] = [0u8]; - if add_dot { - '.'.encode_utf8(&mut dot_buf); - } + if add_dot { + '.'.encode_utf8(&mut dot_buf); + } - std::io::Cursor::new(dot_buf) - }, - ); + std::io::Cursor::new(dot_buf) + }); let mut lexer = Lexer::new(CharReader::new(iter), self); let mut tokens = vec![]; @@ -991,7 +998,11 @@ impl MachineState { Ok(()) } - pub(crate) fn call_continuation_chunk(&mut self, chunk: HeapCellValue, return_p: usize) -> usize { + pub(crate) fn call_continuation_chunk( + &mut self, + chunk: HeapCellValue, + return_p: usize, + ) -> usize { let chunk = self.store(self.deref(chunk)); let s = chunk.get_value() as usize; @@ -1104,17 +1115,15 @@ impl MachineState { let addr = self.store(self.deref(addr)); match Number::try_from(addr) { - Ok(Number::Fixnum(n)) => { - match u32::try_from(n.get_num()) { - Ok(n) => { - if let Some(c) = std::char::from_u32(n) { - string.push(c); - continue; - } + Ok(Number::Fixnum(n)) => match u32::try_from(n.get_num()) { + Ok(n) => { + if let Some(c) = std::char::from_u32(n) { + string.push(c); + continue; } - _ => {} } - } + _ => {} + }, Ok(Number::Integer(n)) => { let n: u32 = (&*n).try_into().unwrap(); if let Some(c) = std::char::from_u32(n) { @@ -1178,7 +1187,8 @@ impl Machine { if let HeapCellValueTag::AttrVar = attr_var.get_tag() { let attr_var_loc = attr_var.get_value() as usize; self.machine_st.heap[attr_var_loc] = heap_loc_as_cell!(attr_var_loc); - self.machine_st.trail(TrailRef::Ref(Ref::attr_var(attr_var_loc))); + self.machine_st + .trail(TrailRef::Ref(Ref::attr_var(attr_var_loc))); } } @@ -1195,10 +1205,10 @@ impl Machine { CompilationTarget::Module(module_name) }; - let skeleton = self.indices.get_predicate_skeleton( - &compilation_target, - &key, - ).unwrap(); + let skeleton = self + .indices + .get_predicate_skeleton(&compilation_target, &key) + .unwrap(); if self.machine_st.b > self.machine_st.e { let or_frame = self.machine_st.stack.index_or_frame(self.machine_st.b); @@ -1211,12 +1221,14 @@ impl Machine { let p = or_frame.prelude.biip as usize - 1; match &indexed_choice[p] { - &IndexedChoiceInstruction::Try(offset) | - &IndexedChoiceInstruction::Retry(offset) => { + &IndexedChoiceInstruction::Try(offset) + | &IndexedChoiceInstruction::Retry(offset) + | &IndexedChoiceInstruction::DefaultRetry(offset) => { let clause_clause_loc = skeleton.core.clause_clause_locs[p]; (clause_clause_loc, bp + offset) } - &IndexedChoiceInstruction::Trust(_) => { + &IndexedChoiceInstruction::Trust(_) + | &IndexedChoiceInstruction::DefaultTrust(_) => { unreachable!() } } @@ -1226,7 +1238,7 @@ impl Machine { } } } - _ => unreachable!() + _ => unreachable!(), } } else { let module_name = match compilation_target { @@ -1234,7 +1246,8 @@ impl Machine { CompilationTarget::Module(target) => target, }; - let bp = self.indices + let bp = self + .indices .get_predicate_code_index(atom!("$clause"), 2, module_name) .and_then(|idx| idx.local()) .unwrap(); @@ -1242,10 +1255,12 @@ impl Machine { macro_rules! extract_ptr { ($ptr: expr) => { match $ptr { - IndexingCodePtr::External(p) => return ( - skeleton.core.clause_clause_locs.back().cloned().unwrap(), - bp + p, - ), + IndexingCodePtr::External(p) => { + return ( + skeleton.core.clause_clause_locs.back().cloned().unwrap(), + bp + p, + ) + } IndexingCodePtr::Internal(boip) => boip, _ => unreachable!(), } @@ -1255,8 +1270,18 @@ impl Machine { match &self.code[bp] { &Instruction::IndexingCode(ref indexing_code) => { let indexing_code_ptr = match &indexing_code[0] { - &IndexingLine::Indexing(IndexingInstruction::SwitchOnTerm(_, _, c, _, s)) => { - if key.1 > 0 { s } else { c } + &IndexingLine::Indexing(IndexingInstruction::SwitchOnTerm( + _, + _, + c, + _, + s, + )) => { + if key.1 > 0 { + s + } else { + c + } } _ => { unreachable!() @@ -1286,7 +1311,10 @@ impl Machine { } } _ => { - return (skeleton.core.clause_clause_locs.back().cloned().unwrap(), bp); + return ( + skeleton.core.clause_clause_locs.back().cloned().unwrap(), + bp, + ); } } } @@ -1294,7 +1322,8 @@ impl Machine { #[inline(always)] pub(crate) fn deref_register(&self, i: usize) -> HeapCellValue { - self.machine_st.store(self.machine_st.deref(self.machine_st.registers[i])) + self.machine_st + .store(self.machine_st.deref(self.machine_st.registers[i])) } #[inline(always)] @@ -1304,12 +1333,13 @@ impl Machine { call_at_index: impl Fn(&mut Machine, Atom, usize, IndexPtr) -> CallResult, ) -> CallResult { let arity = arity - 1; - let (mut module_name, mut goal) = self.machine_st.strip_module( - self.machine_st.registers[1], - heap_loc_as_cell!(0), - ); + let (mut module_name, mut goal) = self + .machine_st + .strip_module(self.machine_st.registers[1], heap_loc_as_cell!(0)); - let load_registers = |machine_st: &mut MachineState, goal: HeapCellValue, goal_arity: usize| { + let load_registers = |machine_st: &mut MachineState, + goal: HeapCellValue, + goal_arity: usize| { read_heap_cell!(goal, (HeapCellValueTag::Str | HeapCellValueTag::Atom, s) => { if goal_arity > 1 { @@ -1362,10 +1392,12 @@ impl Machine { } else { if is_internal_call { debug_assert_eq!(goal.get_tag(), HeapCellValueTag::Str); - goal = self.machine_st.heap[goal.get_value() as usize+1]; + goal = self.machine_st.heap[goal.get_value() as usize + 1]; (module_name, goal) = self.machine_st.strip_module(goal, module_name); - if let Some((inner_name, inner_arity)) = self.machine_st.name_and_arity_from_heap(goal) { + if let Some((inner_name, inner_arity)) = + self.machine_st.name_and_arity_from_heap(goal) + { arity -= goal_arity; (name, goal_arity) = (inner_name, inner_arity); arity += goal_arity; @@ -1384,7 +1416,8 @@ impl Machine { cell_as_atom!(module_name) }; - self.indices.get_predicate_code_index(name, arity, module_name) + self.indices + .get_predicate_code_index(name, arity, module_name) } }); @@ -1409,7 +1442,8 @@ impl Machine { // complete_partial_goal prior to goal_expansion. let mut supp_vars = IndexSet::with_hasher(FxBuildHasher::default()); - self.machine_st.variable_set(&mut supp_vars, self.machine_st.registers[2]); + self.machine_st + .variable_set(&mut supp_vars, self.machine_st.registers[2]); struct GoalAnalysisResult { is_simple_goal: bool, @@ -1505,7 +1539,7 @@ impl Machine { } } (HeapCellValueTag::Char, c) => { - let name = self.machine_st.atom_tbl.build_with(&c.to_string()); + let name = AtomTable::build_with(&self.machine_st.atom_tbl,&c.to_string()); let h = self.machine_st.heap.len(); self.machine_st.heap.push(atom_as_cell!(name)); @@ -1531,12 +1565,14 @@ impl Machine { let expanded_term = if result.is_simple_goal { let idx = self.get_or_insert_qualified_code_index(module_name, result.key); - self.machine_st.heap.push(untyped_arena_ptr_as_cell!(UntypedArenaPtr::from(idx))); + self.machine_st + .heap + .push(untyped_arena_ptr_as_cell!(UntypedArenaPtr::from(idx))); result.goal } else { // all supp_vars must appear later! let vars = IndexSet::>::from_iter( - result.expanded_vars.difference(&result.supp_vars).cloned() + result.expanded_vars.difference(&result.supp_vars).cloned(), ); let vars: Vec<_> = vars @@ -1571,7 +1607,9 @@ impl Machine { &mut self.machine_st.arena, ); - self.machine_st.heap.push(untyped_arena_ptr_as_cell!(UntypedArenaPtr::from(idx))); + self.machine_st + .heap + .push(untyped_arena_ptr_as_cell!(UntypedArenaPtr::from(idx))); str_loc_as_cell!(h) } @@ -1586,15 +1624,13 @@ impl Machine { #[inline(always)] pub(crate) fn is_expanded_or_inlined(&self) -> bool { - let (_module_loc, qualified_goal) = self.machine_st.strip_module( - self.machine_st.registers[1], - empty_list_as_cell!(), - ); + let (_module_loc, qualified_goal) = self + .machine_st + .strip_module(self.machine_st.registers[1], empty_list_as_cell!()); if HeapCellValueTag::Str == qualified_goal.get_tag() { let s = qualified_goal.get_value() as usize; - let (name, arity) = cell_as_atom_cell!(self.machine_st.heap[s]) - .get_name_and_arity(); + let (name, arity) = cell_as_atom_cell!(self.machine_st.heap[s]).get_name_and_arity(); if name == atom!("$call") { return false; @@ -1620,26 +1656,17 @@ impl Machine { #[inline(always)] pub(crate) fn strip_module(&mut self) { - let (module_loc, qualified_goal) = self.machine_st.strip_module( - self.machine_st.registers[1], - self.machine_st.registers[2], - ); + let (module_loc, qualified_goal) = self + .machine_st + .strip_module(self.machine_st.registers[1], self.machine_st.registers[2]); let target_module_loc = self.machine_st.registers[2]; - unify_fn!( - &mut self.machine_st, - module_loc, - target_module_loc - ); + unify_fn!(&mut self.machine_st, module_loc, target_module_loc); let target_qualified_goal = self.machine_st.registers[3]; - unify_fn!( - &mut self.machine_st, - qualified_goal, - target_qualified_goal - ); + unify_fn!(&mut self.machine_st, qualified_goal, target_qualified_goal); } #[inline(always)] @@ -1649,26 +1676,30 @@ impl Machine { // the first two arguments don't belong to the containing call/N. let arity = arity - 2; - let (name, narity, s) = self.machine_st.setup_call_n_init_goal_info( - qualified_goal, - arity, - )?; + let (name, narity, s) = self + .machine_st + .setup_call_n_init_goal_info(qualified_goal, arity)?; // assemble goal from pre-loaded (narity) and supplementary // (arity) arguments. let target_goal = if arity == 0 { qualified_goal - } else { // if narity + arity > 0 { + } else { + // if narity + arity > 0 { let h = self.machine_st.heap.len(); - self.machine_st.heap.push(atom_as_cell!(name, narity + arity)); + self.machine_st + .heap + .push(atom_as_cell!(name, narity + arity)); - for idx in 1 .. narity + 1 { + for idx in 1..narity + 1 { self.machine_st.heap.push(self.machine_st.heap[s + idx]); } - for idx in 1 .. arity + 1 { - self.machine_st.heap.push(self.machine_st.registers[2 + idx]); + for idx in 1..arity + 1 { + self.machine_st + .heap + .push(self.machine_st.registers[2 + idx]); } if narity + arity > 0 { @@ -1680,11 +1711,7 @@ impl Machine { let target_qualified_goal = self.machine_st.registers[1]; - unify_fn!( - &mut self.machine_st, - target_goal, - target_qualified_goal - ); + unify_fn!(&mut self.machine_st, target_goal, target_qualified_goal); Ok(()) } @@ -1751,9 +1778,9 @@ impl Machine { #[inline(always)] pub(crate) fn is_reset_cont_marker(&self, p: usize) -> bool { match &self.code[p] { - &Instruction::CallResetContinuationMarker | - &Instruction::ExecuteResetContinuationMarker => true, - _ => false + &Instruction::CallResetContinuationMarker + | &Instruction::ExecuteResetContinuationMarker => true, + _ => false, } } @@ -1790,13 +1817,10 @@ impl Machine { match hostname::get().ok() { Some(host) => match host.to_str() { Some(host) => { - let hostname = self.machine_st.atom_tbl.build_with(host); + let hostname = AtomTable::build_with(&self.machine_st.atom_tbl, host); let a1 = self.deref_register(1); - self.machine_st.unify_atom( - hostname, - a1 - ); + self.machine_st.unify_atom(hostname, a1); return; } @@ -1880,15 +1904,19 @@ impl Machine { #[inline(always)] pub(crate) fn directory_files(&mut self) -> CallResult { - if let Some(dir) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { - let path = std::path::Path::new(dir.as_str()); + if let Some(dir) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { + let str = dir.as_str(); + let path = std::path::Path::new(&*str); let mut files = Vec::new(); if let Ok(entries) = fs::read_dir(path) { for entry in entries { if let Ok(entry) = entry { if let Some(name) = entry.file_name().to_str() { - let name = self.machine_st.atom_tbl.build_with(name); + let name = AtomTable::build_with(&self.machine_st.atom_tbl, name); files.push(atom_as_cstr_cell!(name)); continue; @@ -1902,9 +1930,10 @@ impl Machine { return Err(err); } - let files_list = heap_loc_as_cell!( - iter_to_heap_list(&mut self.machine_st.heap, files.into_iter()) - ); + let files_list = heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + files.into_iter() + )); unify!(self.machine_st, self.machine_st.registers[2], files_list); return Ok(()); @@ -1917,15 +1946,22 @@ impl Machine { #[inline(always)] pub(crate) fn file_size(&mut self) { - if let Some(file) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { + if let Some(file) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { let len = Number::arena_from( - fs::metadata(file.as_str()).unwrap().len(), + fs::metadata(&*file.as_str()).unwrap().len(), &mut self.machine_st.arena, ); match len { - Number::Fixnum(n) => self.machine_st.unify_fixnum(n, self.machine_st.registers[2]), - Number::Integer(n) => self.machine_st.unify_big_int(n, self.machine_st.registers[2]), + Number::Fixnum(n) => self + .machine_st + .unify_fixnum(n, self.machine_st.registers[2]), + Number::Integer(n) => self + .machine_st + .unify_big_int(n, self.machine_st.registers[2]), _ => unreachable!(), } } else { @@ -1935,10 +1971,15 @@ impl Machine { #[inline(always)] pub(crate) fn file_exists(&mut self) { - if let Some(file) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { + if let Some(file) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { let file_str = file.as_str(); - if !std::path::Path::new(file_str).exists() || !fs::metadata(file_str).unwrap().is_file() { + if !std::path::Path::new(&*file_str).exists() + || !fs::metadata(&*file_str).unwrap().is_file() + { self.machine_st.fail = true; } } else { @@ -1948,10 +1989,15 @@ impl Machine { #[inline(always)] pub(crate) fn directory_exists(&mut self) { - if let Some(dir) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { + if let Some(dir) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { let dir_str = dir.as_str(); - if !std::path::Path::new(dir_str).exists() || !fs::metadata(dir_str).unwrap().is_dir() { + if !std::path::Path::new(&*dir_str).exists() + || !fs::metadata(&*dir_str).unwrap().is_dir() + { self.machine_st.fail = true; } } else { @@ -1961,10 +2007,13 @@ impl Machine { #[inline(always)] pub(crate) fn file_time(&mut self) { - if let Some(file) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { + if let Some(file) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { let which = cell_as_atom!(self.deref_register(2)); - if let Ok(md) = fs::metadata(file.as_str()) { + if let Ok(md) = fs::metadata(&*file.as_str()) { if let Ok(time) = match which { atom!("modification") => md.modified(), atom!("access") => md.accessed(), @@ -1975,10 +2024,8 @@ impl Machine { } { let chars_atom = self.systemtime_to_timestamp(time); - self.machine_st.unify_complete_string( - chars_atom, - self.machine_st.registers[3], - ); + self.machine_st + .unify_complete_string(chars_atom, self.machine_st.registers[3]); return; } @@ -1990,13 +2037,17 @@ impl Machine { #[inline(always)] pub(crate) fn directory_separator(&mut self) { - self.machine_st.unify_char(std::path::MAIN_SEPARATOR, self.machine_st.registers[1]); + self.machine_st + .unify_char(std::path::MAIN_SEPARATOR, self.machine_st.registers[1]); } #[inline(always)] pub(crate) fn make_directory(&mut self) { - if let Some(dir) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { - match fs::create_dir(dir.as_str()) { + if let Some(dir) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { + match fs::create_dir(&*dir.as_str()) { Ok(_) => {} _ => { self.machine_st.fail = true; @@ -2009,9 +2060,11 @@ impl Machine { #[inline(always)] pub(crate) fn make_directory_path(&mut self) { - if let Some(dir) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { - - match fs::create_dir_all(dir.as_str()) { + if let Some(dir) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { + match fs::create_dir_all(&*dir.as_str()) { Ok(_) => {} _ => { self.machine_st.fail = true; @@ -2024,8 +2077,11 @@ impl Machine { #[inline(always)] pub(crate) fn delete_file(&mut self) { - if let Some(file) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { - match fs::remove_file(file.as_str()) { + if let Some(file) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { + match fs::remove_file(&*file.as_str()) { Ok(_) => {} _ => { self.machine_st.fail = true; @@ -2036,9 +2092,15 @@ impl Machine { #[inline(always)] pub(crate) fn rename_file(&mut self) { - if let Some(file) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { - if let Some(renamed) = self.machine_st.value_to_str_like(self.machine_st.registers[2]) { - if fs::rename(file.as_str(), renamed.as_str()).is_ok() { + if let Some(file) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { + if let Some(renamed) = self + .machine_st + .value_to_str_like(self.machine_st.registers[2]) + { + if fs::rename(&*file.as_str(), &*renamed.as_str()).is_ok() { return; } } @@ -2049,21 +2111,30 @@ impl Machine { #[inline(always)] pub(crate) fn file_copy(&mut self) { - if let Some(file) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { - if let Some(copied) = self.machine_st.value_to_str_like(self.machine_st.registers[2]) { - if fs::copy(file.as_str(), copied.as_str()).is_ok() { - return; - } - } - } + if let Some(file) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { + if let Some(copied) = self + .machine_st + .value_to_str_like(self.machine_st.registers[2]) + { + if fs::copy(&*file.as_str(), &*copied.as_str()).is_ok() { + return; + } + } + } - self.machine_st.fail = true; + self.machine_st.fail = true; } #[inline(always)] pub(crate) fn delete_directory(&mut self) { - if let Some(dir) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { - match fs::remove_dir(dir.as_str()) { + if let Some(dir) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { + match fs::remove_dir(&*dir.as_str()) { Ok(_) => {} _ => { self.machine_st.fail = true; @@ -2086,13 +2157,10 @@ impl Machine { } }; - let current_atom = self.machine_st.atom_tbl.build_with(¤t); + let current_atom = AtomTable::build_with(&self.machine_st.atom_tbl, ¤t); let a1 = self.deref_register(1); - self.machine_st.unify_complete_string( - current_atom, - a1 - ); + self.machine_st.unify_complete_string(current_atom, a1); if self.machine_st.fail { return Ok(()); @@ -2101,7 +2169,7 @@ impl Machine { let target = self.deref_register(2); if let Some(next) = self.machine_st.value_to_str_like(target) { - if env::set_current_dir(std::path::Path::new(next.as_str())).is_ok() { + if env::set_current_dir(std::path::Path::new(&*next.as_str())).is_ok() { return Ok(()); } } @@ -2113,8 +2181,11 @@ impl Machine { #[inline(always)] pub(crate) fn path_canonical(&mut self) -> CallResult { - if let Some(path) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { - match fs::canonicalize(path.as_str()) { + if let Some(path) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { + match fs::canonicalize(&*path.as_str()) { Ok(canonical) => { let cs = match canonical.to_str() { Some(s) => s, @@ -2127,18 +2198,14 @@ impl Machine { } }; - let canonical_atom = self.machine_st.atom_tbl.build_with(cs); + let canonical_atom = AtomTable::build_with(&self.machine_st.atom_tbl, cs); let a2 = self.deref_register(2); - self.machine_st.unify_complete_string( - canonical_atom, - a2 - ); + self.machine_st.unify_complete_string(canonical_atom, a2); return Ok(()); } - _ => { - } + _ => {} } } @@ -2190,13 +2257,13 @@ impl Machine { let atom_cell = match str_like { AtomOrString::Atom(atom) => { atom_as_cell!(if atom == atom!("[]") { - self.machine_st.atom_tbl.build_with("") + AtomTable::build_with(&self.machine_st.atom_tbl, "") } else { atom }) } AtomOrString::String(string) => { - atom_as_cell!(self.machine_st.atom_tbl.build_with(&string)) + atom_as_cell!(AtomTable::build_with(&self.machine_st.atom_tbl, &string)) } }; @@ -2227,6 +2294,7 @@ impl Machine { } (HeapCellValueTag::Atom, (name, arity)) => { if arity == 0 { + let name = name.as_str(); let iter = name.chars() .map(|c| fixnum_as_cell!(Fixnum::build_with(c as i64))); @@ -2241,6 +2309,7 @@ impl Machine { .get_name_and_arity(); if arity == 0 { + let name = name.as_str(); let iter = name.chars() .map(|c| fixnum_as_cell!(Fixnum::build_with(c as i64))); @@ -2256,7 +2325,7 @@ impl Machine { match self.machine_st.try_from_list(self.machine_st.registers[2], stub_gen) { Ok(addrs) => { let string = self.machine_st.codes_to_string(addrs.into_iter(), stub_gen)?; - let atom = self.machine_st.atom_tbl.build_with(&string); + let atom = AtomTable::build_with(&self.machine_st.atom_tbl, &string); self.machine_st.bind(a1.as_var().unwrap(), atom_as_cell!(atom)); } @@ -2283,7 +2352,7 @@ impl Machine { .get_name_and_arity(); if arity == 0 { - name.chars().count() as i64 + name.as_str().chars().count() as i64 } else { self.machine_st.fail = true; return; @@ -2291,7 +2360,7 @@ impl Machine { } (HeapCellValueTag::Atom, (name, arity)) => { if arity == 0 { - name.chars().count() as i64 + name.as_str().chars().count() as i64 } else { self.machine_st.fail = true; return; @@ -2306,10 +2375,7 @@ impl Machine { ); let a2 = self.deref_register(2); - self.machine_st.unify_fixnum( - Fixnum::build_with(len), - a2, - ); + self.machine_st.unify_fixnum(Fixnum::build_with(len), a2); } #[inline(always)] @@ -2343,18 +2409,13 @@ impl Machine { let a1 = self.deref_register(1); let atom_or_string = self.machine_st.value_to_str_like(a1).unwrap(); - self.machine_st.parse_number_from_string( - atom_or_string.as_str(), - &self.indices, - stub_gen, - ) + self.machine_st + .parse_number_from_string(&*atom_or_string.as_str(), &self.indices, stub_gen) } #[inline(always)] pub(crate) fn create_partial_string(&mut self) { - let atom = cell_as_atom!( - self.deref_register(1) - ); + let atom = cell_as_atom!(self.deref_register(1)); if atom == atom!("") { self.machine_st.fail = true; @@ -2364,13 +2425,17 @@ impl Machine { let pstr_h = self.machine_st.heap.len(); self.machine_st.heap.push(pstr_as_cell!(atom)); - self.machine_st.heap.push(heap_loc_as_cell!(pstr_h+1)); + self.machine_st.heap.push(heap_loc_as_cell!(pstr_h + 1)); - unify!(self.machine_st, self.machine_st.registers[2], pstr_loc_as_cell!(pstr_h)); + unify!( + self.machine_st, + self.machine_st.registers[2], + pstr_loc_as_cell!(pstr_h) + ); if !self.machine_st.fail { let tail = self.machine_st.registers[3]; - unify!(self.machine_st, tail, heap_loc_as_cell!(pstr_h+1)); + unify!(self.machine_st, tail, heap_loc_as_cell!(pstr_h + 1)); } } @@ -2462,10 +2527,7 @@ impl Machine { let addr = self.deref_register(2); if stream.at_end_of_stream() { - self.machine_st.unify_fixnum( - Fixnum::build_with(-1), - addr, - ); + self.machine_st.unify_fixnum(Fixnum::build_with(-1), addr); if self.machine_st.fail { self.machine_st.fail = false; @@ -2504,7 +2566,8 @@ impl Machine { loop { match stream.peek_byte().map_err(|e| e.kind()) { Ok(b) => { - self.machine_st.unify_fixnum(Fixnum::build_with(b as i64), addr); + self.machine_st + .unify_fixnum(Fixnum::build_with(b as i64), addr); break; } Err(ErrorKind::PermissionDenied) => { @@ -2563,10 +2626,7 @@ impl Machine { if stream.at_end_of_stream() { let end_of_file = atom!("end_of_file"); - self.machine_st.unify_atom( - end_of_file, - a2, - ); + self.machine_st.unify_atom(end_of_file, a2); return Ok(()); } @@ -2598,7 +2658,10 @@ impl Machine { ); loop { - match stream.peek_char().map(|result| result.map_err(|e| e.kind())) { + match stream + .peek_char() + .map(|result| result.map_err(|e| e.kind())) + { Some(Ok(d)) => { self.machine_st.unify_char(d, a2); break; @@ -2657,10 +2720,7 @@ impl Machine { let a2 = self.deref_register(2); if stream.at_end_of_stream() { - self.machine_st.unify_fixnum( - Fixnum::build_with(-1), - a2, - ); + self.machine_st.unify_fixnum(Fixnum::build_with(-1), a2); if self.machine_st.fail { self.machine_st.fail = false; @@ -2712,7 +2772,8 @@ impl Machine { match result.map(|result| result.map_err(|e| e.kind())) { Some(Ok(c)) => { - self.machine_st.unify_fixnum(Fixnum::build_with(c as i64), addr); + self.machine_st + .unify_fixnum(Fixnum::build_with(c as i64), addr); break; } Some(Err(ErrorKind::PermissionDenied)) => { @@ -2745,9 +2806,7 @@ impl Machine { let chs = self.deref_register(2); let string = match Number::try_from(n) { - Ok(Number::Float(OrderedFloat(n))) => { - fmt_float(n) - } + Ok(Number::Float(OrderedFloat(n))) => fmt_float(n), Ok(Number::Fixnum(n)) => n.get_num().to_string(), Ok(Number::Integer(n)) => n.to_string(), Ok(Number::Rational(r)) => { @@ -2761,11 +2820,8 @@ impl Machine { } }; - let chars_atom = self.machine_st.atom_tbl.build_with(&string.trim()); - self.machine_st.unify_complete_string( - chars_atom, - chs, - ); + let chars_atom = AtomTable::build_with(&self.machine_st.atom_tbl, &string.trim()); + self.machine_st.unify_complete_string(chars_atom, chs); } #[inline(always)] @@ -2790,9 +2846,10 @@ impl Machine { } }; - let codes = string.trim().chars().map(|c| { - fixnum_as_cell!(Fixnum::build_with(c as i64)) - }); + let codes = string + .trim() + .chars() + .map(|c| fixnum_as_cell!(Fixnum::build_with(c as i64))); let h = iter_to_heap_list(&mut self.machine_st.heap, codes); unify!(self.machine_st, heap_loc_as_cell!(h), chs); @@ -2802,13 +2859,22 @@ impl Machine { pub(crate) fn codes_to_number(&mut self) -> CallResult { let stub_gen = || functor_stub(atom!("number_codes"), 2); - match self.machine_st.try_from_list(self.machine_st.registers[1], stub_gen) { + match self + .machine_st + .try_from_list(self.machine_st.registers[1], stub_gen) + { Err(e) => { return Err(e); } Ok(addrs) => { - let string = self.machine_st.codes_to_string(addrs.into_iter(), stub_gen)?; - self.machine_st.parse_number_from_string(string.as_str(), &self.indices, stub_gen)?; + let string = self + .machine_st + .codes_to_string(addrs.into_iter(), stub_gen)?; + self.machine_st.parse_number_from_string( + string.as_str(), + &self.indices, + stub_gen, + )?; } } @@ -2881,10 +2947,8 @@ impl Machine { } ); - self.machine_st.unify_fixnum( - Fixnum::build_with(c as i64), - a2, - ); + self.machine_st + .unify_fixnum(Fixnum::build_with(c as i64), a2); Ok(()) } @@ -2916,98 +2980,95 @@ impl Machine { self.machine_st.fail = true; // This predicate fails by default. read_heap_cell!(a2, - (HeapCellValueTag::Atom, (chars, _arity)) => { - macro_rules! macro_check { - ($id:ident, $name:expr) => { - if $id!(c) && chars == $name { - self.machine_st.fail = false; - return; - } - }; - } - - macro_rules! method_check { - ($id:ident, $name:expr) => { - if c.$id() && chars == $name { - self.machine_st.fail = false; - return; - } - }; - } - - macro_check!(alpha_char, atom!("alpha")); - method_check!(is_alphabetic, atom!("alphabetic")); - method_check!(is_alphanumeric, atom!("alphanumeric")); - macro_check!(alpha_numeric_char, atom!("alnum")); - method_check!(is_ascii, atom!("ascii")); - method_check!(is_ascii_punctuation, atom!("ascii_punctuation")); - method_check!(is_ascii_graphic, atom!("ascii_graphic")); - // macro_check!(backslash_char, atom!("backslash")); - // macro_check!(back_quote_char, atom!("back_quote")); - macro_check!(binary_digit_char, atom!("binary_digit")); - // macro_check!(capital_letter_char, atom!("upper")); - // macro_check!(comment_1_char, "comment_1"); - // macro_check!(comment_2_char, "comment_2"); - method_check!(is_control, atom!("control")); - // macro_check!(cut_char, atom!("cut")); - macro_check!(decimal_digit_char, atom!("decimal_digit")); - // macro_check!(decimal_point_char, atom!("decimal_point")); - // macro_check!(double_quote_char, atom!("double_quote")); - macro_check!(exponent_char, atom!("exponent")); - macro_check!(graphic_char, atom!("graphic")); - macro_check!(graphic_token_char, atom!("graphic_token")); - macro_check!(hexadecimal_digit_char, atom!("hexadecimal_digit")); - macro_check!(layout_char, atom!("layout")); - method_check!(is_lowercase, atom!("lower")); - macro_check!(meta_char, atom!("meta")); - // macro_check!(new_line_char, atom!("new_line")); - method_check!(is_numeric, atom!("numeric")); - macro_check!(octal_digit_char, atom!("octal_digit")); - macro_check!(octet_char, atom!("octet")); - macro_check!(prolog_char, atom!("prolog")); - // macro_check!(semicolon_char, atom!("semicolon")); - macro_check!(sign_char, atom!("sign")); - // macro_check!(single_quote_char, atom!("single_quote")); - // macro_check!(small_letter_char, atom!("lower")); - macro_check!(solo_char, atom!("solo")); - // macro_check!(space_char, atom!("space")); - macro_check!(symbolic_hexadecimal_char, atom!("symbolic_hexadecimal")); - macro_check!(symbolic_control_char, atom!("symbolic_control")); - method_check!(is_uppercase, atom!("upper")); - // macro_check!(variable_indicator_char, atom!("variable_indicator")); - method_check!(is_whitespace, atom!("whitespace")); - } - (HeapCellValueTag::Str, s) => { - let (name, arity) = cell_as_atom_cell!(self.machine_st.heap[s]) - .get_name_and_arity(); - - match (name, arity) { - (atom!("to_upper"), 1) => { - let reg = self.machine_st.deref(self.machine_st.heap[s+1]); - let atom = self.machine_st.atom_tbl.build_with(&c.to_uppercase().to_string()); - let upper_str = string_as_cstr_cell!(atom); - unify!(self.machine_st, reg, upper_str); - self.machine_st.fail = false; - } - (atom!("to_lower"), 1) => { - let reg = self.machine_st.deref(self.machine_st.heap[s+1]); - let atom = self.machine_st.atom_tbl.build_with(&c.to_lowercase().to_string()); - let lower_str = string_as_cstr_cell!(atom); - unify!(self.machine_st, reg, lower_str); - self.machine_st.fail = false; - } - _ => { - unreachable!() - } - }; - } - _ => { - unreachable!() - } - ); + (HeapCellValueTag::Atom, (chars, _arity)) => { + macro_rules! macro_check { + ($id:ident, $name:expr) => { + if $id!(c) && chars == $name { + self.machine_st.fail = false; + return; + } + }; + } + macro_rules! method_check { + ($id:ident, $name:expr) => { + if c.$id() && chars == $name { + self.machine_st.fail = false; + return; + } + }; + } + macro_check!(alpha_char, atom!("alpha")); + method_check!(is_alphabetic, atom!("alphabetic")); + method_check!(is_alphanumeric, atom!("alphanumeric")); + macro_check!(alpha_numeric_char, atom!("alnum")); + method_check!(is_ascii, atom!("ascii")); + method_check!(is_ascii_punctuation, atom!("ascii_punctuation")); + method_check!(is_ascii_graphic, atom!("ascii_graphic")); + // macro_check!(backslash_char, atom!("backslash")); + // macro_check!(back_quote_char, atom!("back_quote")); + macro_check!(binary_digit_char, atom!("binary_digit")); + // macro_check!(capital_letter_char, atom!("upper")); + // macro_check!(comment_1_char, "comment_1"); + // macro_check!(comment_2_char, "comment_2"); + method_check!(is_control, atom!("control")); + // macro_check!(cut_char, atom!("cut")); + macro_check!(decimal_digit_char, atom!("decimal_digit")); + // macro_check!(decimal_point_char, atom!("decimal_point")); + // macro_check!(double_quote_char, atom!("double_quote")); + macro_check!(exponent_char, atom!("exponent")); + macro_check!(graphic_char, atom!("graphic")); + macro_check!(graphic_token_char, atom!("graphic_token")); + macro_check!(hexadecimal_digit_char, atom!("hexadecimal_digit")); + macro_check!(layout_char, atom!("layout")); + method_check!(is_lowercase, atom!("lower")); + macro_check!(meta_char, atom!("meta")); + // macro_check!(new_line_char, atom!("new_line")); + method_check!(is_numeric, atom!("numeric")); + macro_check!(octal_digit_char, atom!("octal_digit")); + macro_check!(octet_char, atom!("octet")); + macro_check!(prolog_char, atom!("prolog")); + // macro_check!(semicolon_char, atom!("semicolon")); + macro_check!(sign_char, atom!("sign")); + // macro_check!(single_quote_char, atom!("single_quote")); + // macro_check!(small_letter_char, atom!("lower")); + macro_check!(solo_char, atom!("solo")); + // macro_check!(space_char, atom!("space")); + macro_check!(symbolic_hexadecimal_char, atom!("symbolic_hexadecimal")); + macro_check!(symbolic_control_char, atom!("symbolic_control")); + method_check!(is_uppercase, atom!("upper")); + // macro_check!(variable_indicator_char, atom!("variable_indicator")); + method_check!(is_whitespace, atom!("whitespace")); + } + (HeapCellValueTag::Str, s) => { + let (name, arity) = cell_as_atom_cell!(self.machine_st.heap[s]) + .get_name_and_arity(); + match (name, arity) { + (atom!("to_upper"), 1) => { + let reg = self.machine_st.deref(self.machine_st.heap[s+1]); + let atom = AtomTable::build_with(&self.machine_st.atom_tbl, &c.to_uppercase().to_string()); + let upper_str = string_as_cstr_cell!(atom); + unify!(self.machine_st, reg, upper_str); + self.machine_st.fail = false; + } + (atom!("to_lower"), 1) => { + let reg = self.machine_st.deref(self.machine_st.heap[s+1]); + let atom = AtomTable::build_with(&self.machine_st.atom_tbl, &c.to_lowercase().to_string()); + let lower_str = string_as_cstr_cell!(atom); + unify!(self.machine_st, reg, lower_str); + self.machine_st.fail = false; + } + _ => { + unreachable!() + } + }; + } + _ => { + unreachable!() + } + ); } #[inline(always)] @@ -3015,7 +3076,12 @@ impl Machine { let addr = self.deref_register(1); let old_b = cell_as_fixnum!(addr).get_num() as usize; - let prev_b = self.machine_st.stack.index_or_frame(self.machine_st.b).prelude.b; + let prev_b = self + .machine_st + .stack + .index_or_frame(self.machine_st.b) + .prelude + .b; let prev_b = self.machine_st.stack.index_or_frame(prev_b).prelude.b; if prev_b > old_b { @@ -3165,26 +3231,32 @@ impl Machine { let mut bytes = Vec::new(); let stub_gen = || functor_stub(atom!("$put_chars"), 2); - if let Some(string) = self.machine_st.value_to_str_like(self.machine_st.registers[2]) { + if let Some(string) = self + .machine_st + .value_to_str_like(self.machine_st.registers[2]) + { if stream.options().stream_type() == StreamType::Binary { for c in string.as_str().chars() { if c as u32 > 255 { - let err = self.machine_st.type_error(ValidType::Byte, char_as_cell!(c)); + let err = self + .machine_st + .type_error(ValidType::Byte, char_as_cell!(c)); return Err(self.machine_st.error_form(err, stub_gen())); } bytes.push(c as u8); - } + } } else { bytes = string.as_str().bytes().collect(); } match stream.write_all(&bytes) { - Ok(_) => { - } + Ok(_) => {} _ => { let addr = stream_as_cell!(stream); - let err = self.machine_st.existence_error(ExistenceError::Stream(addr)); + let err = self + .machine_st + .existence_error(ExistenceError::Stream(addr)); return Err(self.machine_st.error_form(err, stub_gen())); } @@ -3248,21 +3320,22 @@ impl Machine { return Ok(()); } _ => { - let err = self.machine_st.existence_error( - ExistenceError::Stream(stream_as_cell!(stream)) - ); + let err = self.machine_st.existence_error(ExistenceError::Stream( + stream_as_cell!(stream), + )); return Err(self.machine_st.error_form(err, stub_gen())); } } } } - _ => { - } + _ => {} } } - let err = self.machine_st.type_error(ValidType::Byte, self.machine_st.registers[2]); + let err = self + .machine_st + .type_error(ValidType::Byte, self.machine_st.registers[2]); Err(self.machine_st.error_form(err, stub_gen())) } @@ -3284,7 +3357,12 @@ impl Machine { )?; if stream.past_end_of_stream() { - self.machine_st.eof_action(self.machine_st.registers[2], stream, atom!("get_byte"), 2)?; + self.machine_st.eof_action( + self.machine_st.registers[2], + stream, + atom!("get_byte"), + 2, + )?; if EOFAction::Reset != stream.options().eof_action() { return Ok(()); @@ -3336,12 +3414,14 @@ impl Machine { match stream.read(&mut b) { Ok(1) => { - self.machine_st.unify_fixnum(Fixnum::build_with(b[0] as i64), addr); + self.machine_st + .unify_fixnum(Fixnum::build_with(b[0] as i64), addr); break; } _ => { stream.set_past_end_of_stream(true); - self.machine_st.unify_fixnum(Fixnum::build_with(-1), self.machine_st.registers[2]); + self.machine_st + .unify_fixnum(Fixnum::build_with(-1), self.machine_st.registers[2]); break; } } @@ -3381,10 +3461,7 @@ impl Machine { let end_of_file = atom!("end_of_file"); stream.set_past_end_of_stream(true); - self.machine_st.unify_atom( - end_of_file, - addr - ); + self.machine_st.unify_atom(end_of_file, addr); return Ok(()); } @@ -3489,13 +3566,12 @@ impl Machine { string.push(c as char); } } else { - let mut iter = self.machine_st.open_parsing_stream(stream) - .map_err(|e| { - let err = self.machine_st.session_error(SessionError::from(e)); - let stub = functor_stub(atom!("get_n_chars"), 2); + let mut iter = self.machine_st.open_parsing_stream(stream).map_err(|e| { + let err = self.machine_st.session_error(SessionError::from(e)); + let stub = functor_stub(atom!("get_n_chars"), 2); - self.machine_st.error_form(err, stub) - })?; + self.machine_st.error_form(err, stub) + })?; for _ in 0..num { let result = iter.read_char(); @@ -3512,7 +3588,7 @@ impl Machine { }; let output = self.deref_register(3); - let atom = self.machine_st.atom_tbl.build_with(&string); + let atom = AtomTable::build_with(&self.machine_st.atom_tbl, &string); self.machine_st.unify_complete_string(atom, output); Ok(()) @@ -3548,10 +3624,7 @@ impl Machine { if stream.at_end_of_stream() { stream.set_past_end_of_stream(true); - self.machine_st.unify_fixnum( - Fixnum::build_with(-1), - addr, - ); + self.machine_st.unify_fixnum(Fixnum::build_with(-1), addr); return Ok(()); } @@ -3569,7 +3642,9 @@ impl Machine { if let Some(n) = n { fixnum_as_cell!(Fixnum::build_with(n as i64)) } else { - let err = self.machine_st.representation_error(RepFlag::InCharacterCode); + let err = self + .machine_st + .representation_error(RepFlag::InCharacterCode); return Err(self.machine_st.error_form(err, stub_gen())); } } @@ -3581,31 +3656,35 @@ impl Machine { if nf.is_some() { fixnum_as_cell!(n) } else { - let err = self.machine_st.representation_error(RepFlag::InCharacterCode); + let err = self + .machine_st + .representation_error(RepFlag::InCharacterCode); return Err(self.machine_st.error_form(err, stub_gen())); } } _ => { - let err = self.machine_st.type_error(ValidType::Integer, self.machine_st.registers[2]); + let err = self + .machine_st + .type_error(ValidType::Integer, self.machine_st.registers[2]); return Err(self.machine_st.error_form(err, stub_gen())); } } }; - let mut iter = self.machine_st.open_parsing_stream(stream) - .map_err(|e| { - let err = self.machine_st.session_error(SessionError::from(e)); - let stub = functor_stub(atom!("get_code"), 2); + let mut iter = self.machine_st.open_parsing_stream(stream).map_err(|e| { + let err = self.machine_st.session_error(SessionError::from(e)); + let stub = functor_stub(atom!("get_code"), 2); - self.machine_st.error_form(err, stub) - })?; + self.machine_st.error_form(err, stub) + })?; loop { let result = iter.read_char(); match result { Some(Ok(c)) => { - self.machine_st.unify_fixnum(Fixnum::build_with(c as i64), addr); + self.machine_st + .unify_fixnum(Fixnum::build_with(c as i64), addr); break; } _ => { @@ -3662,12 +3741,7 @@ impl Machine { let mut next_stream = None; let mut null_streams = BTreeSet::new(); - for stream in self.indices - .streams - .range(prev_stream..) - .skip(1) - .cloned() - { + for stream in self.indices.streams.range(prev_stream..).skip(1).cloned() { if !stream.is_null_stream() { next_stream = Some(stream); break; @@ -3701,11 +3775,9 @@ impl Machine { let stub = functor_stub(atom!("flush_output"), 1); let addr = stream_as_cell!(stream); - let err = self.machine_st.permission_error( - Permission::OutputStream, - atom!("stream"), - addr, - ); + let err = + self.machine_st + .permission_error(Permission::OutputStream, atom!("stream"), addr); return Err(self.machine_st.error_form(err, stub)); } @@ -3739,10 +3811,7 @@ impl Machine { _ => unreachable!(), }; let a1 = self.deref_register(1); - self.machine_st.unify_char( - c, - a1, - ); + self.machine_st.unify_char(c, a1); Ok(()) } @@ -3761,10 +3830,7 @@ impl Machine { } let c = buffer[0] as char; let a1 = self.deref_register(1); - self.machine_st.unify_char( - c, - a1, - ); + self.machine_st.unify_char(c, a1); Ok(()) } @@ -3773,9 +3839,14 @@ impl Machine { pub(crate) fn head_is_dynamic(&mut self) { let module_name = cell_as_atom!(self.deref_register(1)); - match self.machine_st.name_and_arity_from_heap(self.machine_st.registers[2]) { + match self + .machine_st + .name_and_arity_from_heap(self.machine_st.registers[2]) + { Some((name, arity)) => { - self.machine_st.fail = !self.indices.is_dynamic_predicate(module_name, (name, arity)); + self.machine_st.fail = !self + .indices + .is_dynamic_predicate(module_name, (name, arity)); } None => { self.machine_st.fail = true; @@ -3799,7 +3870,8 @@ impl Machine { self.indices.streams.remove(&stream); if stream == self.user_input { - self.user_input = self.indices + self.user_input = self + .indices .stream_aliases .get(&atom!("user_input")) .cloned() @@ -3807,7 +3879,8 @@ impl Machine { self.indices.streams.insert(self.user_input); } else if stream == self.user_output { - self.user_output = self.indices + self.user_output = self + .indices .stream_aliases .get(&atom!("user_output")) .cloned() @@ -3826,7 +3899,9 @@ impl Machine { if let Err(_) = close_result { let stub = functor_stub(atom!("close"), 1); let addr = stream_as_cell!(stream); - let err = self.machine_st.existence_error(ExistenceError::Stream(addr)); + let err = self + .machine_st + .existence_error(ExistenceError::Stream(addr)); return Err(self.machine_st.error_form(err, stub)); } @@ -3837,18 +3912,18 @@ impl Machine { #[inline(always)] pub(crate) fn copy_to_lifted_heap(&mut self) { - let lh_offset = cell_as_fixnum!( - self.deref_register(1) - ).get_num() as usize; + let lh_offset = cell_as_fixnum!(self.deref_register(1)).get_num() as usize; let copy_target = self.machine_st.registers[2]; - let old_threshold = self.machine_st.copy_findall_solution(lh_offset, copy_target); + let old_threshold = self + .machine_st + .copy_findall_solution(lh_offset, copy_target); let new_threshold = self.machine_st.lifted_heap.len() - lh_offset; self.machine_st.lifted_heap[old_threshold] = heap_loc_as_cell!(new_threshold); - for addr in self.machine_st.lifted_heap[old_threshold + 1 ..].iter_mut() { + for addr in self.machine_st.lifted_heap[old_threshold + 1..].iter_mut() { *addr -= self.machine_st.heap.len() + lh_offset; } } @@ -3871,7 +3946,8 @@ impl Machine { } ); - self.machine_st.fail = self.indices + self.machine_st.fail = self + .indices .get_predicate_code_index(name, arity, module_name) .is_none(); } @@ -3934,7 +4010,12 @@ impl Machine { let code_dir = if module_name == atom!("user") { &self.indices.code_dir } else { - match self.indices.modules.get(&module_name).map(|module| &module.code_dir) { + match self + .indices + .modules + .get(&module_name) + .map(|module| &module.code_dir) + { Some(code_dir) => code_dir, None => { self.machine_st.fail = true; @@ -3945,9 +4026,10 @@ impl Machine { for (name, arity) in code_dir.keys() { if name_match(pred_atom, *name) && arity_match(pred_arity, *arity) { - self.machine_st.heap.extend( - functor!(atom!("/"), [cell(atom_as_cell!(name)), fixnum(*arity)]), - ); + self.machine_st.heap.extend(functor!( + atom!("/"), + [cell(atom_as_cell!(name)), fixnum(*arity)] + )); num_functors += 1; } @@ -3956,12 +4038,20 @@ impl Machine { if num_functors > 0 { let h = iter_to_heap_list( &mut self.machine_st.heap, - (0 .. num_functors).map(|i| str_loc_as_cell!(h + 3 * i)), + (0..num_functors).map(|i| str_loc_as_cell!(h + 3 * i)), ); - unify!(self.machine_st, heap_loc_as_cell!(h), self.machine_st.registers[4]); + unify!( + self.machine_st, + heap_loc_as_cell!(h), + self.machine_st.registers[4] + ); } else { - unify!(self.machine_st, empty_list_as_cell!(), self.machine_st.registers[4]); + unify!( + self.machine_st, + empty_list_as_cell!(), + self.machine_st.registers[4] + ); } } @@ -3997,7 +4087,7 @@ impl Machine { cell_as_atom!(self.machine_st.heap[s]) } (HeapCellValueTag::Char, c) => { - self.machine_st.atom_tbl.build_with(&c.to_string()) + AtomTable::build_with(&self.machine_st.atom_tbl, &c.to_string()) } _ => { unreachable!() @@ -4010,9 +4100,9 @@ impl Machine { self.indices.op_dir.get_key_value(&(orig_op, Fixity::Post)), ]; - let number_of_keys = op_descs[0].is_some() as usize + - op_descs[1].is_some() as usize + - op_descs[2].is_some() as usize; + let number_of_keys = op_descs[0].is_some() as usize + + op_descs[1].is_some() as usize + + op_descs[2].is_some() as usize; match number_of_keys { 0 => { @@ -4022,8 +4112,7 @@ impl Machine { 1 => { for op_desc in op_descs { if let Some((_, op_desc)) = op_desc { - let (op_prec, op_spec) = - (op_desc.get_prec(), op_desc.get_spec()); + let (op_prec, op_spec) = (op_desc.get_prec(), op_desc.get_spec()); if op_prec == 0 { // 8.14.4, note 2 @@ -4083,13 +4172,14 @@ impl Machine { return None; } - if (!orig_op.is_var() && atom_as_cell!(name) != orig_op) || - (!spec.is_var() && other_spec != spec_num) { - return None; - } + if (!orig_op.is_var() && atom_as_cell!(name) != orig_op) + || (!spec.is_var() && other_spec != spec_num) + { + return None; + } Some((*key, (other_prec as usize, other_spec as Specifier))) - } + }, )); unossified_op_dir @@ -4118,10 +4208,16 @@ impl Machine { let spec_var = spec.as_var().unwrap(); let op_var = op.as_var().unwrap(); - self.machine_st.bind(prec_var, fixnum_as_cell!(Fixnum::build_with(*op_prec as i64))); + self.machine_st.bind( + prec_var, + fixnum_as_cell!(Fixnum::build_with(*op_prec as i64)), + ); self.machine_st.bind(spec_var, atom_as_cell!(spec_atom)); self.machine_st.bind(op_var, atom_as_cell!(op_atom)); - self.machine_st.bind(ossified_op_dir_var, typed_arena_ptr_as_cell!(ossified_op_dir)); + self.machine_st.bind( + ossified_op_dir_var, + typed_arena_ptr_as_cell!(ossified_op_dir), + ); } None => { self.machine_st.fail = true; @@ -4138,9 +4234,7 @@ impl Machine { return; } - let ossified_op_dir = cell_as_ossified_op_dir!( - ossified_op_dir_cell - ); + let ossified_op_dir = cell_as_ossified_op_dir!(ossified_op_dir_cell); let fixity = match spec { atom!("xfy") | atom!("yfx") | atom!("xfx") => Fixity::In, @@ -4152,21 +4246,30 @@ impl Machine { } }; - match self.machine_st.get_next_db_ref( - &self.indices, - &DBRef::Op(op_atom, fixity, ossified_op_dir), - ) { + match self + .machine_st + .get_next_db_ref(&self.indices, &DBRef::Op(op_atom, fixity, ossified_op_dir)) + { Some(DBRef::Op(op_atom, fixity, ossified_op_dir)) => { let (prec, spec) = ossified_op_dir.get(&(op_atom, fixity)).unwrap(); - let prec_var = self.machine_st.deref(self.machine_st.registers[5]) - .as_var().unwrap(); + let prec_var = self + .machine_st + .deref(self.machine_st.registers[5]) + .as_var() + .unwrap(); - let spec_var = self.machine_st.deref(self.machine_st.registers[6]) - .as_var().unwrap(); + let spec_var = self + .machine_st + .deref(self.machine_st.registers[6]) + .as_var() + .unwrap(); - let op_var = self.machine_st.deref(self.machine_st.registers[7]) - .as_var().unwrap(); + let op_var = self + .machine_st + .deref(self.machine_st.registers[7]) + .as_var() + .unwrap(); let spec_atom = match *spec { FX => atom!("fx"), @@ -4182,7 +4285,8 @@ impl Machine { } }; - self.machine_st.bind(prec_var, fixnum_as_cell!(Fixnum::build_with(*prec as i64))); + self.machine_st + .bind(prec_var, fixnum_as_cell!(Fixnum::build_with(*prec as i64))); self.machine_st.bind(spec_var, atom_as_cell!(spec_atom)); self.machine_st.bind(op_var, atom_as_cell!(op_atom)); } @@ -4211,23 +4315,22 @@ impl Machine { random_bits } - let result = { - generate_random_bits(1) == 0 - }; + let result = { generate_random_bits(1) == 0 }; self.machine_st.fail = result; } - #[cfg(not(target_os = "wasi"))] + #[cfg(not(target_arch = "wasm32"))] #[inline(always)] pub(crate) fn cpu_now(&mut self) { let secs = ProcessTime::now().as_duration().as_secs_f64(); let secs = float_alloc!(secs, self.machine_st.arena); - self.machine_st.unify_f64(secs, self.machine_st.registers[1]); + self.machine_st + .unify_f64(secs, self.machine_st.registers[1]); } - #[cfg(target_os = "wasi")] + #[cfg(target_arch = "wasm32")] #[inline(always)] pub(crate) fn cpu_now(&mut self) { // TODO @@ -4246,7 +4349,7 @@ impl Machine { let err = self.machine_st.resource_error(len); return Err(self.machine_st.error_form(err, stub_gen())); } - } + }, _ => { unreachable!() } @@ -4256,11 +4359,12 @@ impl Machine { iter_to_heap_list( &mut self.machine_st.heap, - (0 .. n).map(|i| heap_loc_as_cell!(h + 2 * i + 1)), + (0..n).map(|i| heap_loc_as_cell!(h + 2 * i + 1)), ); let tail = self.deref_register(1); - self.machine_st.bind(tail.as_var().unwrap(), heap_loc_as_cell!(h)); + self.machine_st + .bind(tail.as_var().unwrap(), heap_loc_as_cell!(h)); Ok(()) } @@ -4269,7 +4373,7 @@ impl Machine { #[inline(always)] pub(crate) fn http_open(&mut self) -> CallResult { let address_sink = self.deref_register(1); - let method = read_heap_cell!(self.deref_register(3), + let method = read_heap_cell!(self.deref_register(3), (HeapCellValueTag::Atom, (name, arity)) => { debug_assert_eq!(arity, 0); match name { @@ -4294,88 +4398,107 @@ impl Machine { } let stub_gen = || functor_stub(atom!("http_open"), 3); - let headers = match self.machine_st.try_from_list(self.machine_st.registers[7], stub_gen) { + let headers = match self + .machine_st + .try_from_list(self.machine_st.registers[7], stub_gen) + { Ok(addrs) => { let mut header_map = HeaderMap::new(); - for heap_cell in addrs{ - read_heap_cell!(heap_cell, - (HeapCellValueTag::Str, s) => { - let name = cell_as_atom_cell!(self.machine_st.heap[s]).get_name(); - let value = self.machine_st.value_to_str_like(self.machine_st.heap[s + 1]).unwrap(); - header_map.insert(HeaderName::from_str(name.as_str()).unwrap(), HeaderValue::from_str(value.as_str()).unwrap()); - } - _ => { - unreachable!() - } - ) + for heap_cell in addrs { + read_heap_cell!(heap_cell, + (HeapCellValueTag::Str, s) => { + let name = cell_as_atom_cell!(self.machine_st.heap[s]).get_name(); + let value = self.machine_st.value_to_str_like(self.machine_st.heap[s + 1]).unwrap(); + header_map.insert(HeaderName::from_str(&*name.as_str()).unwrap(), HeaderValue::from_str(&*value.as_str()).unwrap()); + } + _ => { + unreachable!() + } + ) } header_map - }, - Err(e) => return Err(e) + } + Err(e) => return Err(e), }; if let Some(address_sink) = self.machine_st.value_to_str_like(address_sink) { let address_string = address_sink.as_str(); //to_string(); let address: Url = address_string.parse().unwrap(); - let client = reqwest::blocking::Client::builder() - .build() - .unwrap(); + let client = reqwest::blocking::Client::builder().build().unwrap(); - // request - let mut req = reqwest::blocking::Request::new(method, address); + // request + let mut req = reqwest::blocking::Request::new(method, address); - *req.headers_mut() = headers; - if bytes.len() > 0 { - *req.body_mut() = Some(reqwest::blocking::Body::from(bytes)); - } + *req.headers_mut() = headers; + if bytes.len() > 0 { + *req.body_mut() = Some(reqwest::blocking::Body::from(bytes)); + } - // do it! - match client.execute(req) { - Ok(resp) => { - // status code - let status = resp.status().as_u16(); - self.machine_st.unify_fixnum(Fixnum::build_with(status as i64), address_status); - // headers - let headers: Vec = resp.headers().iter().map(|(header_name, header_value)| { - let h = self.machine_st.heap.len(); + // do it! + match client.execute(req) { + Ok(resp) => { + // status code + let status = resp.status().as_u16(); + self.machine_st + .unify_fixnum(Fixnum::build_with(status as i64), address_status); + // headers + let headers: Vec = resp + .headers() + .iter() + .map(|(header_name, header_value)| { + let h = self.machine_st.heap.len(); - let header_term = functor!( - self.machine_st.atom_tbl.build_with(header_name.as_str()), - [cell(string_as_cstr_cell!(self.machine_st.atom_tbl.build_with(header_value.to_str().unwrap())))] - ); + let header_term = functor!( + AtomTable::build_with( + &self.machine_st.atom_tbl, + header_name.as_str() + ), + [cell(string_as_cstr_cell!(AtomTable::build_with( + &self.machine_st.atom_tbl, + header_value.to_str().unwrap() + )))] + ); - self.machine_st.heap.extend(header_term.into_iter()); - str_loc_as_cell!(h) - }).collect(); + self.machine_st.heap.extend(header_term.into_iter()); + str_loc_as_cell!(h) + }) + .collect(); - let headers_list = iter_to_heap_list(&mut self.machine_st.heap, headers.into_iter()); - unify!(self.machine_st, heap_loc_as_cell!(headers_list), self.machine_st.registers[6]); - // body - let reader = resp.bytes().unwrap().reader(); + let headers_list = + iter_to_heap_list(&mut self.machine_st.heap, headers.into_iter()); + unify!( + self.machine_st, + heap_loc_as_cell!(headers_list), + self.machine_st.registers[6] + ); + // body + let reader = resp.bytes().unwrap().reader(); - let mut stream = Stream::from_http_stream( - self.machine_st.atom_tbl.build_with(&address_string), - Box::new(reader), - &mut self.machine_st.arena - ); - *stream.options_mut() = StreamOptions::default(); - if let Some(alias) = stream.options().get_alias() { - self.indices.stream_aliases.insert(alias, stream); - } + let mut stream = Stream::from_http_stream( + AtomTable::build_with(&self.machine_st.atom_tbl, &address_string), + Box::new(reader), + &mut self.machine_st.arena, + ); + *stream.options_mut() = StreamOptions::default(); + if let Some(alias) = stream.options().get_alias() { + self.indices.stream_aliases.insert(alias, stream); + } - self.indices.streams.insert(stream); + self.indices.streams.insert(stream); - let stream = stream_as_cell!(stream); + let stream = stream_as_cell!(stream); - let stream_addr = self.deref_register(2); - self.machine_st.bind(stream_addr.as_var().unwrap(), stream); - }, - Err(_) => { - self.machine_st.fail = true; - } - } + let stream_addr = self.deref_register(2); + self.machine_st.bind(stream_addr.as_var().unwrap(), stream); + } + Err(_) => { + self.machine_st.fail = true; + } + } } else { - let err = self.machine_st.domain_error(DomainErrorType::SourceSink, address_sink); + let err = self + .machine_st + .domain_error(DomainErrorType::SourceSink, address_sink); let stub = functor_stub(atom!("http_open"), 3); return Err(self.machine_st.error_form(err, stub)); @@ -4388,133 +4511,145 @@ impl Machine { #[inline(always)] pub(crate) fn http_listen(&mut self) -> CallResult { let address_sink = self.deref_register(1); - if let Some(address_str) = self.machine_st.value_to_str_like(address_sink) { - let address_string = address_str.as_str(); - let addr: SocketAddr = match address_string.to_socket_addrs().ok().and_then(|mut s| s.next()) { - Some(addr) => addr, + if let Some(address_str) = self.machine_st.value_to_str_like(address_sink) { + let address_string = address_str.as_str(); + let addr: SocketAddr = match address_string + .to_socket_addrs() + .ok() + .and_then(|mut s| s.next()) + { + Some(addr) => addr, _ => { self.machine_st.fail = true; return Ok(()); } - }; + }; - let (tx, rx) = std::sync::mpsc::sync_channel(1024); + let (tx, rx) = std::sync::mpsc::sync_channel(1024); - let _guard = self.runtime.enter(); - let listener = match self.runtime.block_on(async { tokio::net::TcpListener::bind(addr).await }) { - Ok(listener) => listener, - Err(_) => { - return Err(self.machine_st.open_permission_error(address_sink, atom!("http_listen"), 2)); - } - }; + let _guard = self.runtime.enter(); + let listener = match self + .runtime + .block_on(async { tokio::net::TcpListener::bind(addr).await }) + { + Ok(listener) => listener, + Err(_) => { + return Err(self.machine_st.open_permission_error( + address_sink, + atom!("http_listen"), + 2, + )); + } + }; - self.runtime.spawn(async move { - loop { - let tx = tx.clone(); - let (stream, _) = listener.accept().await.unwrap(); + self.runtime.spawn(async move { + loop { + let tx = tx.clone(); + let (stream, _) = listener.accept().await.unwrap(); - tokio::task::spawn(async move { - if let Err(err) = http1::Builder::new() - .serve_connection(stream, HttpService { - tx - }) - .await - { - eprintln!("Error serving connection: {:?}", err); - } - }); - } - }); - let http_listener = HttpListener { incoming: rx }; - let http_listener = arena_alloc!(http_listener, &mut self.machine_st.arena); + tokio::task::spawn(async move { + if let Err(err) = http1::Builder::new() + .serve_connection(stream, HttpService { tx }) + .await + { + eprintln!("Error serving connection: {:?}", err); + } + }); + } + }); + let http_listener = HttpListener { incoming: rx }; + let http_listener = arena_alloc!(http_listener, &mut self.machine_st.arena); let addr = self.deref_register(2); - self.machine_st.bind(addr.as_var().unwrap(), typed_arena_ptr_as_cell!(http_listener)); - } - Ok(()) + self.machine_st.bind( + addr.as_var().unwrap(), + typed_arena_ptr_as_cell!(http_listener), + ); + } + Ok(()) } #[cfg(feature = "http")] #[inline(always)] pub(crate) fn http_accept(&mut self) -> CallResult { - let culprit = self.deref_register(1); - let method = self.deref_register(2); - let path = self.deref_register(3); - let query = self.deref_register(5); - let stream_addr = self.deref_register(6); - let handle_addr = self.deref_register(7); - read_heap_cell!(culprit, - (HeapCellValueTag::Cons, cons_ptr) => { - match_untyped_arena_ptr!(cons_ptr, - (ArenaHeaderTag::HttpListener, http_listener) => { - match http_listener.incoming.recv() { - Ok(request) => { - let method_atom = match *request.request.method() { - Method::GET => atom!("get"), - Method::POST => atom!("post"), - Method::PUT => atom!("put"), - Method::DELETE => atom!("delete"), - Method::PATCH => atom!("patch"), - Method::HEAD => atom!("head"), - _ => unreachable!(), - }; - let path_atom = self.machine_st.atom_tbl.build_with(request.request.uri().path()); - let path_cell = atom_as_cstr_cell!(path_atom); - let headers: Vec = request.request.headers().iter().map(|(header_name, header_value)| { - let h = self.machine_st.heap.len(); + let culprit = self.deref_register(1); + let method = self.deref_register(2); + let path = self.deref_register(3); + let query = self.deref_register(5); + let stream_addr = self.deref_register(6); + let handle_addr = self.deref_register(7); + read_heap_cell!(culprit, + (HeapCellValueTag::Cons, cons_ptr) => { + match_untyped_arena_ptr!(cons_ptr, + (ArenaHeaderTag::HttpListener, http_listener) => { + match http_listener.incoming.recv() { + Ok(request) => { + let method_atom = match *request.request.method() { + Method::GET => atom!("get"), + Method::POST => atom!("post"), + Method::PUT => atom!("put"), + Method::DELETE => atom!("delete"), + Method::PATCH => atom!("patch"), + Method::HEAD => atom!("head"), + _ => unreachable!(), + }; + let path_atom = AtomTable::build_with(&self.machine_st.atom_tbl, request.request.uri().path()); + let path_cell = atom_as_cstr_cell!(path_atom); + let headers: Vec = request.request.headers().iter().map(|(header_name, header_value)| { + let h = self.machine_st.heap.len(); - let header_term = functor!( - self.machine_st.atom_tbl.build_with(header_name.as_str()), - [cell(string_as_cstr_cell!(self.machine_st.atom_tbl.build_with(header_value.to_str().unwrap())))] - ); + let header_term = functor!( + AtomTable::build_with(&self.machine_st.atom_tbl, header_name.as_str()), + [cell(string_as_cstr_cell!(AtomTable::build_with(&self.machine_st.atom_tbl, header_value.to_str().unwrap())))] + ); - self.machine_st.heap.extend(header_term.into_iter()); - str_loc_as_cell!(h) - }).collect(); + self.machine_st.heap.extend(header_term.into_iter()); + str_loc_as_cell!(h) + }).collect(); - let headers_list = iter_to_heap_list(&mut self.machine_st.heap, headers.into_iter()); + let headers_list = iter_to_heap_list(&mut self.machine_st.heap, headers.into_iter()); - let query_str = request.request.uri().query().unwrap_or(""); - let query_atom = self.machine_st.atom_tbl.build_with(query_str); - let query_cell = string_as_cstr_cell!(query_atom); + let query_str = request.request.uri().query().unwrap_or(""); + let query_atom = AtomTable::build_with(&self.machine_st.atom_tbl, query_str); + let query_cell = string_as_cstr_cell!(query_atom); - let hyper_req = request.request; - let buf = self.runtime.block_on(async {hyper_req.collect().await.unwrap().aggregate()}); - let reader = buf.reader(); + let hyper_req = request.request; + let buf = self.runtime.block_on(async {hyper_req.collect().await.unwrap().aggregate()}); + let reader = buf.reader(); - let mut stream = Stream::from_http_stream( - path_atom, - Box::new(reader), - &mut self.machine_st.arena - ); - *stream.options_mut() = StreamOptions::default(); - stream.options_mut().set_stream_type(StreamType::Binary); - self.indices.streams.insert(stream); - let stream = stream_as_cell!(stream); + let mut stream = Stream::from_http_stream( + path_atom, + Box::new(reader), + &mut self.machine_st.arena + ); + *stream.options_mut() = StreamOptions::default(); + stream.options_mut().set_stream_type(StreamType::Binary); + self.indices.streams.insert(stream); + let stream = stream_as_cell!(stream); - let handle = arena_alloc!(request.response, &mut self.machine_st.arena); + let handle = arena_alloc!(request.response, &mut self.machine_st.arena); - self.machine_st.bind(method.as_var().unwrap(), atom_as_cell!(method_atom)); - self.machine_st.bind(path.as_var().unwrap(), path_cell); - unify!(self.machine_st, heap_loc_as_cell!(headers_list), self.machine_st.registers[4]); - self.machine_st.bind(query.as_var().unwrap(), query_cell); - self.machine_st.bind(stream_addr.as_var().unwrap(), stream); - self.machine_st.bind(handle_addr.as_var().unwrap(), typed_arena_ptr_as_cell!(handle)); - } - Err(_) => { - self.machine_st.fail = true; - } - } - } - _ => { - unreachable!(); - } - ); - } - _ => { - unreachable!(); - } - ); - Ok(()) + self.machine_st.bind(method.as_var().unwrap(), atom_as_cell!(method_atom)); + self.machine_st.bind(path.as_var().unwrap(), path_cell); + unify!(self.machine_st, heap_loc_as_cell!(headers_list), self.machine_st.registers[4]); + self.machine_st.bind(query.as_var().unwrap(), query_cell); + self.machine_st.bind(stream_addr.as_var().unwrap(), stream); + self.machine_st.bind(handle_addr.as_var().unwrap(), typed_arena_ptr_as_cell!(handle)); + } + Err(_) => { + self.machine_st.fail = true; + } + } + } + _ => { + unreachable!(); + } + ); + } + _ => { + unreachable!(); + } + ); + Ok(()) } #[cfg(feature = "http")] @@ -4540,225 +4675,246 @@ impl Machine { let headers = match self.machine_st.try_from_list(self.machine_st.registers[3], stub_gen) { Ok(addrs) => { let mut header_map = HeaderMap::new(); - for heap_cell in addrs{ - read_heap_cell!(heap_cell, - (HeapCellValueTag::Str, s) => { - let name = cell_as_atom_cell!(self.machine_st.heap[s]).get_name(); - let value = self.machine_st.value_to_str_like(self.machine_st.heap[s + 1]).unwrap(); - header_map.insert(HeaderName::from_str(name.as_str()).unwrap(), HeaderValue::from_str(value.as_str()).unwrap()); - } - _ => { - unreachable!() - } - ) + for heap_cell in addrs { + read_heap_cell!(heap_cell, + (HeapCellValueTag::Str, s) => { + let name = cell_as_atom_cell!(self.machine_st.heap[s]).get_name(); + let value = self.machine_st.value_to_str_like(self.machine_st.heap[s + 1]).unwrap(); + header_map.insert(HeaderName::from_str(&*name.as_str()).unwrap(), HeaderValue::from_str(&*value.as_str()).unwrap()); + } + _ => { + unreachable!() + } + ) } header_map - }, - Err(e) => return Err(e) + } + Err(e) => return Err(e), }; - let stream_addr = self.deref_register(4); + let stream_addr = self.deref_register(4); - read_heap_cell!(culprit, - (HeapCellValueTag::Cons, cons_ptr) => { - match_untyped_arena_ptr!(cons_ptr, - (ArenaHeaderTag::HttpResponse, http_response) => { - let mut stream = Stream::from_http_sender( - http_response, - status_code, - headers, - &mut self.machine_st.arena - ); - *stream.options_mut() = StreamOptions::default(); - stream.options_mut().set_stream_type(StreamType::Binary); - self.indices.streams.insert(stream); - let stream = stream_as_cell!(stream); - self.machine_st.bind(stream_addr.as_var().unwrap(), stream); - } - _ => { - unreachable!(); - } - ); - } - _ => { - unreachable!(); - } - ); + read_heap_cell!(culprit, + (HeapCellValueTag::Cons, cons_ptr) => { + match_untyped_arena_ptr!(cons_ptr, + (ArenaHeaderTag::HttpResponse, http_response) => { + let mut stream = Stream::from_http_sender( + http_response, + status_code, + headers, + &mut self.machine_st.arena + ); + *stream.options_mut() = StreamOptions::default(); + stream.options_mut().set_stream_type(StreamType::Binary); + self.indices.streams.insert(stream); + let stream = stream_as_cell!(stream); + self.machine_st.bind(stream_addr.as_var().unwrap(), stream); + } + _ => { + unreachable!(); + } + ); + } + _ => { + unreachable!(); + } + ); - Ok(()) + Ok(()) } #[cfg(feature = "ffi")] #[inline(always)] pub(crate) fn load_foreign_lib(&mut self) -> CallResult { - let library_name = self.deref_register(1); - let args_reg = self.deref_register(2); - if let Some(library_name) = self.machine_st.value_to_str_like(library_name) { - let stub_gen = || functor_stub(atom!("use_foreign_module"), 2); - match self.machine_st.try_from_list(args_reg, stub_gen) { - Ok(addrs) => { - let mut functions = Vec::new(); - for heap_cell in addrs { - read_heap_cell!(heap_cell, - (HeapCellValueTag::Str, s) => { - let name = cell_as_atom_cell!(self.machine_st.heap[s]).get_name(); - let args: Vec = match self.machine_st.try_from_list(self.machine_st.heap[s + 1], stub_gen) { - Ok(addrs) => { - let mut args = Vec::new(); - for heap_cell in addrs { - args.push(cell_as_atom_cell!(heap_cell).get_name()); - } - args - } - Err(e) => return Err(e) - }; - let return_value = cell_as_atom_cell!(self.machine_st.heap[s + 2]); - functions.push(FunctionDefinition { - name: name.as_str().to_string(), - args, - return_value: return_value.get_name(), - }); - } - _ => { - unreachable!() - } - ) - } - if let Ok(_) = self.foreign_function_table.load_library(library_name.as_str(), &functions) { - return Ok(()); - } - } - Err(e) => return Err(e) - }; - } - self.machine_st.fail = true; - Ok(()) + let library_name = self.deref_register(1); + let args_reg = self.deref_register(2); + if let Some(library_name) = self.machine_st.value_to_str_like(library_name) { + let stub_gen = || functor_stub(atom!("use_foreign_module"), 2); + match self.machine_st.try_from_list(args_reg, stub_gen) { + Ok(addrs) => { + let mut functions = Vec::new(); + for heap_cell in addrs { + read_heap_cell!(heap_cell, + (HeapCellValueTag::Str, s) => { + let name = cell_as_atom_cell!(self.machine_st.heap[s]).get_name(); + let args: Vec = match self.machine_st.try_from_list(self.machine_st.heap[s + 1], stub_gen) { + Ok(addrs) => { + let mut args = Vec::new(); + for heap_cell in addrs { + args.push(cell_as_atom_cell!(heap_cell).get_name()); + } + args + } + Err(e) => return Err(e) + }; + let return_value = cell_as_atom_cell!(self.machine_st.heap[s + 2]); + functions.push(FunctionDefinition { + name: name.as_str().to_string(), + args, + return_value: return_value.get_name(), + }); + } + _ => { + unreachable!() + } + ) + } + if let Ok(_) = self + .foreign_function_table + .load_library(&*library_name.as_str(), &functions) + { + return Ok(()); + } + } + Err(e) => return Err(e), + }; + } + self.machine_st.fail = true; + Ok(()) } #[cfg(feature = "ffi")] #[inline(always)] pub(crate) fn foreign_call(&mut self) -> CallResult { - let function_name = self.deref_register(1); - let args_reg = self.deref_register(2); - let return_value = self.deref_register(3); - if let Some(function_name) = self.machine_st.value_to_str_like(function_name) { - let stub_gen = || functor_stub(atom!("foreign_call"), 3); - fn map_arg(mut machine_st: &mut MachineState, source: HeapCellValue) -> crate::ffi::Value { - match Number::try_from(source) { - Ok(Number::Fixnum(n)) => { - Value::Int(n.get_num()) - }, - Ok(Number::Float(n)) => { - Value::Float(n.into_inner()) - }, - _ => { - let stub_gen = || functor_stub(atom!("foreign_call"), 3); - if let Some(string) = machine_st.value_to_str_like(source) { - Value::CString(CString::new(string.as_str()).unwrap()) - } else { - match machine_st.try_from_list(source, stub_gen) { - Ok(args) => { - let mut iter = args.into_iter(); - if let Some(struct_name) = machine_st.value_to_str_like(iter.next().unwrap()) { - Value::Struct(struct_name.as_str().to_string(), iter.map(|x| map_arg(&mut machine_st, x)).collect()) - } else { - unreachable!() - } - } - _ => { - unreachable!() - } - } - } - } - } - } + let function_name = self.deref_register(1); + let args_reg = self.deref_register(2); + let return_value = self.deref_register(3); + if let Some(function_name) = self.machine_st.value_to_str_like(function_name) { + let stub_gen = || functor_stub(atom!("foreign_call"), 3); + fn map_arg( + mut machine_st: &mut MachineState, + source: HeapCellValue, + ) -> crate::ffi::Value { + match Number::try_from(source) { + Ok(Number::Fixnum(n)) => Value::Int(n.get_num()), + Ok(Number::Float(n)) => Value::Float(n.into_inner()), + _ => { + let stub_gen = || functor_stub(atom!("foreign_call"), 3); + if let Some(string) = machine_st.value_to_str_like(source) { + Value::CString(CString::new(&*string.as_str()).unwrap()) + } else { + match machine_st.try_from_list(source, stub_gen) { + Ok(args) => { + let mut iter = args.into_iter(); + if let Some(struct_name) = + machine_st.value_to_str_like(iter.next().unwrap()) + { + Value::Struct( + struct_name.as_str().to_string(), + iter.map(|x| map_arg(&mut machine_st, x)).collect(), + ) + } else { + unreachable!() + } + } + _ => { + unreachable!() + } + } + } + } + } + } - match self.machine_st.try_from_list(args_reg, stub_gen) { - Ok(args) => { - let args: Vec<_> = args.into_iter().map(|x| map_arg(&mut self.machine_st, x)).collect(); - match self.foreign_function_table.exec(function_name.as_str(), args) { - Ok(result) => { - match result { - Value::Int(n) => self.machine_st.unify_fixnum(Fixnum::build_with(n), return_value), - Value::Float(n) => { - let n = float_alloc!(n, self.machine_st.arena); - self.machine_st.unify_f64(n, return_value) - }, - Value::Struct(name, args) => { - let struct_value = self.build_struct(&name, args); - unify!(self.machine_st, return_value, struct_value); - } - Value::CString(cstr) => { - let cstr = self.machine_st.atom_tbl.build_with(cstr.to_str().unwrap()); - self.machine_st.unify_complete_string(cstr, return_value); - } - } - return Ok(()); - }, - Err(e) => { - let stub = functor_stub(atom!("current_input"), 1); - let err = self.machine_st.ffi_error(e); + match self.machine_st.try_from_list(args_reg, stub_gen) { + Ok(args) => { + let args: Vec<_> = args + .into_iter() + .map(|x| map_arg(&mut self.machine_st, x)) + .collect(); + match self + .foreign_function_table + .exec(&*function_name.as_str(), args) + { + Ok(result) => { + match result { + Value::Int(n) => self + .machine_st + .unify_fixnum(Fixnum::build_with(n), return_value), + Value::Float(n) => { + let n = float_alloc!(n, self.machine_st.arena); + self.machine_st.unify_f64(n, return_value) + } + Value::Struct(name, args) => { + let struct_value = self.build_struct(&name, args); + unify!(self.machine_st, return_value, struct_value); + } + Value::CString(cstr) => { + let cstr = AtomTable::build_with( + &self.machine_st.atom_tbl, + cstr.to_str().unwrap(), + ); + self.machine_st.unify_complete_string(cstr, return_value); + } + } + return Ok(()); + } + Err(e) => { + let stub = functor_stub(atom!("current_input"), 1); + let err = self.machine_st.ffi_error(e); return Err(self.machine_st.error_form(err, stub)); - } - } - } - Err(e) => return Err(e) - } - } - self.machine_st.fail = true; - Ok(()) + } + } + } + Err(e) => return Err(e), + } + } + self.machine_st.fail = true; + Ok(()) } #[cfg(feature = "ffi")] fn build_struct(&mut self, name: &str, mut args: Vec) -> HeapCellValue { - args.insert(0, Value::CString(CString::new(name).unwrap())); - let cells: Vec<_> = args.into_iter() - .map(|val| { - match val { - Value::Int(n) => fixnum_as_cell!(Fixnum::build_with(n)), - Value::Float(n) => HeapCellValue::from(float_alloc!(n, self.machine_st.arena)), - Value::CString(cstr) => atom_as_cell!(self.machine_st.atom_tbl.build_with(&cstr.into_string().unwrap())), - Value::Struct(name, struct_args) => self.build_struct(&name, struct_args), - } - }).collect(); + args.insert(0, Value::CString(CString::new(name).unwrap())); + let cells: Vec<_> = args + .into_iter() + .map(|val| match val { + Value::Int(n) => fixnum_as_cell!(Fixnum::build_with(n)), + Value::Float(n) => HeapCellValue::from(float_alloc!(n, self.machine_st.arena)), + Value::CString(cstr) => atom_as_cell!(AtomTable::build_with( + &self.machine_st.atom_tbl, + &cstr.into_string().unwrap() + )), + Value::Struct(name, struct_args) => self.build_struct(&name, struct_args), + }) + .collect(); - heap_loc_as_cell!( - iter_to_heap_list( - &mut self.machine_st.heap, - cells.into_iter() - ) - ) + heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + cells.into_iter() + )) } #[cfg(feature = "ffi")] #[inline(always)] pub(crate) fn define_foreign_struct(&mut self) -> CallResult { - let struct_name = self.deref_register(1); - let fields_reg = self.deref_register(2); - if let Some(struct_name) = self.machine_st.value_to_str_like(struct_name) { - let stub_gen = || functor_stub(atom!("define_foreign_struct"), 2); - let fields: Vec = match self.machine_st.try_from_list(fields_reg, stub_gen) { - Ok(addrs) => { - let mut args = Vec::new(); - for heap_cell in addrs { - args.push(cell_as_atom_cell!(heap_cell).get_name()); - } - args - } - Err(e) => return Err(e) - }; - self.foreign_function_table.define_struct(struct_name.as_str(), fields); - return Ok(()) - } - self.machine_st.fail = true; - Ok(()) + let struct_name = self.deref_register(1); + let fields_reg = self.deref_register(2); + if let Some(struct_name) = self.machine_st.value_to_str_like(struct_name) { + let stub_gen = || functor_stub(atom!("define_foreign_struct"), 2); + let fields: Vec = match self.machine_st.try_from_list(fields_reg, stub_gen) { + Ok(addrs) => { + let mut args = Vec::new(); + for heap_cell in addrs { + args.push(cell_as_atom_cell!(heap_cell).get_name()); + } + args + } + Err(e) => return Err(e), + }; + self.foreign_function_table + .define_struct(&*struct_name.as_str(), fields); + return Ok(()); + } + self.machine_st.fail = true; + Ok(()) } #[inline(always)] pub(crate) fn current_time(&mut self) { let timestamp = self.systemtime_to_timestamp(SystemTime::now()); - self.machine_st.unify_complete_string(timestamp, self.machine_st.registers[1]); + self.machine_st + .unify_complete_string(timestamp, self.machine_st.registers[1]); } #[inline(always)] @@ -4768,17 +4924,17 @@ impl Machine { let reposition = self.machine_st.registers[6]; let stream_type = self.machine_st.registers[7]; - let options = self.machine_st.to_stream_options(alias, eof_action, reposition, stream_type); + let options = self + .machine_st + .to_stream_options(alias, eof_action, reposition, stream_type); let src_sink = self.deref_register(1); if let Some(file_spec) = self.machine_st.value_to_str_like(src_sink) { - let file_spec = file_spec.as_atom(&mut self.machine_st.atom_tbl); + let file_spec = file_spec.as_atom(&*self.machine_st.atom_tbl); - let mut stream = self.machine_st.stream_from_file_spec( - file_spec, - &mut self.indices, - &options, - )?; + let mut stream = + self.machine_st + .stream_from_file_spec(file_spec, &mut self.indices, &options)?; *stream.options_mut() = options; self.indices.streams.insert(stream); @@ -4788,9 +4944,12 @@ impl Machine { } let stream_var = self.deref_register(3); - self.machine_st.bind(stream_var.as_var().unwrap(), stream_as_cell!(stream)); + self.machine_st + .bind(stream_var.as_var().unwrap(), stream_as_cell!(stream)); } else { - let err = self.machine_st.domain_error(DomainErrorType::SourceSink, src_sink); + let err = self + .machine_st + .domain_error(DomainErrorType::SourceSink, src_sink); let stub = functor_stub(atom!("open"), 4); return Err(self.machine_st.error_form(err, stub)); @@ -4817,7 +4976,7 @@ impl Machine { let op = read_heap_cell!(self.deref_register(3), (HeapCellValueTag::Char, c) => { - self.machine_st.atom_tbl.build_with(&c.to_string()) + AtomTable::build_with(&self.machine_st.atom_tbl, &c.to_string()) } (HeapCellValueTag::Atom, (name, _arity)) => { name @@ -4871,7 +5030,9 @@ impl Machine { let reposition = self.machine_st.registers[4]; let stream_type = self.machine_st.registers[5]; - let options = self.machine_st.to_stream_options(alias, eof_action, reposition, stream_type); + let options = self + .machine_st + .to_stream_options(alias, eof_action, reposition, stream_type); *stream.options_mut() = options; Ok(()) @@ -4879,12 +5040,14 @@ impl Machine { #[inline(always)] pub(crate) fn truncate_if_no_lifted_heap_growth_diff(&mut self) { - self.machine_st.truncate_if_no_lifted_heap_diff(|h| heap_loc_as_cell!(h)) + self.machine_st + .truncate_if_no_lifted_heap_diff(|h| heap_loc_as_cell!(h)) } #[inline(always)] pub(crate) fn truncate_if_no_lifted_heap_growth(&mut self) { - self.machine_st.truncate_if_no_lifted_heap_diff(|_| empty_list_as_cell!()) + self.machine_st + .truncate_if_no_lifted_heap_diff(|_| empty_list_as_cell!()) } #[inline(always)] @@ -4904,7 +5067,8 @@ impl Machine { ); let list_addr = self.deref_register(2); - self.machine_st.bind(Ref::heap_cell(attr_var_list), list_addr); + self.machine_st + .bind(Ref::heap_cell(attr_var_list), list_addr); } #[inline(always)] @@ -4924,17 +5088,19 @@ impl Machine { let module = self.deref_register(2); match self.match_attribute(attr_var_list, module, attr) { - Some(AttrListMatch { match_site: MatchSite::Match(match_site), .. }) => { + Some(AttrListMatch { + match_site: MatchSite::Match(match_site), + .. + }) => { let list_head = self.machine_st.heap[match_site]; if list_head.get_value() as usize == match_site { // at the end of the list, no match found in this case. self.machine_st.fail = true; } else { - let (_, qualified_goal) = self.machine_st.strip_module( - list_head, - empty_list_as_cell!(), - ); + let (_, qualified_goal) = self + .machine_st + .strip_module(list_head, empty_list_as_cell!()); unify!(self.machine_st, qualified_goal, attr); } @@ -4972,9 +5138,8 @@ impl Machine { if let Some(b) = b { let iter = self.machine_st.gather_attr_vars_created_since(b); - let var_list_addr = heap_loc_as_cell!( - iter_to_heap_list(&mut self.machine_st.heap, iter) - ); + let var_list_addr = + heap_loc_as_cell!(iter_to_heap_list(&mut self.machine_st.heap, iter)); let list_addr = self.machine_st.registers[2]; unify!(self.machine_st, var_list_addr, list_addr); @@ -4997,7 +5162,10 @@ impl Machine { let module = self.deref_register(2); match self.match_attribute(self.machine_st.heap[attr_var_list], module, attr) { - Some(AttrListMatch { prev_tail, match_site: MatchSite::Match(match_site) }) => { + Some(AttrListMatch { + prev_tail, + match_site: MatchSite::Match(match_site), + }) => { let prev_tail = if let Some(prev_tail) = prev_tail { // not at the head. prev_tail @@ -5020,10 +5188,10 @@ impl Machine { self.machine_st.heap[prev_tail] = heap_loc_as_cell!(prev_tail); } - self.machine_st.trail(TrailRef::AttrVarListLink(prev_tail, match_site)); - } - _ => { + self.machine_st + .trail(TrailRef::AttrVarListLink(prev_tail, match_site)); } + _ => {} } } @@ -5060,8 +5228,10 @@ impl Machine { let h = self.machine_st.heap.len(); - self.machine_st.heap.push(str_loc_as_cell!(h+1)); - self.machine_st.heap.extend(functor!(atom!(":"), [cell(module), cell(attr)])); + self.machine_st.heap.push(str_loc_as_cell!(h + 1)); + self.machine_st + .heap + .extend(functor!(atom!(":"), [cell(module), cell(attr)])); match self.match_attribute(self.machine_st.heap[attr_var_list], module, attr) { Some(AttrListMatch { match_site, .. }) => { @@ -5070,9 +5240,9 @@ impl Machine { let l = self.machine_st.heap[match_site].get_value(); // at the end of the (non-empty) list here. - self.machine_st.heap[match_site] = list_loc_as_cell!(h+4); + self.machine_st.heap[match_site] = list_loc_as_cell!(h + 4); self.machine_st.heap.push(heap_loc_as_cell!(h)); - self.machine_st.heap.push(heap_loc_as_cell!(h+5)); + self.machine_st.heap.push(heap_loc_as_cell!(h + 5)); (match_site, l) } @@ -5084,16 +5254,21 @@ impl Machine { } }; - self.machine_st.trail(TrailRef::AttrVarListLink(match_site, l as usize)); + self.machine_st + .trail(TrailRef::AttrVarListLink(match_site, l as usize)); } None => { // the list is empty. - self.machine_st.heap[attr_var_list] = list_loc_as_cell!(h+4); + self.machine_st.heap[attr_var_list] = list_loc_as_cell!(h + 4); self.machine_st.heap.push(heap_loc_as_cell!(h)); - self.machine_st.heap.push(heap_loc_as_cell!(h+5)); + self.machine_st.heap.push(heap_loc_as_cell!(h + 5)); - self.machine_st.attr_var_init.attr_var_queue.push(attr_var_list - 1); - self.machine_st.trail(TrailRef::AttrVarListLink(attr_var_list, attr_var_list)); + self.machine_st + .attr_var_init + .attr_var_queue + .push(attr_var_list - 1); + self.machine_st + .trail(TrailRef::AttrVarListLink(attr_var_list, attr_var_list)); } } } @@ -5210,7 +5385,9 @@ impl Machine { let chunk = str_loc_as_cell!(self.machine_st.heap.len()); - self.machine_st.heap.push(atom_as_cell!(atom!("cont_chunk"), 1 + num_cells)); + self.machine_st + .heap + .push(atom_as_cell!(atom!("cont_chunk"), 1 + num_cells)); self.machine_st.heap.push(p_functor); self.machine_st.heap.extend(addrs); @@ -5220,9 +5397,8 @@ impl Machine { #[inline(always)] pub(crate) fn get_lifted_heap_from_offset_diff(&mut self) { let lh_offset = self.machine_st.registers[1]; - let lh_offset = cell_as_fixnum!( - self.machine_st.store(self.machine_st.deref(lh_offset)) - ).get_num() as usize; + let lh_offset = cell_as_fixnum!(self.machine_st.store(self.machine_st.deref(lh_offset))) + .get_num() as usize; if lh_offset >= self.machine_st.lifted_heap.len() { let solutions = self.machine_st.registers[2]; @@ -5233,7 +5409,7 @@ impl Machine { let h = self.machine_st.heap.len(); let mut last_index = h; - for value in self.machine_st.lifted_heap[lh_offset ..].iter().cloned() { + for value in self.machine_st.lifted_heap[lh_offset..].iter().cloned() { last_index = self.machine_st.heap.len(); self.machine_st.heap.push(value + h); } @@ -5253,9 +5429,8 @@ impl Machine { #[inline(always)] pub(crate) fn get_lifted_heap_from_offset(&mut self) { let lh_offset = self.machine_st.registers[1]; - let lh_offset = cell_as_fixnum!(self.machine_st.store(self.machine_st.deref( - lh_offset - ))).get_num() as usize; + let lh_offset = cell_as_fixnum!(self.machine_st.store(self.machine_st.deref(lh_offset))) + .get_num() as usize; if lh_offset >= self.machine_st.lifted_heap.len() { let solutions = self.machine_st.registers[2]; @@ -5307,7 +5482,12 @@ impl Machine { let dest = self.machine_st.registers[1]; if let Some((addr, b_cutoff, prev_block)) = self.machine_st.cont_pts.pop() { - let b = self.machine_st.stack.index_or_frame(self.machine_st.b).prelude.b; + let b = self + .machine_st + .stack + .index_or_frame(self.machine_st.b) + .prelude + .b; if b <= b_cutoff { self.machine_st.scc_block = prev_block; @@ -5374,10 +5554,7 @@ impl Machine { value }, _ => { - let stub = functor_stub( - atom!("call_with_inference_limit"), - 3, - ); + let stub = functor_stub(atom!("call_with_inference_limit"), 3); let err = self.machine_st.type_error(ValidType::Integer, a2); return Err(self.machine_st.error_form(err, stub)); @@ -5415,7 +5592,7 @@ impl Machine { let a3 = self.deref_register(3); let arity = match Number::try_from(a3) { - Ok(Number::Fixnum(n)) => n.get_num() as usize, + Ok(Number::Fixnum(n)) => n.get_num() as usize, Ok(Number::Integer(n)) => { let result = (&*n).try_into(); @@ -5430,12 +5607,10 @@ impl Machine { } }; - self.indices.get_predicate_code_index( - name, - arity, - module_name, - ).map(|index| index.local().is_some()) - .unwrap_or(false) + self.indices + .get_predicate_code_index(name, arity, module_name) + .map(|index| index.local().is_some()) + .unwrap_or(false) } #[inline(always)] @@ -5532,7 +5707,7 @@ impl Machine { if bp == self.machine_st.b && self.machine_st.cwil.is_empty() { self.machine_st.cwil.reset(); - self.machine_st.increment_call_count_fn = |_| { Ok(()) }; + self.machine_st.increment_call_count_fn = |_| Ok(()); } } @@ -5565,13 +5740,18 @@ impl Machine { self.machine_st.registers[i] = self.machine_st.stack[stack_loc!(AndFrame, e, i)]; } - self.machine_st.b0 = cell_as_fixnum!(self.machine_st.stack[stack_loc!(AndFrame, e, frame_len - 2)]) - .get_num() as usize; + self.machine_st.b0 = cell_as_fixnum!( + self.machine_st.stack[stack_loc!(AndFrame, e, frame_len - 2)] + ) + .get_num() as usize; - self.machine_st.num_of_args = cell_as_fixnum!(self.machine_st.stack[stack_loc!(AndFrame, e, frame_len - 1)]) - .get_num() as usize; + self.machine_st.num_of_args = cell_as_fixnum!( + self.machine_st.stack[stack_loc!(AndFrame, e, frame_len - 1)] + ) + .get_num() as usize; - let p = cell_as_fixnum!(self.machine_st.stack[stack_loc!(AndFrame, e, frame_len)]).get_num() as usize; + let p = cell_as_fixnum!(self.machine_st.stack[stack_loc!(AndFrame, e, frame_len)]).get_num() + as usize; self.machine_st.deallocate(); self.machine_st.p = p; @@ -5580,13 +5760,15 @@ impl Machine { #[inline(always)] pub(crate) fn restore_cut_policy(&mut self) { if self.machine_st.cont_pts.is_empty() { - self.machine_st.run_cleaners_fn = |_| { false }; + self.machine_st.run_cleaners_fn = |_| false; } } #[inline(always)] pub(crate) fn set_cut_point(&mut self, r: RegType) -> bool { - let cp = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); + let cp = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); self.machine_st.cut_body(cp); (self.machine_st.run_cleaners_fn)(self) @@ -5594,7 +5776,9 @@ impl Machine { #[inline(always)] pub(crate) fn set_cut_point_by_default(&mut self, r: RegType) { - let cp = self.machine_st.store(self.machine_st.deref(self.machine_st[r])); + let cp = self + .machine_st + .store(self.machine_st.deref(self.machine_st[r])); self.machine_st.cut_body(cp); } @@ -5689,7 +5873,12 @@ impl Machine { let a2 = self.deref_register(2); let bp = cell_as_fixnum!(a2).get_num() as usize; - let prev_b = self.machine_st.stack.index_or_frame(self.machine_st.b).prelude.b; + let prev_b = self + .machine_st + .stack + .index_or_frame(self.machine_st.b) + .prelude + .b; if prev_b <= bp { self.machine_st.unify_atom(atom!("!"), a1) @@ -5732,9 +5921,9 @@ impl Machine { #[inline(always)] pub(crate) fn push_ball_stack(&mut self) { if self.machine_st.ball.stub.len() > 0 { - self.machine_st.ball_stack.push( - mem::replace(&mut self.machine_st.ball, Ball::new()) - ); + self.machine_st + .ball_stack + .push(mem::replace(&mut self.machine_st.ball, Ball::new())); } else { self.machine_st.fail = true; } @@ -5771,13 +5960,15 @@ impl Machine { #[inline(always)] pub(crate) fn get_b_value(&mut self) { let n = Fixnum::as_cutpoint(i64::try_from(self.machine_st.b).unwrap()); - self.machine_st.unify_fixnum(n, self.machine_st.registers[1]); + self.machine_st + .unify_fixnum(n, self.machine_st.registers[1]); } #[inline(always)] pub(crate) fn get_cut_point(&mut self) { let n = Fixnum::as_cutpoint(i64::try_from(self.machine_st.b0).unwrap()); - self.machine_st.unify_fixnum(n, self.machine_st.registers[1]); + self.machine_st + .unify_fixnum(n, self.machine_st.registers[1]); } #[inline(always)] @@ -5801,7 +5992,9 @@ impl Machine { let p = str_loc_as_cell!(machine_st.heap.len()); - machine_st.heap.extend(functor!(atom!("dir_entry"), [fixnum(cp)])); + machine_st + .heap + .extend(functor!(atom!("dir_entry"), [fixnum(cp)])); machine_st.unify_fixnum(e, machine_st.registers[2]); if !machine_st.fail { @@ -5906,7 +6099,9 @@ impl Machine { set_prompt(true); // let result = self.machine_st.read_term(self.user_input, &mut self.indices); - let result = self.machine_st.read_term_from_user_input(self.user_input, &mut self.indices); + let result = self + .machine_st + .read_term_from_user_input(self.user_input, &mut self.indices); set_prompt(false); match result { @@ -5930,9 +6125,17 @@ impl Machine { )?; if let Stream::Readline(..) = stream { - self.machine_st.read_term(stream, &mut self.indices, MachineState::read_term_from_user_input_eof_handler) + self.machine_st.read_term( + stream, + &mut self.indices, + MachineState::read_term_from_user_input_eof_handler, + ) } else { - self.machine_st.read_term(stream, &mut self.indices, MachineState::read_term_eof_handler) + self.machine_st.read_term( + stream, + &mut self.indices, + MachineState::read_term_eof_handler, + ) } } @@ -5950,14 +6153,11 @@ impl Machine { let mut parser = Parser::new(chars, &mut self.machine_st); let op_dir = CompositeOpDir::new(&self.indices.op_dir, None); - let term_write_result = parser.read_term(&op_dir, Tokens::Default) + let term_write_result = parser + .read_term(&op_dir, Tokens::Default) .map_err(|err| error_after_read_term(err, 0, &parser)) .and_then(|term| { - write_term_to_heap( - &term, - &mut self.machine_st.heap, - &mut self.machine_st.atom_tbl, - ) + write_term_to_heap(&term, &mut self.machine_st.heap, &self.machine_st.atom_tbl) }); match term_write_result { @@ -5979,7 +6179,10 @@ impl Machine { #[inline(always)] pub(crate) fn read_from_chars(&mut self) -> CallResult { - if let Some(atom_or_string) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { + if let Some(atom_or_string) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { if let Some(term_write_result) = self.read_term_and_write_to_heap(atom_or_string)? { let result = heap_loc_as_cell!(term_write_result.heap_loc); let var = self.deref_register(2).as_var().unwrap(); @@ -5995,7 +6198,10 @@ impl Machine { #[inline(always)] pub(crate) fn read_term_from_chars(&mut self) -> CallResult { - if let Some(atom_or_string) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { + if let Some(atom_or_string) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { if let Some(term_write_result) = self.read_term_and_write_to_heap(atom_or_string)? { self.machine_st.read_term_body(term_write_result) } else { @@ -6058,7 +6264,6 @@ impl Machine { pub(crate) fn set_seed(&mut self) { let seed = self.deref_register(1); - match Number::try_from(seed) { Ok(Number::Fixnum(n)) => { let n: u64 = Integer::from(n).try_into().unwrap(); @@ -6073,7 +6278,7 @@ impl Machine { let n: u64 = n.numerator().try_into().unwrap(); let _: StdRng = SeedableRng::seed_from_u64(n); } - }, + } _ => { self.machine_st.fail = true; } @@ -6119,7 +6324,7 @@ impl Machine { name } _ => { - self.machine_st.atom_tbl.build_with(&match Number::try_from(port) { + AtomTable::build_with(&self.machine_st.atom_tbl, &match Number::try_from(port) { Ok(Number::Fixnum(n)) => n.get_num().to_string(), Ok(Number::Integer(n)) => n.to_string(), _ => { @@ -6133,7 +6338,7 @@ impl Machine { atom!("127.0.0.1:80") } else { let buffer = format!("{}:{}", socket_atom.as_str(), port.as_str()); - self.machine_st.atom_tbl.build_with(&buffer) + AtomTable::build_with(&self.machine_st.atom_tbl, &buffer) }; let alias = self.machine_st.registers[4]; @@ -6141,10 +6346,14 @@ impl Machine { let reposition = self.machine_st.registers[6]; let stream_type = self.machine_st.registers[7]; - let options = self.machine_st.to_stream_options(alias, eof_action, reposition, stream_type); + let options = self + .machine_st + .to_stream_options(alias, eof_action, reposition, stream_type); if options.reposition() { - return Err(self.machine_st.reposition_error(atom!("socket_client_open"), 3)); + return Err(self + .machine_st + .reposition_error(atom!("socket_client_open"), 3)); } if let Some(alias) = options.get_alias() { @@ -6157,9 +6366,10 @@ impl Machine { } } - let stream = match TcpStream::connect(socket_addr.as_str()).map_err(|e| e.kind()) { + let stream = match TcpStream::connect(&*socket_addr.as_str()).map_err(|e| e.kind()) { Ok(tcp_stream) => { - let mut stream = Stream::from_tcp_stream(socket_addr, tcp_stream, &mut self.machine_st.arena); + let mut stream = + Stream::from_tcp_stream(socket_addr, tcp_stream, &mut self.machine_st.arena); *stream.options_mut() = options; @@ -6172,13 +6382,17 @@ impl Machine { stream_as_cell!(stream) } Err(ErrorKind::PermissionDenied) => { - return Err(self.machine_st.open_permission_error(addr, atom!("socket_client_open"), 3)); + return Err(self.machine_st.open_permission_error( + addr, + atom!("socket_client_open"), + 3, + )); } Err(ErrorKind::NotFound) => { let stub = functor_stub(atom!("socket_client_open"), 3); - let err = self.machine_st.existence_error( - ExistenceError::SourceSink(addr), - ); + let err = self + .machine_st + .existence_error(ExistenceError::SourceSink(addr)); return Err(self.machine_st.error_form(err, stub)); } @@ -6228,32 +6442,44 @@ impl Machine { format!("{}:{}", socket_atom.as_str(), port) }; - let (tcp_listener, port) = - match TcpListener::bind(server_addr).map_err(|e| e.kind()) { - Ok(tcp_listener) => { - let port = tcp_listener.local_addr().map(|addr| addr.port()).ok(); + let (tcp_listener, port) = match TcpListener::bind(server_addr).map_err(|e| e.kind()) { + Ok(tcp_listener) => { + let port = tcp_listener.local_addr().map(|addr| addr.port()).ok(); - if let Some(port) = port { - (arena_alloc!(tcp_listener, &mut self.machine_st.arena), port as usize) - } else { - self.machine_st.fail = true; - return Ok(()); - } - } - Err(ErrorKind::PermissionDenied) => { - return Err(self.machine_st.open_permission_error(addr, atom!("socket_server_open"), 2)); - } - _ => { + if let Some(port) = port { + ( + arena_alloc!(tcp_listener, &mut self.machine_st.arena), + port as usize, + ) + } else { self.machine_st.fail = true; return Ok(()); } - }; + } + Err(ErrorKind::PermissionDenied) => { + return Err(self.machine_st.open_permission_error( + addr, + atom!("socket_server_open"), + 2, + )); + } + _ => { + self.machine_st.fail = true; + return Ok(()); + } + }; let addr = self.deref_register(3); - self.machine_st.bind(addr.as_var().unwrap(), typed_arena_ptr_as_cell!(tcp_listener)); + self.machine_st.bind( + addr.as_var().unwrap(), + typed_arena_ptr_as_cell!(tcp_listener), + ); if had_zero_port { - self.machine_st.unify_fixnum(Fixnum::build_with(port as i64), self.machine_st.registers[2]); + self.machine_st.unify_fixnum( + Fixnum::build_with(port as i64), + self.machine_st.registers[2], + ); } Ok(()) @@ -6266,10 +6492,14 @@ impl Machine { let reposition = self.machine_st.registers[6]; let stream_type = self.machine_st.registers[7]; - let options = self.machine_st.to_stream_options(alias, eof_action, reposition, stream_type); + let options = self + .machine_st + .to_stream_options(alias, eof_action, reposition, stream_type); if options.reposition() { - return Err(self.machine_st.reposition_error(atom!("socket_server_accept"), 4)); + return Err(self + .machine_st + .reposition_error(atom!("socket_server_accept"), 4)); } if let Some(alias) = options.get_alias() { @@ -6290,7 +6520,7 @@ impl Machine { (ArenaHeaderTag::TcpListener, tcp_listener) => { match tcp_listener.accept().ok() { Some((tcp_stream, socket_addr)) => { - let client = self.machine_st.atom_tbl.build_with(&socket_addr.to_string()); + let client = AtomTable::build_with(&self.machine_st.atom_tbl, &socket_addr.to_string()); let mut tcp_stream = Stream::from_tcp_stream( client, @@ -6334,7 +6564,10 @@ impl Machine { #[cfg(feature = "tls")] #[inline(always)] pub(crate) fn tls_client_connect(&mut self) -> CallResult { - if let Some(hostname) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { + if let Some(hostname) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { let stream0 = self.machine_st.get_stream_or_alias( self.machine_st.registers[2], &self.indices.stream_aliases, @@ -6343,17 +6576,16 @@ impl Machine { )?; let connector = TlsConnector::new().unwrap(); - let stream = - match connector.connect(hostname.as_str(), stream0) { - Ok(tls_stream) => tls_stream, - Err(_) => { - return Err(self.machine_st.open_permission_error( - self.machine_st.registers[1], - atom!("tls_client_negotiate"), - 3, - )); - } - }; + let stream = match connector.connect(&*hostname.as_str(), stream0) { + Ok(tls_stream) => tls_stream, + Err(_) => { + return Err(self.machine_st.open_permission_error( + self.machine_st.registers[1], + atom!("tls_client_negotiate"), + 3, + )); + } + }; let addr = atom!("TLS"); let stream = Stream::from_tls_stream(addr, stream, &mut self.machine_st.arena); @@ -6361,7 +6593,8 @@ impl Machine { self.machine_st.heap.push(stream_as_cell!(stream)); let stream_addr = self.deref_register(3); - self.machine_st.bind(stream_addr.as_var().unwrap(), stream_as_cell!(stream)); + self.machine_st + .bind(stream_addr.as_var().unwrap(), stream_as_cell!(stream)); Ok(()) } else { @@ -6374,18 +6607,20 @@ impl Machine { pub(crate) fn tls_accept_client(&mut self) -> CallResult { let pkcs12 = self.string_encoding_bytes(self.machine_st.registers[1], atom!("octet")); - if let Some(password) = self.machine_st.value_to_str_like(self.machine_st.registers[2]) { - let identity = - match Identity::from_pkcs12(&pkcs12, password.as_str()) { - Ok(identity) => identity, - Err(_) => { - return Err(self.machine_st.open_permission_error( - self.machine_st.registers[1], - atom!("tls_server_negotiate"), - 3, - )); - } - }; + if let Some(password) = self + .machine_st + .value_to_str_like(self.machine_st.registers[2]) + { + let identity = match Identity::from_pkcs12(&pkcs12, &*password.as_str()) { + Ok(identity) => identity, + Err(_) => { + return Err(self.machine_st.open_permission_error( + self.machine_st.registers[1], + atom!("tls_server_negotiate"), + 3, + )); + } + }; let stream0 = self.machine_st.get_stream_or_alias( self.machine_st.registers[3], @@ -6396,23 +6631,23 @@ impl Machine { let acceptor = TlsAcceptor::new(identity).unwrap(); - let stream = - match acceptor.accept(stream0) { - Ok(tls_stream) => tls_stream, - Err(_) => { - return Err(self.machine_st.open_permission_error( - self.machine_st.registers[3], - atom!("tls_server_negotiate"), - 3, - )); - } - }; + let stream = match acceptor.accept(stream0) { + Ok(tls_stream) => tls_stream, + Err(_) => { + return Err(self.machine_st.open_permission_error( + self.machine_st.registers[3], + atom!("tls_server_negotiate"), + 3, + )); + } + }; let stream = Stream::from_tls_stream(atom!("TLS"), stream, &mut self.machine_st.arena); self.indices.streams.insert(stream); let stream_addr = self.deref_register(4); - self.machine_st.bind(stream_addr.as_var().unwrap(), stream_as_cell!(stream)); + self.machine_st + .bind(stream_addr.as_var().unwrap(), stream_as_cell!(stream)); } else { unreachable!(); } @@ -6514,14 +6749,15 @@ impl Machine { }) } atom!("mode") => atom_as_cell!(stream.mode()), - atom!("direction") => + atom!("direction") => { atom_as_cell!(if stream.is_input_stream() && stream.is_output_stream() { atom!("input_output") } else if stream.is_input_stream() { atom!("input") } else { atom!("output") - }), + }) + } atom!("alias") => { atom_as_cell!(if let Some(alias) = stream.options().get_alias() { alias @@ -6536,8 +6772,10 @@ impl Machine { let position_term = functor!( atom!("position_and_lines_read"), - [integer(position, &mut self.machine_st.arena), - integer(lines_read, &mut self.machine_st.arena)] + [ + integer(position, &mut self.machine_st.arena), + integer(lines_read, &mut self.machine_st.arena) + ] ); self.machine_st.heap.extend(position_term.into_iter()); @@ -6554,12 +6792,11 @@ impl Machine { atom!("eof_action") => { atom_as_cell!(stream.options().eof_action().as_atom()) } - atom!("reposition") => - atom_as_cell!(if stream.options().reposition() { - atom!("true") - } else { - atom!("false") - }), + atom!("reposition") => atom_as_cell!(if stream.options().reposition() { + atom!("true") + } else { + atom!("false") + }), atom!("type") => { atom_as_cell!(stream.options().stream_type().as_property_atom()) } @@ -6582,7 +6819,11 @@ impl Machine { ball.boundary = self.machine_st.heap.len(); copy_term( - CopyBallTerm::new(&mut self.machine_st.stack, &mut self.machine_st.heap, &mut ball.stub), + CopyBallTerm::new( + &mut self.machine_st.stack, + &mut self.machine_st.heap, + &mut ball.stub, + ), value, AttrVarPolicy::DeepCopy, ); @@ -6598,7 +6839,8 @@ impl Machine { match self.indices.global_variables.get_mut(&key) { Some((_, ref mut loc)) => match loc { Some(ref mut value) => { - self.machine_st.trail(TrailRef::BlackboardOffset(key, *value)); + self.machine_st + .trail(TrailRef::BlackboardOffset(key, *value)); *value = new_value; } loc @ None => { @@ -6619,18 +6861,18 @@ impl Machine { pub(crate) fn term_attributed_variables(&mut self) { if self.machine_st.registers[1].is_constant() { let a2 = self.deref_register(2); - self.machine_st.unify_atom( - atom!("[]"), - a2, - ); + self.machine_st.unify_atom(atom!("[]"), a2); return; } - let seen_vars = self.machine_st.attr_vars_of_term(self.machine_st.registers[1]); - let outcome = heap_loc_as_cell!( - iter_to_heap_list(&mut self.machine_st.heap, seen_vars.into_iter()) - ); + let seen_vars = self + .machine_st + .attr_vars_of_term(self.machine_st.registers[1]); + let outcome = heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + seen_vars.into_iter() + )); unify_fn!(self.machine_st, self.machine_st.registers[2], outcome); } @@ -6649,9 +6891,10 @@ impl Machine { self.machine_st.variable_set(&mut seen_set, stored_v); - let outcome = heap_loc_as_cell!( - iter_to_heap_list(&mut self.machine_st.heap, seen_set.into_iter()) - ); + let outcome = heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + seen_set.into_iter() + )); unify_fn!(self.machine_st, a2, outcome); } @@ -6659,9 +6902,7 @@ impl Machine { #[inline(always)] pub(crate) fn term_variables_under_max_depth(&mut self) { // Term, MaxDepth, VarList - let max_depth = cell_as_fixnum!( - self.deref_register(2) - ).get_num() as usize; + let max_depth = cell_as_fixnum!(self.deref_register(2)).get_num() as usize; self.machine_st.term_variables_under_max_depth( self.machine_st.registers[1], @@ -6740,9 +6981,10 @@ impl Machine { self.machine_st.heap.extend(functor.into_iter()); } - heap_loc_as_cell!( - iter_to_heap_list(&mut self.machine_st.heap, functor_list.into_iter()) - ) + heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + functor_list.into_iter() + )) } #[inline(always)] @@ -6770,11 +7012,9 @@ impl Machine { Some(module) => module.code_dir.get(&key), None => { let stub = functor_stub(key.0, key.1); - let err = self.machine_st.session_error( - SessionError::from(CompilationError::InvalidModuleResolution( - module_name, - )), - ); + let err = self.machine_st.session_error(SessionError::from( + CompilationError::InvalidModuleResolution(module_name), + )); return Err(self.machine_st.error_form(err, stub)); } @@ -6791,9 +7031,9 @@ impl Machine { } _ => { let stub = functor_stub(name, arity); - let err = self.machine_st.existence_error( - ExistenceError::Procedure(name, arity), - ); + let err = self + .machine_st + .existence_error(ExistenceError::Procedure(name, arity)); return Err(self.machine_st.error_form(err, stub)); } @@ -6880,9 +7120,9 @@ impl Machine { Ok(_) => {} Err(_) => { let stub = functor_stub(atom!("open"), 4); - let err = self.machine_st.existence_error( - ExistenceError::Stream(self.machine_st.registers[1]), - ); + let err = self + .machine_st + .existence_error(ExistenceError::Stream(self.machine_st.registers[1])); return Err(self.machine_st.error_form(err, stub)); } @@ -6911,7 +7151,7 @@ impl Machine { let chars = put_complete_string( &mut self.machine_st.heap, &result, - &mut self.machine_st.atom_tbl, + &self.machine_st.atom_tbl, ); let result_addr = self.deref_register(1); @@ -6930,13 +7170,10 @@ impl Machine { use git_version::git_version; let buffer = git_version!(cargo_prefix = "cargo:", fallback = "unknown"); - let buffer_atom = self.machine_st.atom_tbl.build_with(buffer); + let buffer_atom = AtomTable::build_with(&self.machine_st.atom_tbl, buffer); let a1 = self.deref_register(1); - self.machine_st.unify_complete_string( - buffer_atom, - a1, - ); + self.machine_st.unify_complete_string(buffer_atom, a1); } #[inline(always)] @@ -6971,105 +7208,91 @@ impl Machine { let mut context = Sha3_224::new(); context.input(&bytes); - heap_loc_as_cell!( - iter_to_heap_list( - &mut self.machine_st.heap, - context - .result() - .as_ref() - .iter() - .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), - ) - ) + heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + context + .result() + .as_ref() + .iter() + .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), + )) } atom!("sha3_256") => { let mut context = Sha3_256::new(); context.input(&bytes); - heap_loc_as_cell!( - iter_to_heap_list( - &mut self.machine_st.heap, - context - .result() - .as_ref() - .iter() - .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), - ) - ) + heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + context + .result() + .as_ref() + .iter() + .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), + )) } atom!("sha3_384") => { let mut context = Sha3_384::new(); context.input(&bytes); - heap_loc_as_cell!( - iter_to_heap_list( - &mut self.machine_st.heap, - context - .result() - .as_ref() - .iter() - .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), - ) - ) + heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + context + .result() + .as_ref() + .iter() + .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), + )) } atom!("sha3_512") => { let mut context = Sha3_512::new(); context.input(&bytes); - heap_loc_as_cell!( - iter_to_heap_list( - &mut self.machine_st.heap, - context - .result() - .as_ref() - .iter() - .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), - ) - ) + heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + context + .result() + .as_ref() + .iter() + .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), + )) } atom!("blake2s256") => { let mut context = Blake2s::new(); context.input(&bytes); - heap_loc_as_cell!( - iter_to_heap_list( - &mut self.machine_st.heap, - context - .result() - .as_ref() - .iter() - .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), - ) - ) + heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + context + .result() + .as_ref() + .iter() + .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), + )) } atom!("blake2b512") => { let mut context = Blake2b::new(); context.input(&bytes); - heap_loc_as_cell!( - iter_to_heap_list( - &mut self.machine_st.heap, - context - .result() - .as_ref() - .iter() - .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), - ) - ) + heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + context + .result() + .as_ref() + .iter() + .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), + )) } atom!("ripemd160") => { let mut context = Ripemd160::new(); context.input(&bytes); - heap_loc_as_cell!( - iter_to_heap_list( - &mut self.machine_st.heap, - context - .result() - .as_ref() - .iter() - .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), - ) - ) + heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + context + .result() + .as_ref() + .iter() + .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), + )) } _ => { let ints = digest::digest( @@ -7085,14 +7308,12 @@ impl Machine { &bytes, ); - heap_loc_as_cell!( - iter_to_heap_list( - &mut self.machine_st.heap, - ints.as_ref() - .iter() - .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), - ) - ) + heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + ints.as_ref() + .iter() + .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), + )) } }; @@ -7105,10 +7326,14 @@ impl Machine { let data = self.string_encoding_bytes(self.machine_st.registers[1], encoding); let stub1_gen = || functor_stub(atom!("crypto_data_hkdf"), 4); - let salt = self.machine_st.integers_to_bytevec(self.machine_st.registers[3], stub1_gen); + let salt = self + .machine_st + .integers_to_bytevec(self.machine_st.registers[3], stub1_gen); let stub2_gen = || functor_stub(atom!("crypto_data_hkdf"), 4); - let info = self.machine_st.integers_to_bytevec(self.machine_st.registers[4], stub2_gen); + let info = self + .machine_st + .integers_to_bytevec(self.machine_st.registers[4], stub2_gen); let algorithm = cell_as_atom!(self.deref_register(5)); @@ -7154,14 +7379,12 @@ impl Machine { } } - heap_loc_as_cell!( - iter_to_heap_list( - &mut self.machine_st.heap, - bytes - .iter() - .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), - ) - ) + heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + bytes + .iter() + .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), + )) }; unify!(self.machine_st, self.machine_st.registers[7], ints_list); @@ -7170,9 +7393,13 @@ impl Machine { #[inline(always)] pub(crate) fn crypto_password_hash(&mut self) { let stub1_gen = || functor_stub(atom!("crypto_password_hash"), 3); - let data = self.machine_st.integers_to_bytevec(self.machine_st.registers[1], stub1_gen); + let data = self + .machine_st + .integers_to_bytevec(self.machine_st.registers[1], stub1_gen); let stub2_gen = || functor_stub(atom!("crypto_password_hash"), 3); - let salt = self.machine_st.integers_to_bytevec(self.machine_st.registers[2], stub2_gen); + let salt = self + .machine_st + .integers_to_bytevec(self.machine_st.registers[2], stub2_gen); let iterations = self.deref_register(3); @@ -7204,19 +7431,18 @@ impl Machine { &mut bytes, ); - heap_loc_as_cell!( - iter_to_heap_list( - &mut self.machine_st.heap, - bytes - .iter() - .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), - ) - ) + heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + bytes + .iter() + .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), + )) }; unify!(self.machine_st, self.machine_st.registers[4], ints_list); } + #[cfg(feature = "crypto-full")] #[inline(always)] pub(crate) fn crypto_data_encrypt(&mut self) { let encoding = cell_as_atom!(self.deref_register(3)); @@ -7225,10 +7451,14 @@ impl Machine { let aad = self.string_encoding_bytes(self.machine_st.registers[2], encoding); let stub2_gen = || functor_stub(atom!("crypto_data_encrypt"), 7); - let key = self.machine_st.integers_to_bytevec(self.machine_st.registers[4], stub2_gen); + let key = self + .machine_st + .integers_to_bytevec(self.machine_st.registers[4], stub2_gen); let stub3_gen = || functor_stub(atom!("crypto_data_encrypt"), 7); - let iv = self.machine_st.integers_to_bytevec(self.machine_st.registers[5], stub3_gen); + let iv = self + .machine_st + .integers_to_bytevec(self.machine_st.registers[5], stub3_gen); let unbound_key = aead::UnboundKey::new(&aead::CHACHA20_POLY1305, &key).unwrap(); let nonce = aead::Nonce::try_assume_unique_for_key(&iv).unwrap(); @@ -7236,11 +7466,7 @@ impl Machine { let mut in_out = data; - let tag = match key.seal_in_place_separate_tag( - nonce, - aead::Aad::from(aad), - &mut in_out, - ) { + let tag = match key.seal_in_place_separate_tag(nonce, aead::Aad::from(aad), &mut in_out) { Ok(d) => d, _ => { self.machine_st.fail = true; @@ -7248,21 +7474,24 @@ impl Machine { } }; - let tag_list = heap_loc_as_cell!( - iter_to_heap_list( - &mut self.machine_st.heap, - tag.as_ref() - .iter() - .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), - ) - ); + let tag_list = heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + tag.as_ref() + .iter() + .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), + )); let complete_string = self.u8s_to_string(&in_out); unify!(self.machine_st, self.machine_st.registers[6], tag_list); - unify!(self.machine_st, self.machine_st.registers[7], complete_string); + unify!( + self.machine_st, + self.machine_st.registers[7], + complete_string + ); } + #[cfg(feature = "crypto-full")] #[inline(always)] pub(crate) fn crypto_data_decrypt(&mut self) { let data = self.string_encoding_bytes(self.machine_st.registers[1], atom!("octet")); @@ -7271,9 +7500,13 @@ impl Machine { let aad = self.string_encoding_bytes(self.machine_st.registers[2], encoding); let stub1_gen = || functor_stub(atom!("crypto_data_decrypt"), 7); - let key = self.machine_st.integers_to_bytevec(self.machine_st.registers[3], stub1_gen); + let key = self + .machine_st + .integers_to_bytevec(self.machine_st.registers[3], stub1_gen); let stub2_gen = || functor_stub(atom!("crypto_data_decrypt"), 7); - let iv = self.machine_st.integers_to_bytevec(self.machine_st.registers[4], stub2_gen); + let iv = self + .machine_st + .integers_to_bytevec(self.machine_st.registers[4], stub2_gen); let unbound_key = aead::UnboundKey::new(&aead::CHACHA20_POLY1305, &key).unwrap(); let nonce = aead::Nonce::try_assume_unique_for_key(&iv).unwrap(); @@ -7282,14 +7515,13 @@ impl Machine { let mut in_out = data; let complete_string = { - let decrypted_data = - match key.open_in_place(nonce, aead::Aad::from(aad), &mut in_out) { - Ok(d) => d, - _ => { - self.machine_st.fail = true; - return; - } - }; + let decrypted_data = match key.open_in_place(nonce, aead::Aad::from(aad), &mut in_out) { + Ok(d) => d, + _ => { + self.machine_st.fail = true; + return; + } + }; let buffer = match encoding { atom!("octet") => String::from_iter(decrypted_data.iter().map(|b| *b as char)), @@ -7308,19 +7540,26 @@ impl Machine { if buffer.len() == 0 { empty_list_as_cell!() } else { - atom_as_cstr_cell!(self.machine_st.atom_tbl.build_with(&buffer)) + atom_as_cstr_cell!(AtomTable::build_with(&self.machine_st.atom_tbl, &buffer)) } }; - unify!(self.machine_st, self.machine_st.registers[6], complete_string); + unify!( + self.machine_st, + self.machine_st.registers[6], + complete_string + ); } #[inline(always)] pub(crate) fn crypto_curve_scalar_mult(&mut self) { - let stub_gen = || functor_stub(atom!("crypto_curve_scalar_mult"), 4); - let scalar_bytes = self.machine_st.integers_to_bytevec(self.machine_st.registers[2], stub_gen); - let point_bytes = self.machine_st.integers_to_bytevec(self.machine_st.registers[3], stub_gen); + let scalar_bytes = self + .machine_st + .integers_to_bytevec(self.machine_st.registers[2], stub_gen); + let point_bytes = self + .machine_st + .integers_to_bytevec(self.machine_st.registers[3], stub_gen); let mut point = secp256k1::Point::decode(&point_bytes).unwrap(); let scalar = secp256k1::Scalar::decode_reduce(&scalar_bytes); @@ -7331,14 +7570,20 @@ impl Machine { unify!(self.machine_st, self.machine_st.registers[4], uncompressed); } + #[cfg(feature = "crypto-full")] #[inline(always)] pub(crate) fn ed25519_new_key_pair(&mut self) { let pkcs8_bytes = signature::Ed25519KeyPair::generate_pkcs8(rng()).unwrap(); let complete_string = self.u8s_to_string(pkcs8_bytes.as_ref()); - unify!(self.machine_st, self.machine_st.registers[1], complete_string) + unify!( + self.machine_st, + self.machine_st.registers[1], + complete_string + ) } + #[cfg(feature = "crypto-full")] #[inline(always)] pub(crate) fn ed25519_key_pair_public_key(&mut self) { let bytes = self.string_encoding_bytes(self.machine_st.registers[1], atom!("octet")); @@ -7353,9 +7598,14 @@ impl Machine { let complete_string = self.u8s_to_string(key_pair.public_key().as_ref()); - unify!(self.machine_st, self.machine_st.registers[2], complete_string); + unify!( + self.machine_st, + self.machine_st.registers[2], + complete_string + ); } + #[cfg(feature = "crypto-full")] #[inline(always)] pub(crate) fn ed25519_sign(&mut self) { let key = self.string_encoding_bytes(self.machine_st.registers[1], atom!("octet")); @@ -7372,25 +7622,26 @@ impl Machine { let sig = key_pair.sign(&data); - let sig_list = heap_loc_as_cell!( - iter_to_heap_list( - &mut self.machine_st.heap, - sig.as_ref() - .iter() - .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), - ) - ); + let sig_list = heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + sig.as_ref() + .iter() + .map(|b| fixnum_as_cell!(Fixnum::build_with(*b as i64))), + )); unify!(self.machine_st, self.machine_st.registers[4], sig_list); } + #[cfg(feature = "crypto-full")] #[inline(always)] pub(crate) fn ed25519_verify(&mut self) { let key = self.string_encoding_bytes(self.machine_st.registers[1], atom!("octet")); let encoding = cell_as_atom!(self.deref_register(3)); let data = self.string_encoding_bytes(self.machine_st.registers[2], encoding); let stub_gen = || functor_stub(atom!("ed25519_verify"), 5); - let signature = self.machine_st.integers_to_bytevec(self.machine_st.registers[4], stub_gen); + let signature = self + .machine_st + .integers_to_bytevec(self.machine_st.registers[4], stub_gen); let peer_public_key = signature::UnparsedPublicKey::new(&signature::ED25519, &key); @@ -7405,12 +7656,18 @@ impl Machine { #[inline(always)] pub(crate) fn curve25519_scalar_mult(&mut self) { let stub1_gen = || functor_stub(atom!("curve25519_scalar_mult"), 3); - let scalar_bytes = self.machine_st.integers_to_bytevec(self.machine_st.registers[1], stub1_gen); + let scalar_bytes = self + .machine_st + .integers_to_bytevec(self.machine_st.registers[1], stub1_gen); let stub2_gen = || functor_stub(atom!("curve25519_scalar_mult"), 3); - let point_bytes = self.machine_st.integers_to_bytevec(self.machine_st.registers[2], stub2_gen); + let point_bytes = self + .machine_st + .integers_to_bytevec(self.machine_st.registers[2], stub2_gen); - let result = x25519::x25519(&<[u8; 32]>::try_from(&point_bytes[..]).unwrap(), - &<[u8; 32]>::try_from(&scalar_bytes[..]).unwrap()); + let result = x25519::x25519( + &<[u8; 32]>::try_from(&point_bytes[..]).unwrap(), + &<[u8; 32]>::try_from(&scalar_bytes[..]).unwrap(), + ); let string = self.u8s_to_string(&result[..]); @@ -7424,8 +7681,10 @@ impl Machine { if let Some(string) = self.machine_st.value_to_str_like(addr) { for c in string.as_str().chars() { if c as u32 > 255 { - let non_octet = self.machine_st.atom_tbl.build_with(&c.to_string()); - self.machine_st.unify_atom(non_octet, self.machine_st.registers[2]); + let non_octet = + AtomTable::build_with(&self.machine_st.atom_tbl, &c.to_string()); + self.machine_st + .unify_atom(non_octet, self.machine_st.registers[2]); return; } } @@ -7436,7 +7695,10 @@ impl Machine { #[inline(always)] pub(crate) fn load_html(&mut self) { - if let Some(string) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { + if let Some(string) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { let doc = select::document::Document::from_read(string.as_str().as_bytes()).unwrap(); let result = self.html_node_to_term(doc.nth(0).unwrap()); @@ -7448,8 +7710,11 @@ impl Machine { #[inline(always)] pub(crate) fn load_xml(&mut self) { - if let Some(string) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { - match roxmltree::Document::parse(string.as_str()) { + if let Some(string) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { + match roxmltree::Document::parse(&*string.as_str()) { Ok(doc) => { let result = self.xml_node_to_term(doc.root_element()); unify!(self.machine_st, self.machine_st.registers[2], result); @@ -7465,13 +7730,16 @@ impl Machine { #[inline(always)] pub(crate) fn get_env(&mut self) { - if let Some(key) = self.machine_st.value_to_str_like(self.machine_st.registers[1]) { - match env::var(key.as_str()) { + if let Some(key) = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + { + match env::var(&*key.as_str()) { Ok(value) => { let cstr = put_complete_string( &mut self.machine_st.heap, &value, - &mut self.machine_st.atom_tbl, + &self.machine_st.atom_tbl, ); unify!(self.machine_st, self.machine_st.registers[2], cstr); @@ -7487,16 +7755,25 @@ impl Machine { #[inline(always)] pub(crate) fn set_env(&mut self) { - let key = self.machine_st.value_to_str_like(self.machine_st.registers[1]).unwrap(); - let value = self.machine_st.value_to_str_like(self.machine_st.registers[2]).unwrap(); + let key = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + .unwrap(); + let value = self + .machine_st + .value_to_str_like(self.machine_st.registers[2]) + .unwrap(); - env::set_var(key.as_str(), value.as_str()); + env::set_var(&*key.as_str(), &*value.as_str()); } #[inline(always)] pub(crate) fn unset_env(&mut self) { - let key = self.machine_st.value_to_str_like(self.machine_st.registers[1]).unwrap(); - env::remove_var(key.as_str()); + let key = self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + .unwrap(); + env::remove_var(&*key.as_str()); } #[inline(always)] @@ -7505,10 +7782,12 @@ impl Machine { match fixnum!(Number, pid as i64, &mut self.machine_st.arena) { Number::Fixnum(pid) => { - self.machine_st.unify_fixnum(pid, self.machine_st.registers[1]); + self.machine_st + .unify_fixnum(pid, self.machine_st.registers[1]); } Number::Integer(pid) => { - self.machine_st.unify_big_int(pid, self.machine_st.registers[1]); + self.machine_st + .unify_big_int(pid, self.machine_st.registers[1]); } _ => { unreachable!(); @@ -7523,19 +7802,20 @@ impl Machine { // if not found, the code looks for COMSPEC env var to do it in a DOS-style // the output is printed directly to stdout // the output status code is returned after finishing - fn command_result(machine: &mut MachineState, command: std::io::Result) { + fn command_result( + machine: &mut MachineState, + command: std::io::Result, + ) { match command { - Ok(status) => { - match status.code() { - Some(code) => { - let code = integer_as_cell!(Number::arena_from(code, &mut machine.arena)); - unify!(machine, code, machine.registers[2]); - } - _ => { - machine.fail = true; - } + Ok(status) => match status.code() { + Some(code) => { + let code = integer_as_cell!(Number::arena_from(code, &mut machine.arena)); + unify!(machine, code, machine.registers[2]); } - } + _ => { + machine.fail = true; + } + }, _ => { machine.fail = true; } @@ -7543,32 +7823,28 @@ impl Machine { } let a1 = self.deref_register(1); - let command = self.machine_st.value_to_str_like( - a1 - ).unwrap(); + let command = self.machine_st.value_to_str_like(a1).unwrap(); match env::var("SHELL") { Ok(value) => { let command = process::Command::new(&value) .arg("-c") - .arg(command.as_str()) + .arg(&*command.as_str()) .status(); command_result(&mut self.machine_st, command); } - _ => { - match env::var("COMSPEC") { - Ok(value) => { - let command = process::Command::new(&value) - .arg("/C") - .arg(command.as_str()) - .status(); - command_result(&mut self.machine_st, command); - } - _ => { - self.machine_st.fail = true; - } + _ => match env::var("COMSPEC") { + Ok(value) => { + let command = process::Command::new(&value) + .arg("/C") + .arg(&*command.as_str()) + .status(); + command_result(&mut self.machine_st, command); } - } + _ => { + self.machine_st.fail = true; + } + }, }; } @@ -7592,8 +7868,11 @@ impl Machine { }; if self.deref_register(1).is_var() { - let b64 = self.machine_st.value_to_str_like(self.machine_st.registers[2]).unwrap(); - let bytes = base64::decode_config(b64.as_str(), config); + let b64 = self + .machine_st + .value_to_str_like(self.machine_st.registers[2]) + .unwrap(); + let bytes = base64::decode_config(&*b64.as_str(), config); match bytes { Ok(bs) => { @@ -7608,7 +7887,13 @@ impl Machine { } } else { let mut bytes = vec![]; - for c in self.machine_st.value_to_str_like(self.machine_st.registers[1]).unwrap().as_str().chars() { + for c in self + .machine_st + .value_to_str_like(self.machine_st.registers[1]) + .unwrap() + .as_str() + .chars() + { bytes.push(c as u8); } @@ -7627,26 +7912,36 @@ impl Machine { use crate::machine::LIBRARIES; - match LIBRARIES.borrow().get(library_name.as_str()) { + let lib_ref = LIBRARIES.borrow(); + let lib = lib_ref.get(&*library_name.as_str()); + match lib { Some(library) => { let lib_stream = Stream::from_static_string(library, &mut self.machine_st.arena); - unify!(self.machine_st, stream_as_cell!(lib_stream), self.machine_st.registers[2]); + unify!( + self.machine_st, + stream_as_cell!(lib_stream), + self.machine_st.registers[2] + ); let mut path_buf = machine::current_dir(); path_buf.push("/lib"); - path_buf.push(library_name.as_str()); + path_buf.push(&*library_name.as_str()); let library_path_str = path_buf.to_str().unwrap(); - let library_path = self.machine_st.atom_tbl.build_with(library_path_str); + let library_path = + AtomTable::build_with(&self.machine_st.atom_tbl, library_path_str); - self.machine_st.unify_atom(library_path, self.machine_st.registers[3]); + self.machine_st + .unify_atom(library_path, self.machine_st.registers[3]); } None => { let stub = functor_stub(atom!("load"), 1); - let err = self.machine_st.existence_error( - ExistenceError::ModuleSource(ModuleSource::Library(library_name)) - ); + let err = self + .machine_st + .existence_error(ExistenceError::ModuleSource(ModuleSource::Library( + library_name, + ))); return Err(self.machine_st.error_form(err, stub)); } @@ -7667,7 +7962,8 @@ impl Machine { let mut parser = Parser::new(stream, &mut self.machine_st); match devour_whitespace(&mut parser) { - Ok(false) => { // not at EOF. + Ok(false) => { + // not at EOF. stream.add_lines_read(parser.lines_read()); } Ok(true) => { @@ -7688,13 +7984,16 @@ impl Machine { #[inline(always)] pub(crate) fn is_sto_enabled(&mut self) { if self.machine_st.unify_fn as usize == MachineState::unify_with_occurs_check as usize { - self.machine_st.unify_atom(atom!("true"), self.machine_st.registers[1]); + self.machine_st + .unify_atom(atom!("true"), self.machine_st.registers[1]); } else if self.machine_st.unify_fn as usize == MachineState::unify_with_occurs_check_with_error as usize { - self.machine_st.unify_atom(atom!("error"), self.machine_st.registers[1]); + self.machine_st + .unify_atom(atom!("error"), self.machine_st.registers[1]); } else { - self.machine_st.unify_atom(atom!("false"), self.machine_st.registers[1]); + self.machine_st + .unify_atom(atom!("false"), self.machine_st.registers[1]); } } @@ -7728,11 +8027,8 @@ impl Machine { if path.is_dir() { if let Some(path) = path.to_str() { - let path_string = put_complete_string( - &mut self.machine_st.heap, - path, - &mut self.machine_st.atom_tbl, - ); + let path_string = + put_complete_string(&mut self.machine_st.heap, path, &self.machine_st.atom_tbl); unify!(self.machine_st, self.machine_st.registers[1], path_string); return; @@ -7742,8 +8038,7 @@ impl Machine { self.machine_st.fail = true; } - pub(crate) fn debug_hook(&mut self) { - } + pub(crate) fn debug_hook(&mut self) {} #[inline(always)] pub(crate) fn pop_count(&mut self) { @@ -7782,10 +8077,14 @@ impl Machine { fstr.push_str("finis]."); let s = datetime.format(&fstr).to_string(); - self.machine_st.atom_tbl.build_with(&s) + AtomTable::build_with(&self.machine_st.atom_tbl, &s) } - pub(super) fn string_encoding_bytes(&mut self, data_arg: HeapCellValue, encoding: Atom) -> Vec { + pub(super) fn string_encoding_bytes( + &mut self, + data_arg: HeapCellValue, + encoding: Atom, + ) -> Vec { let data = self.machine_st.value_to_str_like(data_arg).unwrap(); match encoding { @@ -7802,17 +8101,17 @@ impl Machine { put_complete_string( &mut self.machine_st.heap, node.text().unwrap(), - &mut self.machine_st.atom_tbl, + &self.machine_st.atom_tbl, ) } else { let mut avec = Vec::new(); for attr in node.attributes() { - let name = self.machine_st.atom_tbl.build_with(attr.name()); + let name = AtomTable::build_with(&self.machine_st.atom_tbl, attr.name()); let value = put_complete_string( &mut self.machine_st.heap, &attr.value(), - &mut self.machine_st.atom_tbl, + &self.machine_st.atom_tbl, ); avec.push(str_loc_as_cell!(self.machine_st.heap.len())); @@ -7822,9 +8121,10 @@ impl Machine { self.machine_st.heap.push(value); } - let attrs = heap_loc_as_cell!( - iter_to_heap_list(&mut self.machine_st.heap, avec.into_iter()) - ); + let attrs = heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + avec.into_iter() + )); let mut cvec = Vec::new(); @@ -7832,15 +8132,18 @@ impl Machine { cvec.push(self.xml_node_to_term(child)); } - let children = heap_loc_as_cell!( - iter_to_heap_list(&mut self.machine_st.heap, cvec.into_iter()) - ); + let children = heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + cvec.into_iter() + )); - let tag = self.machine_st.atom_tbl.build_with(node.tag_name().name()); + let tag = AtomTable::build_with(&self.machine_st.atom_tbl, node.tag_name().name()); let result = str_loc_as_cell!(self.machine_st.heap.len()); - self.machine_st.heap.push(atom_as_cell!(atom!("element"), 3)); + self.machine_st + .heap + .push(atom_as_cell!(atom!("element"), 3)); self.machine_st.heap.push(atom_as_cell!(tag)); self.machine_st.heap.push(attrs); self.machine_st.heap.push(children); @@ -7851,22 +8154,20 @@ impl Machine { pub(super) fn html_node_to_term(&mut self, node: select::node::Node) -> HeapCellValue { match node.name() { - None => { - put_complete_string( - &mut self.machine_st.heap, - &node.text(), - &mut self.machine_st.atom_tbl, - ) - } + None => put_complete_string( + &mut self.machine_st.heap, + &node.text(), + &self.machine_st.atom_tbl, + ), Some(name) => { let mut avec = Vec::new(); for attr in node.attrs() { - let name = self.machine_st.atom_tbl.build_with(attr.0); + let name = AtomTable::build_with(&self.machine_st.atom_tbl, attr.0); let value = put_complete_string( &mut self.machine_st.heap, &attr.1, - &mut self.machine_st.atom_tbl, + &self.machine_st.atom_tbl, ); avec.push(str_loc_as_cell!(self.machine_st.heap.len())); @@ -7876,9 +8177,10 @@ impl Machine { self.machine_st.heap.push(value); } - let attrs = heap_loc_as_cell!( - iter_to_heap_list(&mut self.machine_st.heap, avec.into_iter()) - ); + let attrs = heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + avec.into_iter() + )); let mut cvec = Vec::new(); @@ -7886,14 +8188,17 @@ impl Machine { cvec.push(self.html_node_to_term(child)); } - let children = heap_loc_as_cell!( - iter_to_heap_list(&mut self.machine_st.heap, cvec.into_iter()) - ); + let children = heap_loc_as_cell!(iter_to_heap_list( + &mut self.machine_st.heap, + cvec.into_iter() + )); - let tag = self.machine_st.atom_tbl.build_with(name); + let tag = AtomTable::build_with(&self.machine_st.atom_tbl, name); let result = str_loc_as_cell!(self.machine_st.heap.len()); - self.machine_st.heap.push(atom_as_cell!(atom!("element"), 3)); + self.machine_st + .heap + .push(atom_as_cell!(atom!("element"), 3)); self.machine_st.heap.push(atom_as_cell!(tag)); self.machine_st.heap.push(attrs); self.machine_st.heap.push(children); @@ -7909,7 +8214,7 @@ impl Machine { if buffer.len() == 0 { empty_list_as_cell!() } else { - atom_as_cstr_cell!(self.machine_st.atom_tbl.build_with(&buffer)) + atom_as_cstr_cell!(AtomTable::build_with(&self.machine_st.atom_tbl, &buffer)) } } } diff --git a/src/machine/term_stream.rs b/src/machine/term_stream.rs index e352fc45..c2361937 100644 --- a/src/machine/term_stream.rs +++ b/src/machine/term_stream.rs @@ -1,8 +1,8 @@ use crate::forms::*; -use crate::machine::*; use crate::machine::load_state::*; use crate::machine::loader::*; use crate::machine::machine_errors::*; +use crate::machine::*; use crate::parser::ast::*; use crate::parser::parser::*; use crate::read::devour_whitespace; @@ -45,7 +45,10 @@ impl<'a> BootstrappingTermStream<'a> { listing_src: ListingSource, ) -> Self { let parser = Parser::new(stream, machine_st); - Self { parser, listing_src } + Self { + parser, + listing_src, + } } } @@ -101,7 +104,7 @@ impl LoadStatePayload { non_counted_bt_preds: IndexSet::with_hasher(FxBuildHasher::default()), predicates: predicate_queue![], clause_clauses: vec![], - } + } } } @@ -122,20 +125,18 @@ impl TermStream for LiveTermStream { } } -pub struct InlineTermStream { -} +pub struct InlineTermStream {} impl TermStream for InlineTermStream { fn next(&mut self, _: &CompositeOpDir) -> Result { - Err(CompilationError::from(ParserError::unexpected_eof())) + Err(CompilationError::from(ParserError::unexpected_eof())) } fn eof(&mut self) -> Result { - Ok(true) + Ok(true) } fn listing_src(&self) -> &ListingSource { - &ListingSource::User + &ListingSource::User } } - diff --git a/src/machine/unify.rs b/src/machine/unify.rs index 64a9ee04..11e12654 100644 --- a/src/machine/unify.rs +++ b/src/machine/unify.rs @@ -1,9 +1,9 @@ use crate::arena::*; use crate::forms::*; use crate::heap_iter::stackful_preorder_iter; -use crate::machine::*; use crate::machine::machine_state::*; use crate::machine::partial_string::*; +use crate::machine::*; use crate::types::*; use std::cmp::Ordering; @@ -191,8 +191,8 @@ pub(crate) trait Unifier: DerefMut { machine_st.pdl.push(pstr_iter1.focus); } } - continuable @ PStrCmpResult::FirstIterContinuable(iteratee) | - continuable @ PStrCmpResult::SecondIterContinuable(iteratee) => { + continuable @ PStrCmpResult::FirstIterContinuable(iteratee) + | continuable @ PStrCmpResult::SecondIterContinuable(iteratee) => { if continuable.is_second_iter() { std::mem::swap(&mut pstr_iter1, &mut pstr_iter2); } @@ -440,10 +440,8 @@ pub(crate) trait Unifier: DerefMut { } fn unify_big_num(&mut self, n1: TypedArenaPtr, value: HeapCellValue) - where N: PartialEq - + PartialEq - + PartialEq - + ArenaAllocated + where + N: PartialEq + PartialEq + PartialEq + ArenaAllocated, { if let Some(r) = value.as_var() { Self::bind(self, r, typed_arena_ptr_as_cell!(n1)); diff --git a/src/macros.rs b/src/macros.rs index ef47ff27..168dcb3a 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -88,7 +88,7 @@ macro_rules! cell_as_atom_cell { macro_rules! cell_as_f64_ptr { ($cell:expr) => {{ let offset = $cell.get_value() as usize; - F64Ptr::from_offset(offset) + F64Ptr::from_offset(F64Offset::new(offset)) }}; } @@ -236,12 +236,14 @@ macro_rules! cell_as_stream { } macro_rules! cell_as_load_state_payload { - ($cell:expr) => { unsafe { - let ptr = cell_as_untyped_arena_ptr!($cell); - let ptr = std::mem::transmute::<_, *mut LiveLoadState>(ptr.payload_offset()); + ($cell:expr) => { + unsafe { + let ptr = cell_as_untyped_arena_ptr!($cell); + let ptr = std::mem::transmute::<_, *mut LiveLoadState>(ptr.payload_offset()); - TypedArenaPtr::new(ptr) - }}; + TypedArenaPtr::new(ptr) + } + }; } macro_rules! match_untyped_arena_ptr_pat_body { @@ -258,13 +260,15 @@ macro_rules! match_untyped_arena_ptr_pat_body { $code }}; ($ptr:ident, OssifiedOpDir, $n:ident, $code:expr) => {{ - let payload_ptr = unsafe { std::mem::transmute::<_, *mut OssifiedOpDir>($ptr.payload_offset()) }; + let payload_ptr = + unsafe { std::mem::transmute::<_, *mut OssifiedOpDir>($ptr.payload_offset()) }; let $n = TypedArenaPtr::new(payload_ptr); #[allow(unused_braces)] $code }}; ($ptr:ident, LiveLoadState, $n:ident, $code:expr) => {{ - let payload_ptr = unsafe { std::mem::transmute::<_, *mut LiveLoadState>($ptr.payload_offset()) }; + let payload_ptr = + unsafe { std::mem::transmute::<_, *mut LiveLoadState>($ptr.payload_offset()) }; let $n = TypedArenaPtr::new(payload_ptr); #[allow(unused_braces)] $code @@ -275,21 +279,24 @@ macro_rules! match_untyped_arena_ptr_pat_body { $code }}; ($ptr:ident, TcpListener, $listener:ident, $code:expr) => {{ - let payload_ptr = unsafe { std::mem::transmute::<_, *mut TcpListener>($ptr.payload_offset()) }; + let payload_ptr = + unsafe { std::mem::transmute::<_, *mut TcpListener>($ptr.payload_offset()) }; #[allow(unused_mut)] let mut $listener = TypedArenaPtr::new(payload_ptr); #[allow(unused_braces)] $code }}; ($ptr:ident, HttpListener, $listener:ident, $code:expr) => {{ - let payload_ptr = unsafe { std::mem::transmute::<_, *mut HttpListener>($ptr.payload_offset()) }; + let payload_ptr = + unsafe { std::mem::transmute::<_, *mut HttpListener>($ptr.payload_offset()) }; #[allow(unused_mut)] let mut $listener = TypedArenaPtr::new(payload_ptr); #[allow(unused_braces)] $code }}; ($ptr:ident, HttpResponse, $listener:ident, $code:expr) => {{ - let payload_ptr = unsafe { std::mem::transmute::<_, *mut HttpResponse>($ptr.payload_offset()) }; + let payload_ptr = + unsafe { std::mem::transmute::<_, *mut HttpResponse>($ptr.payload_offset()) }; #[allow(unused_mut)] let mut $listener = TypedArenaPtr::new(payload_ptr); #[allow(unused_braces)] @@ -297,7 +304,8 @@ macro_rules! match_untyped_arena_ptr_pat_body { }}; ($ptr:ident, IndexPtr, $ip:ident, $code:expr) => {{ #[allow(unused_mut)] - let mut $ip = TypedArenaPtr::new(unsafe { std::mem::transmute::<_, *mut IndexPtr>($ptr.get_ptr()) }); + let mut $ip = + TypedArenaPtr::new(unsafe { std::mem::transmute::<_, *mut IndexPtr>($ptr.get_ptr()) }); #[allow(unused_braces)] $code }}; @@ -315,7 +323,7 @@ macro_rules! match_untyped_arena_ptr_pat { | ArenaHeaderTag::NamedTcpStream | ArenaHeaderTag::NamedTlsStream | ArenaHeaderTag::HttpReadStream - | ArenaHeaderTag::HttpWriteStream + | ArenaHeaderTag::HttpWriteStream | ArenaHeaderTag::ReadlineStream | ArenaHeaderTag::StaticStringStream | ArenaHeaderTag::ByteStream @@ -323,10 +331,10 @@ macro_rules! match_untyped_arena_ptr_pat { | ArenaHeaderTag::StandardErrorStream }; (IndexPtr) => { - ArenaHeaderTag::IndexPtrUndefined | - ArenaHeaderTag::IndexPtrDynamicUndefined | - ArenaHeaderTag::IndexPtrDynamicIndex | - ArenaHeaderTag::IndexPtrIndex + ArenaHeaderTag::IndexPtrUndefined + | ArenaHeaderTag::IndexPtrDynamicUndefined + | ArenaHeaderTag::IndexPtrDynamicIndex + | ArenaHeaderTag::IndexPtrIndex }; ($tag:ident) => { ArenaHeaderTag::$tag @@ -347,71 +355,71 @@ macro_rules! match_untyped_arena_ptr { } macro_rules! read_heap_cell_pat_body { - ($cell:ident, Cons, $n:ident, $code:expr) => ({ + ($cell:ident, Cons, $n:ident, $code:expr) => {{ let $n = cell_as_untyped_arena_ptr!($cell); #[allow(unused_braces)] $code - }); - ($cell:ident, F64, $n:ident, $code:expr) => ({ + }}; + ($cell:ident, F64, $n:ident, $code:expr) => {{ let $n = cell_as_f64_ptr!($cell); #[allow(unused_braces)] $code - }); - ($cell:ident, Atom, ($name:ident, $arity:ident), $code:expr) => ({ + }}; + ($cell:ident, Atom, ($name:ident, $arity:ident), $code:expr) => {{ let ($name, $arity) = cell_as_atom_cell!($cell).get_name_and_arity(); #[allow(unused_braces)] $code - }); - ($cell:ident, PStr, $atom:ident, $code:expr) => ({ + }}; + ($cell:ident, PStr, $atom:ident, $code:expr) => {{ let $atom = cell_as_atom!($cell); #[allow(unused_braces)] $code - }); - ($cell:ident, CStr, $atom:ident, $code:expr) => ({ + }}; + ($cell:ident, CStr, $atom:ident, $code:expr) => {{ let $atom = cell_as_atom!($cell); #[allow(unused_braces)] $code - }); - ($cell:ident, CStr | PStr, $atom:ident, $code:expr) => ({ + }}; + ($cell:ident, CStr | PStr, $atom:ident, $code:expr) => {{ let $atom = cell_as_atom!($cell); #[allow(unused_braces)] $code - }); - ($cell:ident, PStr | CStr, $atom:ident, $code:expr) => ({ + }}; + ($cell:ident, PStr | CStr, $atom:ident, $code:expr) => {{ let $atom = cell_as_atom!($cell); #[allow(unused_braces)] $code - }); - ($cell:ident, Fixnum, $value:ident, $code:expr) => ({ + }}; + ($cell:ident, Fixnum, $value:ident, $code:expr) => {{ let $value = Fixnum::from_bytes($cell.into_bytes()); #[allow(unused_braces)] $code - }); - ($cell:ident, CutPoint, $value:ident, $code:expr) => ({ + }}; + ($cell:ident, CutPoint, $value:ident, $code:expr) => {{ let $value = Fixnum::from_bytes($cell.into_bytes()); #[allow(unused_braces)] $code - }); - ($cell:ident, Fixnum | CutPoint, $value:ident, $code:expr) => ({ + }}; + ($cell:ident, Fixnum | CutPoint, $value:ident, $code:expr) => {{ let $value = Fixnum::from_bytes($cell.into_bytes()); #[allow(unused_braces)] $code - }); - ($cell:ident, CutPoint | Fixnum, $value:ident, $code:expr) => ({ + }}; + ($cell:ident, CutPoint | Fixnum, $value:ident, $code:expr) => {{ let $value = Fixnum::from_bytes($cell.into_bytes()); #[allow(unused_braces)] $code - }); - ($cell:ident, Char, $value:ident, $code:expr) => ({ + }}; + ($cell:ident, Char, $value:ident, $code:expr) => {{ let $value = unsafe { char::from_u32_unchecked($cell.get_value() as u32) }; #[allow(unused_braces)] $code - }); - ($cell:ident, $($tags:tt)|+, $value:ident, $code:expr) => ({ + }}; + ($cell:ident, $($tags:tt)|+, $value:ident, $code:expr) => {{ let $value = $cell.get_value() as usize; #[allow(unused_braces)] $code - }); + }}; } macro_rules! read_heap_cell_pat { @@ -596,7 +604,9 @@ macro_rules! index_store { IndexStore { code_dir: $code_dir, extensible_predicates: ExtensiblePredicates::with_hasher(FxBuildHasher::default()), - local_extensible_predicates: LocalExtensiblePredicates::with_hasher(FxBuildHasher::default()), + local_extensible_predicates: LocalExtensiblePredicates::with_hasher( + FxBuildHasher::default(), + ), global_variables: GlobalVarDir::with_hasher(FxBuildHasher::default()), goal_expansion_indices: GoalExpansionIndices::with_hasher(FxBuildHasher::default()), meta_predicates: MetaPredicateDir::with_hasher(FxBuildHasher::default()), diff --git a/src/parser/ast.rs b/src/parser/ast.rs index 05ca5a37..1351b044 100644 --- a/src/parser/ast.rs +++ b/src/parser/ast.rs @@ -10,6 +10,7 @@ use std::hash::{Hash, Hasher}; use std::io::{Error as IOError, ErrorKind}; use std::ops::{Deref, Neg}; use std::rc::Rc; +use std::sync::Arc; use std::vec::Vec; use crate::parser::dashu::{Integer, Rational}; @@ -258,7 +259,8 @@ impl GenContext { pub struct OpDesc { prec: B11, spec: B8, - #[allow(unused)] padding: B13, + #[allow(unused)] + padding: B13, } impl OpDesc { @@ -417,13 +419,13 @@ pub enum ParserError { impl ParserError { pub fn line_and_col_num(&self) -> Option<(usize, usize)> { match self { - &ParserError::BackQuotedString(line_num, col_num) | - &ParserError::IncompleteReduction(line_num, col_num) | - &ParserError::MissingQuote(line_num, col_num) | - &ParserError::NonPrologChar(line_num, col_num) | - &ParserError::ParseBigInt(line_num, col_num) | - &ParserError::UnexpectedChar(_, line_num, col_num) | - &ParserError::Utf8Error(line_num, col_num) => Some((line_num, col_num)), + &ParserError::BackQuotedString(line_num, col_num) + | &ParserError::IncompleteReduction(line_num, col_num) + | &ParserError::MissingQuote(line_num, col_num) + | &ParserError::NonPrologChar(line_num, col_num) + | &ParserError::ParseBigInt(line_num, col_num) + | &ParserError::UnexpectedChar(_, line_num, col_num) + | &ParserError::Utf8Error(line_num, col_num) => Some((line_num, col_num)), _ => None, } } @@ -432,8 +434,12 @@ impl ParserError { match self { ParserError::BackQuotedString(..) => atom!("back_quoted_string"), ParserError::IncompleteReduction(..) => atom!("incomplete_reduction"), - ParserError::InvalidSingleQuotedCharacter(..) => atom!("invalid_single_quoted_character"), - ParserError::IO(e) if e.kind() == ErrorKind::UnexpectedEof => atom!("unexpected_end_of_file"), + ParserError::InvalidSingleQuotedCharacter(..) => { + atom!("invalid_single_quoted_character") + } + ParserError::IO(e) if e.kind() == ErrorKind::UnexpectedEof => { + atom!("unexpected_end_of_file") + } ParserError::IO(_) => atom!("input_output_error"), ParserError::LexicalError(_) => atom!("lexical_error"), ParserError::MissingQuote(..) => atom!("missing_quote"), @@ -522,9 +528,12 @@ pub enum Fixity { #[derive(Copy, Clone, Debug, Hash, PartialEq, Eq)] pub struct Fixnum { num: B56, - #[allow(unused)] f: bool, - #[allow(unused)] m: bool, - #[allow(unused)] tag: B6, + #[allow(unused)] + f: bool, + #[allow(unused)] + m: bool, + #[allow(unused)] + tag: B6, } impl Fixnum { @@ -623,7 +632,7 @@ impl fmt::Display for Literal { } impl Literal { - pub fn to_atom(&self, atom_tbl: &mut AtomTable) -> Option { + pub fn to_atom(&self, atom_tbl: &Arc) -> Option { match self { Literal::Atom(atom) => Some(atom.defrock_brackets(atom_tbl)), _ => None, @@ -631,7 +640,6 @@ impl Literal { } } - #[derive(Debug, Clone, PartialEq, Eq)] pub struct VarPtr(Rc>); diff --git a/src/parser/char_reader.rs b/src/parser/char_reader.rs index 2a1db29f..fb6b5744 100644 --- a/src/parser/char_reader.rs +++ b/src/parser/char_reader.rs @@ -20,7 +20,7 @@ use std::str; pub struct CharReader { inner: R, - buf: SmallVec<[u8;32]>, + buf: SmallVec<[u8; 32]>, pos: usize, } @@ -78,7 +78,7 @@ pub trait CharRead { self.consume(c.len_utf8()); Some(Ok(c)) } - result => result + result => result, } } @@ -161,9 +161,7 @@ impl CharRead for CharReader { return Some(Ok(c)); } - Err(e) => { - e - } + Err(e) => e, }; if buf.len() - e.valid_up_to() >= 4 { @@ -192,13 +190,15 @@ impl CharRead for CharReader { // the buffer, it will be returned on the next // loop. - return Some(Err(io::Error::new(io::ErrorKind::InvalidData, - BadUtf8Error { bytes: badbytes }))); + return Some(Err(io::Error::new( + io::ErrorKind::InvalidData, + BadUtf8Error { bytes: badbytes }, + ))); } else { if self.pos >= self.buf.len() { return None; } else if self.buf.len() - self.pos >= 4 { - return match str::from_utf8(&self.buf[self.pos .. e.valid_up_to()]) { + return match str::from_utf8(&self.buf[self.pos..e.valid_up_to()]) { Ok(s) => { let mut chars = s.chars(); let c = chars.next().unwrap(); @@ -206,10 +206,12 @@ impl CharRead for CharReader { Some(Ok(c)) } Err(e) => { - let badbytes = self.buf[self.pos .. e.valid_up_to()].to_vec(); + let badbytes = self.buf[self.pos..e.valid_up_to()].to_vec(); - Some(Err(io::Error::new(io::ErrorKind::InvalidData, - BadUtf8Error { bytes: badbytes }))) + Some(Err(io::Error::new( + io::ErrorKind::InvalidData, + BadUtf8Error { bytes: badbytes }, + ))) } }; } else { @@ -223,7 +225,7 @@ impl CharRead for CharReader { let buf_len = self.buf.len(); - let mut word = [0u8;4]; + let mut word = [0u8; 4]; let word_slice = &mut word[buf_len..4]; match self.inner.read(word_slice) { @@ -250,7 +252,7 @@ impl CharRead for CharReader { let c_len = c.len_utf8(); let mut shifted_slice = [0u8; 32]; - shifted_slice[0..src_len].copy_from_slice(&self.buf[self.pos .. self.buf.len()]); + shifted_slice[0..src_len].copy_from_slice(&self.buf[self.pos..self.buf.len()]); self.buf.resize(c_len, 0); self.buf.extend_from_slice(&shifted_slice[0..src_len]); @@ -311,7 +313,10 @@ impl Read for CharReader { } if !buf.is_empty() { - Err(io::Error::new(ErrorKind::UnexpectedEof, "failed to fill whole buffer")) + Err(io::Error::new( + ErrorKind::UnexpectedEof, + "failed to fill whole buffer", + )) } else { Ok(()) } @@ -364,12 +369,14 @@ where fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { fmt.debug_struct("CharReader") .field("reader", &self.inner) - .field("buf", &format_args!("{}/{}", self.buf.capacity() - self.pos, self.buf.len())) + .field( + "buf", + &format_args!("{}/{}", self.buf.capacity() - self.pos, self.buf.len()), + ) .finish() } } - #[cfg(test)] mod tests { use crate::parser::char_reader::*; diff --git a/src/parser/lexer.rs b/src/parser/lexer.rs index 3aa82d13..b73c8028 100644 --- a/src/parser/lexer.rs +++ b/src/parser/lexer.rs @@ -86,14 +86,14 @@ impl<'a, R: CharRead> Lexer<'a, R> { pub fn lookahead_char(&mut self) -> Result { match self.reader.peek_char() { Some(Ok(c)) => Ok(c), - _ => Err(ParserError::unexpected_eof()) + _ => Err(ParserError::unexpected_eof()), } } pub fn read_char(&mut self) -> Result { match self.reader.read_char() { Some(Ok(c)) => Ok(c), - _ => Err(ParserError::unexpected_eof()) + _ => Err(ParserError::unexpected_eof()), } } @@ -168,13 +168,15 @@ impl<'a, R: CharRead> Lexer<'a, R> { match comment_loop() { Err(e) if e.is_unexpected_eof() => { - return Err(ParserError::IncompleteReduction(self.line_num, self.col_num)); + return Err(ParserError::IncompleteReduction( + self.line_num, + self.col_num, + )); } Err(e) => { return Err(e); } - Ok(_) => { - } + Ok(_) => {} } if prolog_char!(c) { @@ -362,7 +364,10 @@ impl<'a, R: CharRead> Lexer<'a, R> { if hexadecimal_digit_char!(c) { self.escape_sequence_to_char(|c| hexadecimal_digit_char!(c), 16) } else { - Err(ParserError::IncompleteReduction(self.line_num, self.col_num)) + Err(ParserError::IncompleteReduction( + self.line_num, + self.col_num, + )) } } @@ -395,7 +400,10 @@ impl<'a, R: CharRead> Lexer<'a, R> { }, ) } else { - Err(ParserError::IncompleteReduction(self.line_num, self.col_num)) + Err(ParserError::IncompleteReduction( + self.line_num, + self.col_num, + )) } } @@ -463,9 +471,12 @@ impl<'a, R: CharRead> Lexer<'a, R> { .map(|n| Token::Literal(fixnum!(Literal, n, &mut self.machine_st.arena))) .or_else(|_| { Integer::from_str_radix(&token, 16) - .map(|n| Token::Literal(Literal::Integer( - arena_alloc!(n, &mut self.machine_st.arena) - ))) + .map(|n| { + Token::Literal(Literal::Integer(arena_alloc!( + n, + &mut self.machine_st.arena + ))) + }) .map_err(|_| ParserError::ParseBigInt(self.line_num, self.col_num)) }) } else { @@ -495,9 +506,12 @@ impl<'a, R: CharRead> Lexer<'a, R> { .map(|n| Token::Literal(fixnum!(Literal, n, &mut self.machine_st.arena))) .or_else(|_| { Integer::from_str_radix(&token, 8) - .map(|n| Token::Literal(Literal::Integer( - arena_alloc!(n, &mut self.machine_st.arena) - ))) + .map(|n| { + Token::Literal(Literal::Integer(arena_alloc!( + n, + &mut self.machine_st.arena + ))) + }) .map_err(|_| ParserError::ParseBigInt(self.line_num, self.col_num)) }) } else { @@ -527,9 +541,12 @@ impl<'a, R: CharRead> Lexer<'a, R> { .map(|n| Token::Literal(fixnum!(Literal, n, &mut self.machine_st.arena))) .or_else(|_| { Integer::from_str_radix(&token, 2) - .map(|n| Token::Literal(Literal::Integer( - arena_alloc!(n, &mut self.machine_st.arena) - ))) + .map(|n| { + Token::Literal(Literal::Integer(arena_alloc!( + n, + &mut self.machine_st.arena + ))) + }) .map_err(|_| ParserError::ParseBigInt(self.line_num, self.col_num)) }) } else { @@ -620,16 +637,20 @@ impl<'a, R: CharRead> Lexer<'a, R> { if token.as_str() == "[]" { Ok(Token::Literal(Literal::Atom(atom!("[]")))) } else { - Ok(Token::Literal(Literal::Atom( - self.machine_st.atom_tbl.build_with(&token), - ))) + Ok(Token::Literal(Literal::Atom(AtomTable::build_with( + &self.machine_st.atom_tbl, + &token, + )))) } } fn vacate_with_float(&mut self, mut token: String) -> Result { self.return_char(token.pop().unwrap()); let n = parse_lossy::(token.as_bytes())?; - Ok(Token::Literal(Literal::from(float_alloc!(n, self.machine_st.arena)))) + Ok(Token::Literal(Literal::from(float_alloc!( + n, + self.machine_st.arena + )))) } fn skip_underscore_in_number(&mut self) -> Result { @@ -675,7 +696,10 @@ impl<'a, R: CharRead> Lexer<'a, R> { token .parse::() .map(|n| { - Token::Literal(Literal::Integer(arena_alloc!(n, &mut self.machine_st.arena))) + Token::Literal(Literal::Integer(arena_alloc!( + n, + &mut self.machine_st.arena + ))) }) .map_err(|_| ParserError::ParseBigInt(self.line_num, self.col_num)) }) @@ -740,17 +764,19 @@ impl<'a, R: CharRead> Lexer<'a, R> { } let n = parse_lossy::(token.as_bytes())?; - Ok(Token::Literal(Literal::from( - float_alloc!(n, self.machine_st.arena) - ))) + Ok(Token::Literal(Literal::from(float_alloc!( + n, + self.machine_st.arena + )))) } else { return Ok(self.vacate_with_float(token)?); } } else { let n = parse_lossy::(token.as_bytes())?; - Ok(Token::Literal(Literal::from( - float_alloc!(n, self.machine_st.arena) - ))) + Ok(Token::Literal(Literal::from(float_alloc!( + n, + self.machine_st.arena + )))) } } else { self.return_char('.'); @@ -761,7 +787,10 @@ impl<'a, R: CharRead> Lexer<'a, R> { token .parse::() .map(|n| { - Token::Literal(Literal::Integer(arena_alloc!(n, &mut self.machine_st.arena))) + Token::Literal(Literal::Integer(arena_alloc!( + n, + &mut self.machine_st.arena + ))) }) .map_err(|_| ParserError::ParseBigInt(self.line_num, self.col_num)) }) @@ -772,7 +801,9 @@ impl<'a, R: CharRead> Lexer<'a, R> { self.hexadecimal_constant(c).or_else(|e| { if let ParserError::ParseBigInt(..) = e { i64::from_str_radix(&token, 10) - .map(|n| Token::Literal(fixnum!(Literal, n, &mut self.machine_st.arena))) + .map(|n| { + Token::Literal(fixnum!(Literal, n, &mut self.machine_st.arena)) + }) .or_else(|_| { token .parse::() @@ -794,7 +825,9 @@ impl<'a, R: CharRead> Lexer<'a, R> { self.octal_constant(c).or_else(|e| { if let ParserError::ParseBigInt(..) = e { i64::from_str_radix(&token, 10) - .map(|n| Token::Literal(fixnum!(Literal, n, &mut self.machine_st.arena))) + .map(|n| { + Token::Literal(fixnum!(Literal, n, &mut self.machine_st.arena)) + }) .or_else(|_| { token .parse::() @@ -816,7 +849,9 @@ impl<'a, R: CharRead> Lexer<'a, R> { self.binary_constant(c).or_else(|e| { if let ParserError::ParseBigInt(..) = e { i64::from_str_radix(&token, 10) - .map(|n| Token::Literal(fixnum!(Literal, n, &mut self.machine_st.arena))) + .map(|n| { + Token::Literal(fixnum!(Literal, n, &mut self.machine_st.arena)) + }) .or_else(|_| { token .parse::() @@ -856,15 +891,16 @@ impl<'a, R: CharRead> Lexer<'a, R> { .map(|c| Token::Literal(Literal::Fixnum(Fixnum::build_with(c as i64)))) .or_else(|err| { match err { - ParserError::UnexpectedChar('\'', ..) => { - } + ParserError::UnexpectedChar('\'', ..) => {} err => return Err(err), } self.return_char(c); i64::from_str_radix(&token, 10) - .map(|n| Token::Literal(fixnum!(Literal, n, &mut self.machine_st.arena))) + .map(|n| { + Token::Literal(fixnum!(Literal, n, &mut self.machine_st.arena)) + }) .or_else(|_| { token .parse::() @@ -901,7 +937,10 @@ impl<'a, R: CharRead> Lexer<'a, R> { token .parse::() .map(|n| { - Token::Literal(Literal::Integer(arena_alloc!(n, &mut self.machine_st.arena))) + Token::Literal(Literal::Integer(arena_alloc!( + n, + &mut self.machine_st.arena + ))) }) .map_err(|_| ParserError::ParseBigInt(self.line_num, self.col_num)) }) @@ -940,11 +979,12 @@ impl<'a, R: CharRead> Lexer<'a, R> { pub fn scan_for_layout(&mut self) -> Result { match self.lookahead_char() { - Err(e) => { - Err(e) - } + Err(e) => Err(e), Ok(c) => { - let mut layout_info = LayoutInfo { inserted: false, more: true }; + let mut layout_info = LayoutInfo { + inserted: false, + more: true, + }; let mut cr = Some(c); loop { @@ -1044,7 +1084,7 @@ impl<'a, R: CharRead> Lexer<'a, R> { if c == '"' { let s = self.char_code_list_token(c)?; - let atom = self.machine_st.atom_tbl.build_with(&s); + let atom = AtomTable::build_with(&self.machine_st.atom_tbl, &s); return if let DoubleQuotes::Atom = self.machine_st.flags.double_quotes { Ok(Token::Literal(Literal::Atom(atom))) @@ -1054,7 +1094,7 @@ impl<'a, R: CharRead> Lexer<'a, R> { } if c == '\u{0}' { - return Err(ParserError::unexpected_eof()) + return Err(ParserError::unexpected_eof()); } self.name_token(c) diff --git a/src/parser/macros.rs b/src/parser/macros.rs index 3e6826c9..702f6ae1 100644 --- a/src/parser/macros.rs +++ b/src/parser/macros.rs @@ -7,13 +7,14 @@ macro_rules! char_class { #[macro_export] macro_rules! alpha_char { ($c: expr) => { - (!$c.is_numeric() && - !$c.is_whitespace() && - !$c.is_control() && - !$crate::graphic_token_char!($c) && - !$crate::layout_char!($c) && - !$crate::meta_char!($c) && - !$crate::solo_char!($c)) || $c == '_' + (!$c.is_numeric() + && !$c.is_whitespace() + && !$c.is_control() + && !$crate::graphic_token_char!($c) + && !$crate::layout_char!($c) + && !$crate::meta_char!($c) + && !$crate::solo_char!($c)) + || $c == '_' }; } diff --git a/src/parser/parser.rs b/src/parser/parser.rs index edf5d883..2160c764 100644 --- a/src/parser/parser.rs +++ b/src/parser/parser.rs @@ -7,7 +7,6 @@ use crate::parser::ast::*; use crate::parser::char_reader::*; use crate::parser::lexer::*; - use std::cell::Cell; use std::mem; use std::ops::Neg; @@ -108,7 +107,7 @@ pub(crate) fn as_partial_string( tail_ref = tail; } Term::CompleteString(_, cstr) => { - string += cstr.as_str(); + string += &*cstr.as_str(); tail = Term::Literal(Cell::default(), Literal::Atom(atom!("[]"))); break; } @@ -120,26 +119,17 @@ pub(crate) fn as_partial_string( } match &tail { - Term::AnonVar | Term::Var(..) => { - Ok((string, Some(Box::new(tail)))) - } - Term::Literal(_, Literal::Atom(atom!("[]"))) => { - Ok((string, None)) - } + Term::AnonVar | Term::Var(..) => Ok((string, Some(Box::new(tail)))), + Term::Literal(_, Literal::Atom(atom!("[]"))) => Ok((string, None)), Term::Literal(_, Literal::String(tail)) => { - string += tail.as_str(); + string += &*tail.as_str(); Ok((string, None)) } - _ => { - Ok((string, Some(Box::new(tail)))) - } + _ => Ok((string, Some(Box::new(tail)))), } } -pub fn get_op_desc( - name: Atom, - op_dir: &CompositeOpDir, -) -> Option { +pub fn get_op_desc(name: Atom, op_dir: &CompositeOpDir) -> Option { let mut op_desc = CompositeOpDesc { pre: 0, inf: 0, @@ -295,17 +285,17 @@ fn read_tokens(lexer: &mut Lexer) -> Result, ParserEr Ok(tokens) } -fn atomize_term(atom_tbl: &mut AtomTable, term: &Term) -> Option { +fn atomize_term(atom_tbl: &AtomTable, term: &Term) -> Option { match term { Term::Literal(_, ref c) => atomize_constant(atom_tbl, *c), _ => None, } } -fn atomize_constant(atom_tbl: &mut AtomTable, c: Literal) -> Option { +fn atomize_constant(atom_tbl: &AtomTable, c: Literal) -> Option { match c { Literal::Atom(ref name) => Some(*name), - Literal::Char(c) => Some(atom_tbl.build_with(&c.to_string())), + Literal::Char(c) => Some(AtomTable::build_with(atom_tbl, &c.to_string())), _ => None, } } @@ -409,7 +399,8 @@ impl<'a, R: CharRead> Parser<'a, R> { } fn promote_atom_op(&mut self, atom: Atom, priority: usize, assoc: u32) { - self.terms.push(Term::Literal(Cell::default(), Literal::Atom(atom))); + self.terms + .push(Term::Literal(Cell::default(), Literal::Atom(atom))); self.stack.push(TokenDesc { tt: TokenType::Term, priority, @@ -419,7 +410,9 @@ impl<'a, R: CharRead> Parser<'a, R> { fn shift(&mut self, token: Token, priority: usize, spec: Specifier) { let tt = match token { - Token::Literal(Literal::String(s)) if self.lexer.machine_st.flags.double_quotes.is_codes() => { + Token::Literal(Literal::String(s)) + if self.lexer.machine_st.flags.double_quotes.is_codes() => + { let mut list = Term::Literal(Cell::default(), Literal::Atom(atom!("[]"))); for c in s.as_str().chars().rev() { @@ -436,7 +429,9 @@ impl<'a, R: CharRead> Parser<'a, R> { self.terms.push(list); TokenType::Term } - Token::Literal(Literal::String(s)) if self.lexer.machine_st.flags.double_quotes.is_chars() => { + Token::Literal(Literal::String(s)) + if self.lexer.machine_st.flags.double_quotes.is_chars() => + { self.terms.push(Term::CompleteString(Cell::default(), s)); TokenType::Term } @@ -573,7 +568,7 @@ impl<'a, R: CharRead> Parser<'a, R> { let idx = self.terms.len() - arity; if TokenType::Term == self.stack[stack_len].tt { - if atomize_term(&mut self.lexer.machine_st.atom_tbl, &self.terms[idx - 1]).is_some() { + if atomize_term(&self.lexer.machine_st.atom_tbl, &self.terms[idx - 1]).is_some() { self.stack.truncate(stack_len + 1); let mut subterms: Vec<_> = self.terms.drain(idx..).collect(); @@ -581,27 +576,29 @@ impl<'a, R: CharRead> Parser<'a, R> { if let Some(name) = self .terms .pop() - .and_then(|t| atomize_term(&mut self.lexer.machine_st.atom_tbl, &t)) + .and_then(|t| atomize_term(&self.lexer.machine_st.atom_tbl, &t)) { // reduce the '.' functor to a cons cell if it applies. if name == atom!(".") && subterms.len() == 2 { let tail = subterms.pop().unwrap(); let head = subterms.pop().unwrap(); - self.terms.push( - match as_partial_string(head, tail) { - Ok((string_buf, Some(tail))) => { - Term::PartialString(Cell::default(), string_buf, tail) - } - Ok((string_buf, None)) => { - let atom = self.lexer.machine_st.atom_tbl.build_with(&string_buf); - Term::CompleteString(Cell::default(), atom) - } - Err(term) => term, - }, - ); + self.terms.push(match as_partial_string(head, tail) { + Ok((string_buf, Some(tail))) => { + Term::PartialString(Cell::default(), string_buf, tail) + } + Ok((string_buf, None)) => { + let atom = AtomTable::build_with( + &self.lexer.machine_st.atom_tbl, + &string_buf, + ); + Term::CompleteString(Cell::default(), atom) + } + Err(term) => term, + }); } else { - self.terms.push(Term::Clause(Cell::default(), name, subterms)); + self.terms + .push(Term::Clause(Cell::default(), name, subterms)); } if let Some(&mut TokenDesc { @@ -695,7 +692,8 @@ impl<'a, R: CharRead> Parser<'a, R> { td.tt = TokenType::Term; td.priority = 0; - self.terms.push(Term::Literal(Cell::default(), Literal::Atom(atom!("[]")))); + self.terms + .push(Term::Literal(Cell::default(), Literal::Atom(atom!("[]")))); return Ok(true); } } @@ -736,8 +734,8 @@ impl<'a, R: CharRead> Parser<'a, R> { if arity > self.terms.len() { return Err(ParserError::IncompleteReduction( self.lexer.line_num, - self.lexer.col_num - )) + self.lexer.col_num, + )); } let idx = self.terms.len() - arity; @@ -755,18 +753,16 @@ impl<'a, R: CharRead> Parser<'a, R> { }); self.terms.push(match list { - Term::Cons(_, head, tail) => { - match as_partial_string(*head, *tail) { - Ok((string_buf, Some(tail))) => { - Term::PartialString(Cell::default(), string_buf, tail) - } - Ok((string_buf, None)) => { - let atom = self.lexer.machine_st.atom_tbl.build_with(&string_buf); - Term::CompleteString(Cell::default(), atom) - } - Err(term) => term, + Term::Cons(_, head, tail) => match as_partial_string(*head, *tail) { + Ok((string_buf, Some(tail))) => { + Term::PartialString(Cell::default(), string_buf, tail) } - } + Ok((string_buf, None)) => { + let atom = AtomTable::build_with(&self.lexer.machine_st.atom_tbl, &string_buf); + Term::CompleteString(Cell::default(), atom) + } + Err(term) => term, + }, term => term, }); @@ -784,10 +780,7 @@ impl<'a, R: CharRead> Parser<'a, R> { td.priority = 0; td.spec = TERM; - let term = Term::Literal( - Cell::default(), - Literal::Atom(atom!("{}")), - ); + let term = Term::Literal(Cell::default(), Literal::Atom(atom!("{}"))); self.terms.push(term); return Ok(true); @@ -818,11 +811,8 @@ impl<'a, R: CharRead> Parser<'a, R> { } }; - self.terms.push(Term::Clause( - Cell::default(), - atom!("{}"), - vec![term], - )); + self.terms + .push(Term::Clause(Cell::default(), atom!("{}"), vec![term])); return Ok(true); } @@ -933,7 +923,8 @@ impl<'a, R: CharRead> Parser<'a, R> { if let Some(term) = self.terms.last().cloned() { match term { Term::Literal(_, Literal::Atom(name)) - if name == atom!("-") && (is_prefix!(desc.spec) || is_negate!(desc.spec)) => + if name == atom!("-") + && (is_prefix!(desc.spec) || is_negate!(desc.spec)) => { self.stack.pop(); self.terms.pop(); @@ -983,7 +974,8 @@ impl<'a, R: CharRead> Parser<'a, R> { |n, arena| Literal::from(float_alloc!(n, arena)), ), Token::Literal(c) => { - if let Some(name) = atomize_constant(&mut self.lexer.machine_st.atom_tbl, c) { + let atomized = atomize_constant(&self.lexer.machine_st.atom_tbl, c); + if let Some(name) = atomized { if !self.shift_op(name, op_dir)? { self.shift(Token::Literal(c), 0, TERM); } @@ -1069,7 +1061,11 @@ impl<'a, R: CharRead> Parser<'a, R> { } // on success, returns the parsed term and the number of lines read. - pub fn read_term(&mut self, op_dir: &CompositeOpDir, tokens: Tokens) -> Result { + pub fn read_term( + &mut self, + op_dir: &CompositeOpDir, + tokens: Tokens, + ) -> Result { self.tokens = match tokens { Tokens::Default => read_tokens(&mut self.lexer)?, Tokens::Provided(tokens) => tokens, diff --git a/src/raw_block.rs b/src/raw_block.rs index a96ae1af..53b4f198 100644 --- a/src/raw_block.rs +++ b/src/raw_block.rs @@ -1,6 +1,7 @@ use core::marker::PhantomData; use std::alloc; +use std::cell::UnsafeCell; use std::ptr; pub trait RawBlockTraits { @@ -12,7 +13,7 @@ pub trait RawBlockTraits { pub struct RawBlock { pub base: *const u8, pub top: *const u8, - pub ptr: *mut u8, + pub ptr: UnsafeCell<*mut u8>, _marker: PhantomData, } @@ -22,7 +23,7 @@ impl RawBlock { RawBlock { base: ptr::null(), top: ptr::null(), - ptr: ptr::null_mut(), + ptr: UnsafeCell::new(ptr::null_mut()), _marker: PhantomData, } } @@ -42,7 +43,7 @@ impl RawBlock { self.base = alloc::alloc(layout) as *const _; self.top = (self.base as usize + cap) as *const _; - self.ptr = self.base as *mut _; + *self.ptr.get_mut() = self.base as *mut _; } pub unsafe fn grow(&mut self) { @@ -54,7 +55,25 @@ impl RawBlock { self.base = alloc::realloc(self.base as *mut _, layout, size * 2) as *const _; self.top = (self.base as usize + size * 2) as *const _; - self.ptr = (self.base as usize + size) as *mut _; + *self.ptr.get_mut() = (self.base as usize + size) as *mut _; + } + } + + pub unsafe fn grow_new(&self) -> Option { + if self.base.is_null() { + Some(Self::new()) + } else { + let mut new_block = Self::empty_block(); + new_block.init_at_size(self.size() * 2); + if new_block.base.is_null() { + // allocation failed + None + } else { + let allocated = (*self.ptr.get()) as usize - self.base as usize; + self.base.copy_to(new_block.base.cast_mut(), allocated); + *new_block.ptr.get_mut() = new_block.base.offset(allocated as isize).cast_mut(); + Some(new_block) + } } } @@ -64,35 +83,39 @@ impl RawBlock { } #[inline(always)] - fn free_space(&self) -> usize { + unsafe fn free_space(&self) -> usize { debug_assert!( - self.ptr as *const _ >= self.base, + *self.ptr.get() as *const _ >= self.base, "self.ptr = {:?} < {:?} = self.base", - self.ptr, + *self.ptr.get(), self.base ); - self.top as usize - self.ptr as usize + self.top as usize - (*self.ptr.get()) as usize } - pub unsafe fn alloc(&mut self, size: usize) -> *mut u8 { + pub unsafe fn alloc(&self, size: usize) -> *mut u8 { if self.free_space() >= size { - let ptr = self.ptr; - self.ptr = (self.ptr as usize + size) as *mut _; + let ptr = *self.ptr.get(); + *self.ptr.get() = (ptr as usize + size) as *mut _; ptr } else { ptr::null_mut() } } +} - pub fn deallocate(&mut self) { - unsafe { - let layout = alloc::Layout::from_size_align_unchecked(self.size(), T::align()); - alloc::dealloc(self.base as *mut _, layout); +impl Drop for RawBlock { + fn drop(&mut self) { + if !self.base.is_null() { + unsafe { + let layout = alloc::Layout::from_size_align_unchecked(self.size(), T::align()); + alloc::dealloc(self.base as *mut _, layout); + } self.top = ptr::null(); self.base = ptr::null(); - self.ptr = ptr::null_mut(); + *self.ptr.get_mut() = ptr::null_mut(); } } } diff --git a/src/rcu.rs b/src/rcu.rs new file mode 100644 index 00000000..a554208e --- /dev/null +++ b/src/rcu.rs @@ -0,0 +1,221 @@ +use std::{ + cell::OnceCell, + fmt::Debug, + mem::ManuallyDrop, + ops::Deref, + ptr::NonNull, + sync::{ + atomic::{AtomicPtr, AtomicU8}, + Arc, Weak, + }, +}; + +use tokio::sync::RwLock; + +// the epoch counters of all threads that have ever accessed an Rcu +// threads that have finished will have a dangling Weak reference and can be cleand up +// having this be shared between all Rcu's is a tradeof, +// writes will be slower as more epoch counters need to be waited for +// reads should be faster as a thread only needs to register itself once on the first read +// +static EPOCH_COUNTERS: RwLock>> = RwLock::const_new(Vec::new()); + +thread_local! { + // odd value means the current thread is about to access the active_epoch of an Rcu + // a thread has a single epoch counter for all Rcu it accesses, + // as a thread can only access one Rcu at a time + static THREAD_EPOCH_COUNTER: OnceCell> = OnceCell::new(); +} + +pub struct Rcu { + active_value: AtomicPtr, +} + +impl std::fmt::Debug for Rcu { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let active_epoch = self.active_epoch(); + f.debug_struct("Rcu") + .field("active_value", &active_epoch) + .finish() + } +} + +impl Rcu { + pub fn new(initial_value: T) -> Self { + Rcu { + active_value: AtomicPtr::new(Arc::into_raw(Arc::new(initial_value)).cast_mut()), + } + } + + pub fn active_epoch(&self) -> RcuRef { + THREAD_EPOCH_COUNTER.with(|epoch_counter| { + let epoch_counter = epoch_counter.get_or_init(|| { + let epoch_counter = Arc::new(AtomicU8::new(0)); + // register the current threads epoch counter on init + EPOCH_COUNTERS + .blocking_write() + .push(Arc::downgrade(&epoch_counter)); + epoch_counter + }); + + let old = epoch_counter.fetch_add(1, std::sync::atomic::Ordering::AcqRel); + assert!(old % 2 == 0, "Old Epoch counter value should be even!"); + }); + + let arc_ptr = self.active_value.load(std::sync::atomic::Ordering::Acquire); + + let arc = unsafe { + // Safety: + // - the ptr was created in Rcu::new or Rcu::replace with Arc::into_raw + // - the Rcu is responsible for of the arc's strong refrences + // - the Rcu is alive as this function takes a reference to the Rcu + // - replace will wait with decrementing the old values strong count until our epoich counter is even again + Arc::increment_strong_count(arc_ptr); + // Safety: + // - the ptr was created in Rcu::new or Rcu::replace with Arc::into_raw + // - we have just ensured an additional strong count by incrementing the count + Arc::from_raw(arc_ptr) + }; + + THREAD_EPOCH_COUNTER.with(|epoch_counter| { + let old = epoch_counter + .get().expect("we initialized the OnceCell when we incremented the epoch counter the fist time") + .fetch_add(1, std::sync::atomic::Ordering::AcqRel); + assert!(old % 2 != 0, "Old Epoch counter value should be odd!"); + }); + + RcuRef { + data: arc.deref().into(), + arc, + } + } + + /* + * replace the Rcu'S content with a new value + * + * This does not syncronize write and last to update the active_value pointer wins, + * all writes that do not win will be lost, though not leaked. + * This will block untill the old value can be reclaimed, + * i.e. all threads whitnest to be in the read critical sections + * have been witnest to have left the critical section at least once + */ + pub fn replace(&self, new_value: T) { + let arc_ptr = self.active_value.swap( + Arc::into_raw(Arc::new(new_value)).cast_mut(), + std::sync::atomic::Ordering::AcqRel, + ); + + // maually drop as we need to ensure not to drop the arc while + // we have not witnest all threads to be or have been outside the read critical section + // i.e. even epoch counter or different odd epoch counter + // Safety: + // - the ptr was created in Rcu::new or Rcu::replace with Arc::into_raw + // - the Rcu itself holds one strong count + let arc = unsafe { ManuallyDrop::new(Arc::from_raw(arc_ptr)) }; + + let epochs = EPOCH_COUNTERS.blocking_read().clone(); + let mut epochs = epochs + .into_iter() + .flat_map(|elem| { + let arc = elem.upgrade()?; + let init_val = arc.load(std::sync::atomic::Ordering::Acquire); + if init_val % 2 == 0 { + // already even can be ignored + return None; + } + // odd initial value thread is in read critical section + // need to wait for the value to change before we can drop the arc + Some((init_val, elem)) + }) + .collect::>(); + + while !epochs.is_empty() { + epochs.retain(|elem| { + let Some(arc) = elem.1.upgrade() else { + // as the thread is dead it can't have a ref to old arc + return false; + }; + // the epoch counter has not changed so the thread is still in the same instance of the critical section + // any different value is ok as + // - even values indicate the thread is outside the critical section + // - a diffrent odd value indicates the thread has left the critical section and can subsequently only read the new active_value + arc.load(std::sync::atomic::Ordering::Acquire) == elem.0 + }) + } + + // Safety: + // - we have not dropped the arc another way + // - we witnessed all threads either with an even epoch count or with a new odd count + // as such they must have left the critical section at some point + ManuallyDrop::into_inner(arc); + } +} + +pub struct RcuRef +where + T: ?Sized, + M: ?Sized, +{ + arc: Arc, + data: NonNull, +} + +impl Debug for RcuRef { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.debug_struct("RcuRef") + .field("data", &self.deref()) + .finish() + } +} + +// use assoiated functions rather than methods so that we don't overlap +// with functions of the Deref Target type +impl RcuRef { + pub fn map FnOnce(&'a M) -> &'a N>(referece: Self, f: F) -> RcuRef { + RcuRef { + arc: referece.arc, + data: f(unsafe { referece.data.as_ref() }).into(), + } + } + + pub fn try_map FnOnce(&'a M) -> Option<&'a N>>( + referece: Self, + f: F, + ) -> Option> { + let val = f(unsafe { referece.data.as_ref() })?; + Some(RcuRef { + arc: Arc::clone(&referece.arc), + data: val.into(), + }) + } + + pub fn same_epoch(this: &Self, other: &RcuRef) -> bool { + Arc::ptr_eq(&this.arc, &other.arc) + } + + pub fn ptr_eq(this: &Self, other: &Self) -> bool { + this.data == other.data + } + + pub fn clone(this: &Self) -> Self { + Self { + arc: Arc::clone(&this.arc), + data: this.data, + } + } + + pub fn get_root(this: &Self) -> &T { + &this.arc + } +} + +impl Deref for RcuRef { + type Target = M; + + fn deref(&self) -> &Self::Target { + // Safety: The pointer points into the arc we are holding + // while we are alive so is the target + // as the content is in an Rcu no mutable acess is given out + unsafe { self.data.as_ref() } + } +} diff --git a/src/read.rs b/src/read.rs index 40b50e03..1baf8720 100644 --- a/src/read.rs +++ b/src/read.rs @@ -16,8 +16,6 @@ use crate::types::*; use fxhash::FxBuildHasher; -use indexmap::IndexSet; - #[cfg(feature = "repl")] use rustyline::error::ReadlineError; #[cfg(feature = "repl")] @@ -27,18 +25,17 @@ use rustyline::{Config, Editor}; use std::collections::VecDeque; use std::io::{Cursor, Error, ErrorKind, Read}; +use std::sync::Arc; type SubtermDeque = VecDeque<(usize, usize)>; -pub(crate) fn devour_whitespace<'a, R: CharRead>(parser: &mut Parser<'a, R>) -> Result { +pub(crate) fn devour_whitespace<'a, R: CharRead>( + parser: &mut Parser<'a, R>, +) -> Result { match parser.lexer.scan_for_layout() { - Err(e) if e.is_unexpected_eof() => { - Ok(true) - } + Err(e) if e.is_unexpected_eof() => Ok(true), Err(e) => Err(e), - Ok(_) => { - Ok(false) - } + Ok(_) => Ok(false), } } @@ -60,7 +57,6 @@ pub(crate) fn error_after_read_term( CompilationError::from(err) } - impl MachineState { pub(crate) fn read( &mut self, @@ -74,14 +70,15 @@ impl MachineState { parser.add_lines_read(prior_num_lines_read); - let term = parser.read_term(&op_dir, Tokens::Default) + let term = parser + .read_term(&op_dir, Tokens::Default) .map_err(|err| error_after_read_term(err, prior_num_lines_read, &parser))?; // CompilationError::from (term, parser.lines_read() - prior_num_lines_read) }; inner.add_lines_read(num_lines_read); - write_term_to_heap(&term, &mut self.heap, &mut self.atom_tbl) + write_term_to_heap(&term, &mut self.heap, &self.atom_tbl) } } @@ -114,51 +111,48 @@ pub struct ReadlineStream { } impl ReadlineStream { - #[cfg(feature = "repl")] #[inline] pub fn new(pending_input: &str, add_history: bool) -> Self { - let config = Config::builder() - .check_cursor_position(true) - .build(); + #[cfg(feature = "repl")] + { + let config = Config::builder().check_cursor_position(true).build(); - let helper = Helper::new(); + let helper = Helper::new(); - let mut rl = Editor::with_config(config).unwrap(); - rl.set_helper(Some(helper)); + let mut rl = Editor::with_config(config).unwrap(); + rl.set_helper(Some(helper)); - if let Some(mut path) = dirs_next::home_dir() { - path.push(HISTORY_FILE); - if path.exists() && rl.load_history(&path).is_err() { - println!("Warning: loading history failed"); + if let Some(mut path) = dirs_next::home_dir() { + path.push(HISTORY_FILE); + if path.exists() && rl.load_history(&path).is_err() { + println!("Warning: loading history failed"); + } + } + + ReadlineStream { + rl, + pending_input: CharReader::new(Cursor::new(pending_input.to_owned())), + add_history: add_history, } } - ReadlineStream { - rl, - pending_input: CharReader::new(Cursor::new(pending_input.to_owned())), - add_history: add_history, + #[cfg(not(feature = "repl"))] + { + ReadlineStream { + pending_input: CharReader::new(Cursor::new(pending_input.to_owned())), + add_history: add_history, + } } } - #[cfg(not(feature = "repl"))] - #[inline] - pub fn new(pending_input: &str, add_history: bool) -> Self { - ReadlineStream { - pending_input: CharReader::new(Cursor::new(pending_input.to_owned())), - add_history: add_history, + pub fn set_atoms_for_completion(&mut self, atoms: &Arc) { + #[cfg(feature = "repl")] + { + let helper = self.rl.helper_mut().unwrap(); + helper.atoms = Arc::downgrade(atoms); } } - #[cfg(feature = "repl")] - pub fn set_atoms_for_completion(&mut self, atoms: *const IndexSet) { - let helper = self.rl.helper_mut().unwrap(); - helper.atoms = atoms; - } - - #[cfg(not(feature = "repl"))] - pub fn set_atoms_for_completion(&mut self, atoms: *const IndexSet) { - } - #[inline] pub fn reset(&mut self) { self.pending_input.reset_buffer(); @@ -180,7 +174,9 @@ impl ReadlineStream { unsafe { if PROMPT { - self.rl.add_history_entry(self.pending_input.get_ref().get_ref()).unwrap(); + self.rl + .add_history_entry(self.pending_input.get_ref().get_ref()) + .unwrap(); self.save_history(); PROMPT = false; } @@ -220,8 +216,7 @@ impl ReadlineStream { } #[cfg(not(feature = "repl"))] - fn save_history(&mut self) { - } + fn save_history(&mut self) {} #[inline] pub(crate) fn peek_byte(&mut self) -> std::io::Result { @@ -253,7 +248,7 @@ impl Read for ReadlineStream { self.call_readline()?; self.pending_input.read(buf) } - result => result + result => result, } } } @@ -266,16 +261,14 @@ impl CharRead for ReadlineStream { Some(Ok(c)) => { return Some(Ok(c)); } - _ => { - match self.call_readline() { - Err(e) => { - return Some(Err(e)); - } - _ => { - set_prompt(false); - } + _ => match self.call_readline() { + Err(e) => { + return Some(Err(e)); } - } + _ => { + set_prompt(false); + } + }, } } } @@ -295,7 +288,7 @@ impl CharRead for ReadlineStream { pub(crate) fn write_term_to_heap<'a, 'b>( term: &'a Term, heap: &'b mut Heap, - atom_tbl: &mut AtomTable, + atom_tbl: &AtomTable, ) -> Result { let term_writer = TermWriter::new(heap, atom_tbl); term_writer.write_term_to_heap(term) @@ -304,7 +297,7 @@ pub(crate) fn write_term_to_heap<'a, 'b>( #[derive(Debug)] struct TermWriter<'a, 'b> { heap: &'a mut Heap, - atom_tbl: &'b mut AtomTable, + atom_tbl: &'b AtomTable, queue: SubtermDeque, var_dict: HeapVarDict, } @@ -317,7 +310,7 @@ pub struct TermWriteResult { impl<'a, 'b> TermWriter<'a, 'b> { #[inline] - fn new(heap: &'a mut Heap, atom_tbl: &'b mut AtomTable) -> Self { + fn new(heap: &'a mut Heap, atom_tbl: &'b AtomTable) -> Self { TermWriter { heap, atom_tbl, @@ -347,17 +340,18 @@ impl<'a, 'b> TermWriter<'a, 'b> { match term { &TermRef::Cons(..) => list_loc_as_cell!(h), &TermRef::AnonVar(_) | &TermRef::Var(..) => heap_loc_as_cell!(h), - &TermRef::CompleteString(_, _, ref src) => + &TermRef::CompleteString(_, _, ref src) => { if src.as_str().is_empty() { empty_list_as_cell!() } else if self.heap[h].get_tag() == HeapCellValueTag::CStr { heap_loc_as_cell!(h) } else { pstr_loc_as_cell!(h) - }, + } + } &TermRef::PartialString(..) => pstr_loc_as_cell!(h), &TermRef::Literal(_, _, literal) => HeapCellValue::from(*literal), - &TermRef::Clause(_,_,_,subterms) if subterms.len() == 0 => heap_loc_as_cell!(h), + &TermRef::Clause(_, _, _, subterms) if subterms.len() == 0 => heap_loc_as_cell!(h), &TermRef::Clause(..) => str_loc_as_cell!(h), } } @@ -427,7 +421,8 @@ impl<'a, 'b> TermWriter<'a, 'b> { } &TermRef::AnonVar(_) => { if let Some((arity, site_h)) = self.queue.pop_front() { - self.var_dict.insert(VarKey::AnonVar(h), heap_loc_as_cell!(site_h)); + self.var_dict + .insert(VarKey::AnonVar(h), heap_loc_as_cell!(site_h)); if arity > 1 { self.queue.push_front((arity - 1, site_h + 1)); @@ -437,7 +432,8 @@ impl<'a, 'b> TermWriter<'a, 'b> { continue; } &TermRef::CompleteString(_, _, ref src) => { - put_complete_string(self.heap, src.as_str(), self.atom_tbl); + let src = src.as_str().to_owned(); + put_complete_string(self.heap, &src, self.atom_tbl); } &TermRef::PartialString(lvl, _, ref src, _) => { if let Level::Root = lvl { diff --git a/src/repl_helper.rs b/src/repl_helper.rs index 21dc9800..96643e6c 100644 --- a/src/repl_helper.rs +++ b/src/repl_helper.rs @@ -1,23 +1,24 @@ -use indexmap::IndexSet; -use rustyline::completion::{Completer, Candidate}; +use rustyline::completion::Completer; +use rustyline::highlight::{Highlighter, MatchingBracketHighlighter}; use rustyline::hint::Hinter; use rustyline::validate::Validator; -use rustyline::highlight::{MatchingBracketHighlighter, Highlighter}; -use rustyline::{Helper as RlHelper, Result, Context}; +use rustyline::{Context, Helper as RlHelper, Result}; -use crate::atom_table::{Atom, STATIC_ATOMS_MAP}; +use std::sync::Weak; + +use crate::atom_table::{AtomString, AtomTable, STATIC_ATOMS_MAP}; // TODO: Maybe add validation to the helper pub struct Helper { highligher: MatchingBracketHighlighter, - pub atoms: *const IndexSet, + pub atoms: Weak, } impl Helper { pub fn new() -> Self { Self { highligher: MatchingBracketHighlighter::new(), - atoms: std::ptr::null(), + atoms: Weak::new(), } } } @@ -43,7 +44,7 @@ fn get_prefix(line: &str, pos: usize) -> Option { } if i == pos { - break + break; } } @@ -54,39 +55,33 @@ fn get_prefix(line: &str, pos: usize) -> Option { start_of_atom } -pub struct StrPtr(*const str); - -impl Candidate for StrPtr { - fn display(&self) -> &str { - unsafe { - self.0.as_ref().unwrap() - } - } - - fn replacement(&self) -> &str { - unsafe { - self.0.as_ref().unwrap() - } - } -} - impl Completer for Helper { - type Candidate = StrPtr; + type Candidate = AtomString<'static>; - fn complete(&self, line: &str, pos: usize, _ctx: &Context<'_>) -> Result<(usize, Vec)> { + fn complete( + &self, + line: &str, + pos: usize, + _ctx: &Context<'_>, + ) -> Result<(usize, Vec)> { let start_of_prefix = get_prefix(line, pos); if let Some(idx) = start_of_prefix { let sub_str = line.get(idx..pos).unwrap(); - Ok((idx, unsafe { - let mut matching = (*self.atoms).iter() - .chain(STATIC_ATOMS_MAP.values()) - .filter(|a| a.as_str().starts_with(sub_str)) - .map(|s| StrPtr(s.as_str())) - .collect::>(); - matching.sort_unstable_by(|a, b| Ord::cmp(&(*a.0).len(), &(*b.0).len())); - matching - })) + let atom_table = self.atoms.upgrade().unwrap(); + + let index_set = atom_table.active_table(); + + let mut matching = index_set + .iter() + .chain(STATIC_ATOMS_MAP.values()) + .map(|a| a.as_str()) + .filter(|a| a.starts_with(sub_str)) + .collect::>(); + + matching.sort_unstable_by(|a, b| Ord::cmp(&a.len(), &b.len())); + + Ok((idx, matching)) } else { Ok((0, vec![])) } diff --git a/src/toplevel.pl b/src/toplevel.pl index 5431bad1..b804401b 100644 --- a/src/toplevel.pl +++ b/src/toplevel.pl @@ -235,8 +235,12 @@ double_quotes_option(DQ) :- ; DQ = false ). +answer_write_options(Os) :- + current_prolog_flag(answer_write_options, Os). + write_goal(G, VarList, MaxDepth) :- double_quotes_option(DQ), + answer_write_options(Os), ( G = (Var = Value) -> ( var(Value) -> select((Var = _), VarList, NewVarList) @@ -246,17 +250,18 @@ write_goal(G, VarList, MaxDepth) :- write(' = '), ( needs_bracketing(Value, =) -> write('('), - write_term(Value, [quoted(true), variable_names(NewVarList), max_depth(MaxDepth), double_quotes(DQ)]), + write_term(Value, [quoted(true), variable_names(NewVarList), max_depth(MaxDepth), double_quotes(DQ)|Os]), write(')') - ; write_term(Value, [quoted(true), variable_names(NewVarList), max_depth(MaxDepth), double_quotes(DQ)]) + ; write_term(Value, [quoted(true), variable_names(NewVarList), max_depth(MaxDepth), double_quotes(DQ)|Os]) ) ; G == [] -> write('true') - ; write_term(G, [quoted(true), variable_names(VarList), max_depth(MaxDepth), double_quotes(DQ)]) + ; write_term(G, [quoted(true), variable_names(VarList), max_depth(MaxDepth), double_quotes(DQ)|Os]) ). write_last_goal(G, VarList, MaxDepth) :- double_quotes_option(DQ), + answer_write_options(Os), ( G = (Var = Value) -> ( var(Value) -> select((Var = _), VarList, NewVarList) @@ -266,9 +271,9 @@ write_last_goal(G, VarList, MaxDepth) :- write(' = '), ( needs_bracketing(Value, =) -> write('('), - write_term(Value, [quoted(true), variable_names(NewVarList), max_depth(MaxDepth), double_quotes(DQ)]), + write_term(Value, [quoted(true), variable_names(NewVarList), max_depth(MaxDepth), double_quotes(DQ)|Os]), write(')') - ; write_term(Value, [quoted(true), variable_names(NewVarList), max_depth(MaxDepth), double_quotes(DQ)]), + ; write_term(Value, [quoted(true), variable_names(NewVarList), max_depth(MaxDepth), double_quotes(DQ)|Os]), ( trailing_period_is_ambiguous(Value) -> write(' ') ; true @@ -276,7 +281,7 @@ write_last_goal(G, VarList, MaxDepth) :- ) ; G == [] -> write('true') - ; write_term(G, [quoted(true), variable_names(VarList), max_depth(MaxDepth), double_quotes(DQ)]) + ; write_term(G, [quoted(true), variable_names(VarList), max_depth(MaxDepth), double_quotes(DQ)|Os]) ). write_eq((G1, G2), VarList, MaxDepth) :- diff --git a/src/types.rs b/src/types.rs index 350a76dd..cf2159ba 100644 --- a/src/types.rs +++ b/src/types.rs @@ -24,7 +24,7 @@ pub enum HeapCellValueTag { PStrOffset = 0b001111, // constants. Cons = 0b0, - F64 = 0b010001, + F64 = 0b010001, Fixnum = 0b010011, Char = 0b010101, Atom = 0b010111, @@ -45,7 +45,7 @@ pub enum HeapCellValueView { PStrOffset = 0b001111, // constants. Cons = 0b0, - F64 = 0b010001, + F64 = 0b010001, Fixnum = 0b010011, Char = 0b010101, Atom = 0b010111, @@ -56,9 +56,9 @@ pub enum HeapCellValueView { TrailedHeapVar = 0b101111, TrailedStackVar = 0b101011, TrailedAttrVar = 0b100001, - TrailedAttrVarListLink = 0b100011, - TrailedAttachedValue = 0b100101, - TrailedBlackboardEntry = 0b100111, + TrailedAttrVarListLink = 0b100011, + TrailedAttachedValue = 0b100101, + TrailedBlackboardEntry = 0b100111, TrailedBlackboardOffset = 0b110011, } @@ -88,7 +88,7 @@ impl ConsPtr { .with_tag(tag) } - #[cfg(target_pointer_width="32")] + #[cfg(target_pointer_width = "32")] #[inline(always)] pub fn as_ptr(self) -> *mut u8 { let bytes = self.into_bytes(); @@ -96,7 +96,7 @@ impl ConsPtr { unsafe { mem::transmute(raw_ptr_bytes) } } - #[cfg(target_pointer_width="64")] + #[cfg(target_pointer_width = "64")] #[inline(always)] pub fn as_ptr(self) -> *mut u8 { self.ptr() as *mut _ @@ -121,28 +121,24 @@ pub(crate) enum RefTag { #[derive(Copy, Clone, Debug, Hash, PartialEq, Eq)] pub struct Ref { val: B56, - #[allow(unused)] m: bool, - #[allow(unused)] f: bool, + #[allow(unused)] + m: bool, + #[allow(unused)] + f: bool, tag: RefTag, } impl Ord for Ref { fn cmp(&self, rhs: &Ref) -> Ordering { match self.get_tag() { - RefTag::HeapCell | RefTag::AttrVar => { - match rhs.get_tag() { - RefTag::StackCell => Ordering::Less, - _ => self.get_value().cmp(&rhs.get_value()), - } - } - RefTag::StackCell => { - match rhs.get_tag() { - RefTag::StackCell => - self.get_value().cmp(&rhs.get_value()), - _ => - Ordering::Greater, - } - } + RefTag::HeapCell | RefTag::AttrVar => match rhs.get_tag() { + RefTag::StackCell => Ordering::Less, + _ => self.get_value().cmp(&rhs.get_value()), + }, + RefTag::StackCell => match rhs.get_tag() { + RefTag::StackCell => self.get_value().cmp(&rhs.get_value()), + _ => Ordering::Greater, + }, } } } @@ -204,9 +200,9 @@ pub(crate) enum TrailEntryTag { TrailedHeapVar = 0b101111, TrailedStackVar = 0b101011, TrailedAttrVar = 0b100001, - TrailedAttrVarListLink = 0b100011, - TrailedAttachedValue = 0b100101, - TrailedBlackboardEntry = 0b100111, + TrailedAttrVarListLink = 0b100011, + TrailedAttachedValue = 0b100101, + TrailedBlackboardEntry = 0b100111, TrailedBlackboardOffset = 0b110011, } @@ -215,9 +211,12 @@ pub(crate) enum TrailEntryTag { #[repr(u64)] pub(crate) struct TrailEntry { val: B56, - #[allow(unused)] f: bool, - #[allow(unused)] m: bool, - #[allow(unused)] tag: TrailEntryTag, + #[allow(unused)] + f: bool, + #[allow(unused)] + m: bool, + #[allow(unused)] + tag: TrailEntryTag, } impl TrailEntry { @@ -233,9 +232,9 @@ impl TrailEntry { #[inline(always)] pub(crate) fn get_tag(self) -> TrailEntryTag { match self.tag_or_err() { - Ok(tag) => tag, - Err(_) => TrailEntryTag::TrailedAttachedValue, - } + Ok(tag) => tag, + Err(_) => TrailEntryTag::TrailedAttachedValue, + } } #[inline] @@ -257,14 +256,13 @@ pub struct HeapCellValue { impl fmt::Debug for HeapCellValue { fn fmt(&self, f: &mut std::fmt::Formatter) -> fmt::Result { match self.get_tag() { - HeapCellValueTag::F64 => { - f.debug_struct("HeapCellValue") - .field("tag", &HeapCellValueTag::F64) - .field("offset", &self.get_value()) - .field("m", &self.m()) - .field("f", &self.f()) - .finish() - } + HeapCellValueTag::F64 => f + .debug_struct("HeapCellValue") + .field("tag", &HeapCellValueTag::F64) + .field("offset", &self.get_value()) + .field("m", &self.m()) + .field("f", &self.f()) + .finish(), HeapCellValueTag::Cons => { let cons_ptr = ConsPtr::from_bytes(self.into_bytes()); @@ -276,8 +274,7 @@ impl fmt::Debug for HeapCellValue { .finish() } HeapCellValueTag::Atom => { - let (name, arity) = cell_as_atom_cell!(self) - .get_name_and_arity(); + let (name, arity) = cell_as_atom_cell!(self).get_name_and_arity(); f.debug_struct("HeapCellValue") .field("tag", &HeapCellValueTag::Atom) @@ -288,8 +285,7 @@ impl fmt::Debug for HeapCellValue { .finish() } HeapCellValueTag::PStr => { - let (name, _) = cell_as_atom_cell!(self) - .get_name_and_arity(); + let (name, _) = cell_as_atom_cell!(self).get_name_and_arity(); f.debug_struct("HeapCellValue") .field("tag", &HeapCellValueTag::PStr) @@ -298,14 +294,13 @@ impl fmt::Debug for HeapCellValue { .field("f", &self.f()) .finish() } - tag => { - f.debug_struct("HeapCellValue") - .field("tag", &tag) - .field("value", &self.get_value()) - .field("m", &self.get_mark_bit()) - .field("f", &self.get_forwarding_bit()) - .finish() - } + tag => f + .debug_struct("HeapCellValue") + .field("tag", &tag) + .field("value", &self.get_value()) + .field("m", &self.get_mark_bit()) + .field("f", &self.get_forwarding_bit()) + .finish(), } } } @@ -320,10 +315,7 @@ impl From> for HeapCellValue { impl From for HeapCellValue { #[inline] fn from(f64_ptr: F64Ptr) -> HeapCellValue { - HeapCellValue::build_with( - HeapCellValueTag::F64, - f64_ptr.as_offset().to_u64(), - ) + HeapCellValue::build_with(HeapCellValueTag::F64, f64_ptr.as_offset().to_u64()) } } @@ -402,9 +394,13 @@ impl HeapCellValue { #[inline] pub fn is_ref(self) -> bool { match self.get_tag() { - HeapCellValueTag::Str | HeapCellValueTag::Lis | HeapCellValueTag::Var | - HeapCellValueTag::StackVar | HeapCellValueTag::AttrVar | HeapCellValueTag::PStrLoc | - HeapCellValueTag::PStrOffset => true, + HeapCellValueTag::Str + | HeapCellValueTag::Lis + | HeapCellValueTag::Var + | HeapCellValueTag::StackVar + | HeapCellValueTag::AttrVar + | HeapCellValueTag::PStrLoc + | HeapCellValueTag::PStrOffset => true, _ => false, } } @@ -431,16 +427,13 @@ impl HeapCellValue { #[inline] pub fn is_constant(self) -> bool { match self.get_tag() { - HeapCellValueTag::Cons | HeapCellValueTag::F64 | HeapCellValueTag::Fixnum | - HeapCellValueTag::Char | HeapCellValueTag::CStr => { - true - } - HeapCellValueTag::Atom => { - cell_as_atom_cell!(self).get_arity() == 0 - } - _ => { - false - } + HeapCellValueTag::Cons + | HeapCellValueTag::F64 + | HeapCellValueTag::Fixnum + | HeapCellValueTag::Char + | HeapCellValueTag::CStr => true, + HeapCellValueTag::Atom => cell_as_atom_cell!(self).get_arity() == 0, + _ => false, } } @@ -455,17 +448,13 @@ impl HeapCellValue { HeapCellValueTag::Str => { cell_as_atom_cell!(heap[self.get_value() as usize]).get_arity() > 0 } - HeapCellValueTag::Lis | - HeapCellValueTag::CStr | - HeapCellValueTag::PStr | - HeapCellValueTag::PStrLoc | - HeapCellValueTag::PStrOffset => { - true - } - HeapCellValueTag::Atom => { - cell_as_atom_cell!(self).get_arity() > 0 - } - _ => { false } + HeapCellValueTag::Lis + | HeapCellValueTag::CStr + | HeapCellValueTag::PStr + | HeapCellValueTag::PStrLoc + | HeapCellValueTag::PStrOffset => true, + HeapCellValueTag::Atom => cell_as_atom_cell!(self).get_arity() > 0, + _ => false, } } @@ -530,9 +519,7 @@ impl HeapCellValue { #[inline] pub fn to_pstr(self) -> Option { match self.tag() { - HeapCellValueTag::PStr => { - Some(PartialString::from(Atom::from(self.val() << 3))) - } + HeapCellValueTag::PStr => Some(PartialString::from(Atom::from(self.val() << 3))), _ => None, } } @@ -545,26 +532,35 @@ impl HeapCellValue { } } - #[cfg(target_pointer_width="32")] + #[cfg(target_pointer_width = "32")] #[inline] pub fn from_raw_ptr_bytes(ptr_bytes: [u8; 4]) -> Self { - HeapCellValue::from_bytes([ptr_bytes[0], ptr_bytes[1], ptr_bytes[2], ptr_bytes[3], 0, 0, 0, 0]) + HeapCellValue::from_bytes([ + ptr_bytes[0], + ptr_bytes[1], + ptr_bytes[2], + ptr_bytes[3], + 0, + 0, + 0, + 0, + ]) } - #[cfg(target_pointer_width="64")] + #[cfg(target_pointer_width = "64")] #[inline] pub fn from_raw_ptr_bytes(ptr_bytes: [u8; 8]) -> Self { HeapCellValue::from_bytes(ptr_bytes) } #[inline] - #[cfg(target_pointer_width="32")] + #[cfg(target_pointer_width = "32")] pub fn to_raw_ptr_bytes(self) -> [u8; 4] { let bytes = self.into_bytes(); [bytes[0], bytes[1], bytes[2], bytes[3]] } #[inline] - #[cfg(target_pointer_width="64")] + #[cfg(target_pointer_width = "64")] pub fn to_raw_ptr_bytes(self) -> [u8; 8] { self.into_bytes() } @@ -577,7 +573,9 @@ impl HeapCellValue { #[inline] pub fn to_untyped_arena_ptr(self) -> Option { match self.get_tag() { - HeapCellValueTag::Cons => Some(UntypedArenaPtr::from_bytes(self.to_untyped_arena_ptr_bytes())), + HeapCellValueTag::Cons => Some(UntypedArenaPtr::from_bytes( + self.to_untyped_arena_ptr_bytes(), + )), _ => None, } } @@ -586,7 +584,7 @@ impl HeapCellValue { pub fn get_forwarding_bit(self) -> bool { match self.get_tag() { HeapCellValueTag::Cons => ConsPtr::from_bytes(self.into_bytes()).f(), - _ => self.f() + _ => self.f(), } } @@ -604,9 +602,7 @@ impl HeapCellValue { #[inline(always)] pub fn get_mark_bit(self) -> bool { match self.get_tag() { - HeapCellValueTag::Cons => { - ConsPtr::from_bytes(self.into_bytes()).m() - } + HeapCellValueTag::Cons => ConsPtr::from_bytes(self.into_bytes()).m(), _ => self.m(), } } @@ -633,15 +629,12 @@ impl HeapCellValue { Some(TermOrderCategory::Variable) } HeapCellValueTag::Char => Some(TermOrderCategory::Atom), - HeapCellValueTag::Atom => { - Some(if cell_as_atom_cell!(self).get_arity() > 0 { - TermOrderCategory::Compound - } else { - TermOrderCategory::Atom - }) - } - HeapCellValueTag::Lis | HeapCellValueTag::PStrLoc | - HeapCellValueTag::CStr => { + HeapCellValueTag::Atom => Some(if cell_as_atom_cell!(self).get_arity() > 0 { + TermOrderCategory::Compound + } else { + TermOrderCategory::Atom + }), + HeapCellValueTag::Lis | HeapCellValueTag::PStrLoc | HeapCellValueTag::CStr => { Some(TermOrderCategory::Compound) } HeapCellValueTag::Str => { @@ -654,9 +647,7 @@ impl HeapCellValue { Some(TermOrderCategory::Compound) } } - _ => { - None - } + _ => None, }, } } @@ -680,16 +671,17 @@ const_assert!(mem::size_of::() == 8); #[repr(u64)] #[derive(Copy, Clone, Debug, Hash, PartialEq, Eq)] pub struct UntypedArenaPtr { - #[allow(unused)] ptr: B61, + #[allow(unused)] + ptr: B61, m: bool, - #[allow(unused)] padding: B2, + #[allow(unused)] + padding: B2, } impl UntypedArenaPtr { #[inline(always)] pub fn build_with(ptr: usize) -> Self { - UntypedArenaPtr::new() - .with_ptr(ptr as u64) + UntypedArenaPtr::new().with_ptr(ptr as u64) } } @@ -722,7 +714,7 @@ impl UntypedArenaPtr { self.set_m(m); } - #[cfg(target_pointer_width="32")] + #[cfg(target_pointer_width = "32")] #[inline] pub fn get_ptr(self) -> *const u8 { let bytes = self.into_bytes(); @@ -730,10 +722,10 @@ impl UntypedArenaPtr { unsafe { mem::transmute(raw_ptr_bytes) } } - #[cfg(target_pointer_width="64")] + #[cfg(target_pointer_width = "64")] #[inline] pub fn get_ptr(self) -> *const u8 { - self.ptr() as *const u8 + self.ptr() as *const u8 } #[inline] @@ -763,17 +755,15 @@ impl Add for HeapCellValue { fn add(self, rhs: usize) -> Self::Output { match self.get_tag() { - tag @ HeapCellValueTag::Str | - tag @ HeapCellValueTag::Lis | - tag @ HeapCellValueTag::PStrOffset | - tag @ HeapCellValueTag::PStrLoc | - tag @ HeapCellValueTag::Var | - tag @ HeapCellValueTag::AttrVar => { + tag @ HeapCellValueTag::Str + | tag @ HeapCellValueTag::Lis + | tag @ HeapCellValueTag::PStrOffset + | tag @ HeapCellValueTag::PStrLoc + | tag @ HeapCellValueTag::Var + | tag @ HeapCellValueTag::AttrVar => { HeapCellValue::build_with(tag, (self.get_value() as usize + rhs) as u64) } - _ => { - self - } + _ => self, } } } @@ -783,17 +773,15 @@ impl Sub for HeapCellValue { fn sub(self, rhs: usize) -> Self::Output { match self.get_tag() { - tag @ HeapCellValueTag::Str | - tag @ HeapCellValueTag::Lis | - tag @ HeapCellValueTag::PStrOffset | - tag @ HeapCellValueTag::PStrLoc | - tag @ HeapCellValueTag::Var | - tag @ HeapCellValueTag::AttrVar => { + tag @ HeapCellValueTag::Str + | tag @ HeapCellValueTag::Lis + | tag @ HeapCellValueTag::PStrOffset + | tag @ HeapCellValueTag::PStrLoc + | tag @ HeapCellValueTag::Var + | tag @ HeapCellValueTag::AttrVar => { HeapCellValue::build_with(tag, (self.get_value() as usize - rhs) as u64) } - _ => { - self - } + _ => self, } } } @@ -811,21 +799,18 @@ impl Sub for HeapCellValue { fn sub(self, rhs: i64) -> Self::Output { if rhs < 0 { match self.get_tag() { - tag @ HeapCellValueTag::Str | - tag @ HeapCellValueTag::Lis | - tag @ HeapCellValueTag::PStrOffset | - tag @ HeapCellValueTag::PStrLoc | - tag @ HeapCellValueTag::Var | - tag @ HeapCellValueTag::AttrVar => { + tag @ HeapCellValueTag::Str + | tag @ HeapCellValueTag::Lis + | tag @ HeapCellValueTag::PStrOffset + | tag @ HeapCellValueTag::PStrLoc + | tag @ HeapCellValueTag::Var + | tag @ HeapCellValueTag::AttrVar => { HeapCellValue::build_with(tag, self.get_value() + rhs.abs() as u64) } - _ => { - self - } + _ => self, } } else { self.sub(rhs as usize) } } } - diff --git a/src/variable_records.rs b/src/variable_records.rs index 2d19ec08..bb91a777 100644 --- a/src/variable_records.rs +++ b/src/variable_records.rs @@ -56,8 +56,10 @@ impl VarSafetyStatus { #[derive(Debug, Clone, Copy)] pub enum PermVarAllocation { - Done { shallow_safety: VarSafetyStatus, - deep_safety: VarSafetyStatus }, + Done { + shallow_safety: VarSafetyStatus, + deep_safety: VarSafetyStatus, + }, Pending, } @@ -81,11 +83,13 @@ impl PermVarAllocation { #[derive(Debug, Clone)] pub enum VarAlloc { - Temp { term_loc: GenContext, - temp_reg: usize, - temp_var_data: TempVarData, - safety: VarSafetyStatus, - to_perm_var_num: Option }, + Temp { + term_loc: GenContext, + temp_reg: usize, + temp_var_data: TempVarData, + safety: VarSafetyStatus, + to_perm_var_num: Option, + }, Perm(usize, PermVarAllocation), // stack offset, allocation info } @@ -102,7 +106,9 @@ impl VarAlloc { pub(crate) fn set_register(&mut self, reg_num: usize) { match self { VarAlloc::Perm(ref mut p, _) => *p = reg_num, - VarAlloc::Temp { ref mut temp_reg, .. } => *temp_reg = reg_num, + VarAlloc::Temp { + ref mut temp_reg, .. + } => *temp_reg = reg_num, }; } } @@ -191,7 +197,8 @@ impl VariableRecords { // Compute the conflict set of u. // 1. - let mut use_sets: IndexMap> = IndexMap::new(); + let mut use_sets: IndexMap> = + IndexMap::new(); for (var_gen_index, record) in self.0.iter_mut().enumerate() { match &mut record.allocation { @@ -203,8 +210,7 @@ impl VariableRecords { use_sets.insert(var_gen_index, use_set); } - _ => { - } + _ => {} } } @@ -214,7 +220,11 @@ impl VariableRecords { if let GenContext::Last(cn_u) = term_loc { for (var_gen_index, record) in self.0.iter_mut().enumerate() { match &mut record.allocation { - VarAlloc::Temp { term_loc, temp_var_data, .. } => { + VarAlloc::Temp { + term_loc, + temp_var_data, + .. + } => { if cn_u == term_loc.chunk_num() && u != var_gen_index { if !temp_var_data.uses_reg(reg) { temp_var_data.no_use_set.insert(reg); @@ -228,7 +238,7 @@ impl VariableRecords { } // 3. - if let VarAlloc::Temp{ temp_var_data, .. } = &mut self[u].allocation { + if let VarAlloc::Temp { temp_var_data, .. } = &mut self[u].allocation { temp_var_data.use_set = use_set; temp_var_data.populate_conflict_set(); } diff --git a/tests/scryer/issues.rs b/tests/scryer/issues.rs index 1f0e2737..821bbbf3 100644 --- a/tests/scryer/issues.rs +++ b/tests/scryer/issues.rs @@ -1,5 +1,4 @@ use crate::helper::{load_module_test, run_top_level_test_no_args, run_top_level_test_with_args}; -use scryer_prolog::machine::Machine; use serial_test::serial; // issue #857 @@ -30,7 +29,7 @@ fn do_not_duplicate_path_components() { ['tests-pl/issue852-throw_e.pl'].\n\ halt.\n\ ", - " throw(e).\n false.\n throw(e).\n false.\n", + " throw(e).\n throw(e).\n", ); } @@ -171,16 +170,3 @@ fn call_0() { " error(existence_error(procedure,call/0),call/0).\n", ); } - -// issue #1206 -#[serial] -#[test] -#[should_panic(expected = "Overwriting atom table base pointer")] -fn atomtable_is_not_concurrency_safe() { - // this is basically the same test as scryer_prolog::atom_table::atomtable_is_not_concurrency_safe - // but for this integration test scryer_prolog is compiled with cfg!(not(test)) while for the unit test it is compiled with cfg!(test) - // as the atom table implementation differ between cfg!(test) and cfg!(not(test)) both test serve a pourpose - // Note: this integration test itself is compiled with cfg!(test) independent of scryer_prolog itself - let _machine_a = Machine::with_test_streams(); - let _machine_b = Machine::with_test_streams(); -} diff --git a/tests/scryer/src_tests.rs b/tests/scryer/src_tests.rs index 38043098..f913788e 100644 --- a/tests/scryer/src_tests.rs +++ b/tests/scryer/src_tests.rs @@ -73,8 +73,5 @@ fn clpz_load() { #[serial] #[test] fn iso_conformity_tests() { - load_module_test( - "tests-pl/iso-conformity-tests.pl", - "All tests passed", - ); + load_module_test("tests-pl/iso-conformity-tests.pl", "All tests passed"); }