From 96f37727b02653bd3795e805d27c2763ade2ae8a Mon Sep 17 00:00:00 2001 From: Robert-M-Lucas <100799838+Robert-M-Lucas@users.noreply.github.com> Date: Wed, 7 Aug 2024 19:09:54 +0100 Subject: [PATCH] Updated packages --- .idea/workspace.xml | 30 +- Cargo.lock | 53 +- Cargo.toml | 4 +- build/out.asm | 702 +++++++++++------------ build/out.o | Bin 4688 -> 4688 bytes build/out.out | Bin 18224 -> 18224 bytes src/root/name_resolver/name_resolvers.rs | 7 +- src/root/shared/common.rs | 19 +- 8 files changed, 415 insertions(+), 400 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 199d854..dbf0992 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -7,8 +7,10 @@ - - + + + + @@ -725,7 +727,6 @@ - @@ -750,7 +751,8 @@ - diff --git a/Cargo.lock b/Cargo.lock index bcf9d9f..88ca92a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -153,15 +153,18 @@ checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "convert_case" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] [[package]] name = "derive-getters" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6433aac097572ea8ccc60b3f2e756c661c9aeed9225cdd4d0cb119cb7ff6ba" +checksum = "74ef43543e701c01ad77d3a5922755c6a1d71b22d942cb8042be4994b380caff" dependencies = [ "proc-macro2", "quote", @@ -170,15 +173,24 @@ dependencies = [ [[package]] name = "derive_more" -version = "0.99.18" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "convert_case", "proc-macro2", "quote", - "rustc_version", "syn", + "unicode-xid", ] [[package]] @@ -322,15 +334,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - [[package]] name = "rustversion" version = "1.0.17" @@ -346,12 +349,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" - [[package]] name = "strsim" version = "0.11.1" @@ -433,6 +430,18 @@ version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + [[package]] name = "unique-type-id" version = "1.3.0" diff --git a/Cargo.toml b/Cargo.toml index 266c40d..7af9d22 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,8 +21,8 @@ nom = "7.1.3" nom_locate = "4.2.0" nom-supreme = "0.8.0" substring = "1.4.5" -derive-getters = "0.4.0" -derive_more = "0.99.18" +derive-getters = "0.5.0" +derive_more = { version = "1.0.0", features = ["full"]} termsize = "0.1.9" num-format = "0.4.4" diff --git a/build/out.asm b/build/out.asm index e4f34d8..8a2000f 100644 --- a/build/out.asm +++ b/build/out.asm @@ -2,6 +2,124 @@ section .text +main: + push rbp + mov rbp, rsp + sub rsp, 0x0000000000000018 + call _10 + add rsp, 0x0000000000000018 + mov rax, qword [rbp-24] + mov qword [rbp-8], rax + mov rax, rbp + add rax, 0xfffffffffffffff8 + mov qword [rbp-32], rax + mov qword [rbp-40], 12 + mov rax, qword [rbp-40] + mov qword [rbp-64], rax + mov rax, qword [rbp-32] + mov qword [rbp-72], rax + sub rsp, 0x0000000000000048 + call _11 + add rsp, 0x0000000000000048 + mov rax, rbp + add rax, 0xfffffffffffffff8 + mov qword [rbp-64], rax + mov qword [rbp-72], 7 + mov rax, qword [rbp-72] + mov qword [rbp-96], rax + mov rax, qword [rbp-64] + mov qword [rbp-104], rax + sub rsp, 0x0000000000000068 + call _11 + add rsp, 0x0000000000000068 + mov rax, rbp + add rax, 0xfffffffffffffff8 + mov qword [rbp-96], rax + mov qword [rbp-104], 8 + mov rax, qword [rbp-104] + mov qword [rbp-128], rax + mov rax, qword [rbp-96] + mov qword [rbp-136], rax + sub rsp, 0x0000000000000088 + call _11 + add rsp, 0x0000000000000088 + mov rax, rbp + add rax, 0xfffffffffffffff8 + mov qword [rbp-128], rax + mov rax, qword [rbp-128] + mov qword [rbp-136], rax + sub rsp, 0x0000000000000088 + call _14 + add rsp, 0x0000000000000088 + mov rdi, __42_fstr + mov al, 0 + sub rsp, 128 + extern printf + call printf + add rsp, 128 + mov rax, rbp + add rax, 0xfffffffffffffff8 + mov qword [rbp-144], rax + mov qword [rbp-152], 1 + mov rax, qword [rbp-152] + mov qword [rbp-176], rax + mov rax, qword [rbp-144] + mov qword [rbp-184], rax + sub rsp, 0x00000000000000b8 + call _12 + add rsp, 0x00000000000000b8 + mov rax, qword [rbp-168] + mov qword [rbp-136], rax + mov rdi, __8_fstr + mov rsi, [rbp-136] + mov al, 0 + sub rsp, 168 + extern printf + call printf + add rsp, 168 + mov rdi, __42_fstr + mov al, 0 + sub rsp, 168 + extern printf + call printf + add rsp, 168 + mov rax, rbp + add rax, 0xfffffffffffffff8 + mov qword [rbp-184], rax + mov rax, qword [rbp-184] + mov qword [rbp-200], rax + sub rsp, 0x00000000000000c8 + call _13 + add rsp, 0x00000000000000c8 + mov rax, qword [rbp-192] + mov qword [rbp-176], rax + mov rdi, __8_fstr + mov rsi, [rbp-176] + mov al, 0 + sub rsp, 192 + extern printf + call printf + add rsp, 192 + mov rdi, __42_fstr + mov al, 0 + sub rsp, 192 + extern printf + call printf + add rsp, 192 + mov rax, rbp + add rax, 0xfffffffffffffff8 + mov qword [rbp-200], rax + mov rax, qword [rbp-200] + mov qword [rbp-208], rax + sub rsp, 0x00000000000000d0 + call _14 + add rsp, 0x00000000000000d0 + mov qword [rbp-208], 8 + mov rax, qword [rbp-208] + leave + ret + + _19: push rbp mov rbp, rsp @@ -26,22 +144,22 @@ _19: mov qword [rbp-26], rax mov rax, qword [rbp-26] cmp rax, 0 - jz __36_28 + jz __36_6 mov byte [rbp-18], 0 - jmp __36_29 - __36_28: + jmp __36_7 + __36_6: mov byte [rbp-18], 1 - __36_29: + __36_7: mov al, byte [rbp-18] cmp al, 0 - jz __23_30 + jz __23_8 mov byte [rbp-17], 0 - jmp __23_31 - __23_30: + jmp __23_9 + __23_8: mov byte [rbp-17], 1 - __23_31: + __23_9: cmp byte [rbp-17], 0 - jz _19_32 + jz _19_10 mov rax, [rbp+16] add rax, 0x0000000000000008 mov qword [rbp-42], rax @@ -53,76 +171,17 @@ _19: sub rsp, 0x000000000000003a call _19 add rsp, 0x000000000000003a - _19_33: - _19_32: + _19_11: + _19_10: leave ret -_10: - push rbp - mov rbp, rsp - mov qword [rbp+16], 0 - leave - ret - - -_17: +_18: push rbp mov rbp, rsp - mov rax, qword [rbp+24] - mov qword [rbp-9], rax - mov qword [rbp-17], 0 - mov rax, qword [rbp-9] - cmp rax, qword [rbp-17] - jz __16_6 - mov byte [rbp-1], 0 - jmp __16_7 - __16_6: - mov byte [rbp-1], 1 - __16_7: - cmp byte [rbp-1], 0 - jz _17_8 - mov rax, [rbp+16] - add rax, 0x0000000000000000 - mov qword [rbp-25], rax - mov rdx, qword [rbp-25] - mov rax, qword [rdx+0] - mov qword [rbp+32], rax - leave - ret - _17_9: - _17_8: mov rax, [rbp+16] add rax, 0x0000000000000008 - mov qword [rbp-25], rax - mov rdx, qword [rbp-25] - mov rax, qword [rdx+0] - mov qword [rbp-33], rax - mov rax, qword [rbp+24] - mov qword [rbp-49], rax - mov qword [rbp-57], 1 - mov rax, qword [rbp-49] - sub rax, qword [rbp-57] - mov qword [rbp-41], rax - mov rax, qword [rbp-41] - mov qword [rbp-81], rax - mov rax, qword [rbp-33] - mov qword [rbp-89], rax - sub rsp, 0x0000000000000059 - call _17 - add rsp, 0x0000000000000059 - mov rax, qword [rbp-73] - mov qword [rbp+32], rax - leave - ret - - -_13: - push rbp - mov rbp, rsp - mov rax, [rbp+16] - add rax, 0x0000000000000000 mov qword [rbp-17], rax mov rdx, qword [rbp-17] mov rax, qword [rdx+0] @@ -135,16 +194,16 @@ _13: mov qword [rbp-9], rax mov rax, qword [rbp-9] cmp rax, 0 - jz __36_10 + jz __36_30 mov byte [rbp-1], 0 - jmp __36_11 - __36_10: + jmp __36_31 + __36_30: mov byte [rbp-1], 1 - __36_11: + __36_31: cmp byte [rbp-1], 0 - jz _13_12 + jz _18_32 mov rax, [rbp+16] - add rax, 0x0000000000000000 + add rax, 0x0000000000000008 mov qword [rbp-49], rax mov rdx, qword [rbp-49] mov rax, qword [rdx+0] @@ -156,7 +215,7 @@ _13: mov rax, qword [rdx+0] mov qword [rbp-41], rax mov rax, [rbp+16] - add rax, 0x0000000000000000 + add rax, 0x0000000000000008 mov qword [rbp-81], rax mov rdx, qword [rbp-81] mov rax, qword [rdx+0] @@ -167,7 +226,7 @@ _13: call free add rsp, 81 mov rax, [rbp+16] - add rax, 0x0000000000000000 + add rax, 0x0000000000000008 mov qword [rbp-89], rax mov qword [rbp-97], 0 mov rdx, qword [rbp-89] @@ -177,10 +236,10 @@ _13: mov qword [rbp+24], rax leave ret - _13_13: - _13_12: + _18_33: + _18_32: mov rax, [rbp+16] - add rax, 0x0000000000000000 + add rax, 0x0000000000000008 mov qword [rbp-41], rax mov rdx, qword [rbp-41] mov rax, qword [rdx+0] @@ -196,6 +255,29 @@ _13: ret +_15: + push rbp + mov rbp, rsp + mov rax, qword [rbp+16] + mov qword [rbp-16], rax + mov qword [rbp-8], 0 + mov rdi, 16 + sub rsp, 16 + extern malloc + call malloc + add rsp, 16 + mov qword [rbp-24], rax + mov rdx, qword [rbp-24] + mov rax, qword [rbp-16] + mov qword [rdx+0], rax + mov rax, qword [rbp-8] + mov qword [rdx+8], rax + mov rax, qword [rbp-24] + mov qword [rbp+24], rax + leave + ret + + _12: push rbp mov rbp, rsp @@ -220,80 +302,167 @@ _12: ret -_18: +_11: push rbp mov rbp, rsp mov rax, [rbp+16] - add rax, 0x0000000000000008 + add rax, 0x0000000000000000 mov qword [rbp-17], rax mov rdx, qword [rbp-17] mov rax, qword [rdx+0] - mov qword [rbp-25], rax - mov rax, [rbp-25] - add rax, 0x0000000000000008 - mov qword [rbp-33], rax - mov rdx, qword [rbp-33] - mov rax, qword [rdx+0] mov qword [rbp-9], rax mov rax, qword [rbp-9] cmp rax, 0 - jz __36_14 + jz __36_16 mov byte [rbp-1], 0 - jmp __36_15 - __36_14: + jmp __36_17 + __36_16: mov byte [rbp-1], 1 - __36_15: + __36_17: cmp byte [rbp-1], 0 - jz _18_16 + jz _11_19 mov rax, [rbp+16] - add rax, 0x0000000000000008 - mov qword [rbp-49], rax - mov rdx, qword [rbp-49] - mov rax, qword [rdx+0] + add rax, 0x0000000000000000 + mov qword [rbp-25], rax + mov rax, qword [rbp+24] + mov qword [rbp-41], rax + mov rax, qword [rbp-41] mov qword [rbp-57], rax - mov rax, [rbp-57] + sub rsp, 0x0000000000000039 + call _15 + add rsp, 0x0000000000000039 + mov rax, qword [rbp-49] + mov qword [rbp-33], rax + mov rdx, qword [rbp-25] + mov rax, qword [rbp-33] + mov qword [rdx+0], rax + jmp _11_18 + _11_19: + mov rax, [rbp+16] add rax, 0x0000000000000000 - mov qword [rbp-65], rax - mov rdx, qword [rbp-65] + mov qword [rbp-25], rax + mov rdx, qword [rbp-25] mov rax, qword [rdx+0] + mov qword [rbp-33], rax + mov rax, qword [rbp+24] mov qword [rbp-41], rax + mov rax, qword [rbp-41] + mov qword [rbp-65], rax + mov rax, qword [rbp-33] + mov qword [rbp-73], rax + sub rsp, 0x0000000000000049 + call _16 + add rsp, 0x0000000000000049 + _11_20: + _11_18: + +leave +ret + +_16: + push rbp + mov rbp, rsp mov rax, [rbp+16] add rax, 0x0000000000000008 - mov qword [rbp-81], rax - mov rdx, qword [rbp-81] - mov rax, qword [rdx+0] - mov qword [rbp-73], rax - mov rdi, qword [rbp-73] - sub rsp, 81 - extern free - call free - add rsp, 81 + mov qword [rbp-17], rax + mov rdx, qword [rbp-17] + mov rax, qword [rdx+0] + mov qword [rbp-9], rax + mov rax, qword [rbp-9] + cmp rax, 0 + jz __36_21 + mov byte [rbp-1], 0 + jmp __36_22 + __36_21: + mov byte [rbp-1], 1 + __36_22: + cmp byte [rbp-1], 0 + jz _16_24 mov rax, [rbp+16] add rax, 0x0000000000000008 - mov qword [rbp-89], rax - mov qword [rbp-97], 0 - mov rdx, qword [rbp-89] - mov rax, qword [rbp-97] + mov qword [rbp-25], rax + mov rax, qword [rbp+24] + mov qword [rbp-41], rax + mov rax, qword [rbp-41] + mov qword [rbp-57], rax + sub rsp, 0x0000000000000039 + call _15 + add rsp, 0x0000000000000039 + mov rax, qword [rbp-49] + mov qword [rbp-33], rax + mov rdx, qword [rbp-25] + mov rax, qword [rbp-33] mov qword [rdx+0], rax + jmp _16_23 + _16_24: + mov rax, [rbp+16] + add rax, 0x0000000000000008 + mov qword [rbp-25], rax + mov rdx, qword [rbp-25] + mov rax, qword [rdx+0] + mov qword [rbp-33], rax + mov rax, qword [rbp+24] + mov qword [rbp-41], rax mov rax, qword [rbp-41] - mov qword [rbp+24], rax + mov qword [rbp-65], rax + mov rax, qword [rbp-33] + mov qword [rbp-73], rax + sub rsp, 0x0000000000000049 + call _16 + add rsp, 0x0000000000000049 + _16_25: + _16_23: + +leave +ret + +_17: + push rbp + mov rbp, rsp + mov rax, qword [rbp+24] + mov qword [rbp-9], rax + mov qword [rbp-17], 0 + mov rax, qword [rbp-9] + cmp rax, qword [rbp-17] + jz __16_26 + mov byte [rbp-1], 0 + jmp __16_27 + __16_26: + mov byte [rbp-1], 1 + __16_27: + cmp byte [rbp-1], 0 + jz _17_28 + mov rax, [rbp+16] + add rax, 0x0000000000000000 + mov qword [rbp-25], rax + mov rdx, qword [rbp-25] + mov rax, qword [rdx+0] + mov qword [rbp+32], rax leave ret - _18_17: - _18_16: + _17_29: + _17_28: mov rax, [rbp+16] add rax, 0x0000000000000008 - mov qword [rbp-41], rax - mov rdx, qword [rbp-41] + mov qword [rbp-25], rax + mov rdx, qword [rbp-25] mov rax, qword [rdx+0] + mov qword [rbp-33], rax + mov rax, qword [rbp+24] mov qword [rbp-49], rax + mov qword [rbp-57], 1 mov rax, qword [rbp-49] - mov qword [rbp-65], rax - sub rsp, 0x0000000000000041 - call _18 - add rsp, 0x0000000000000041 - mov rax, qword [rbp-57] - mov qword [rbp+24], rax + sub rax, qword [rbp-57] + mov qword [rbp-41], rax + mov rax, qword [rbp-41] + mov qword [rbp-81], rax + mov rax, qword [rbp-33] + mov qword [rbp-89], rax + sub rsp, 0x0000000000000059 + call _17 + add rsp, 0x0000000000000059 + mov rax, qword [rbp-73] + mov qword [rbp+32], rax leave ret @@ -342,125 +511,7 @@ _14: leave ret -main: - push rbp - mov rbp, rsp - sub rsp, 0x0000000000000018 - call _10 - add rsp, 0x0000000000000018 - mov rax, qword [rbp-24] - mov qword [rbp-8], rax - mov rax, rbp - add rax, 0xfffffffffffffff8 - mov qword [rbp-32], rax - mov qword [rbp-40], 12 - mov rax, qword [rbp-40] - mov qword [rbp-64], rax - mov rax, qword [rbp-32] - mov qword [rbp-72], rax - sub rsp, 0x0000000000000048 - call _11 - add rsp, 0x0000000000000048 - mov rax, rbp - add rax, 0xfffffffffffffff8 - mov qword [rbp-64], rax - mov qword [rbp-72], 7 - mov rax, qword [rbp-72] - mov qword [rbp-96], rax - mov rax, qword [rbp-64] - mov qword [rbp-104], rax - sub rsp, 0x0000000000000068 - call _11 - add rsp, 0x0000000000000068 - mov rax, rbp - add rax, 0xfffffffffffffff8 - mov qword [rbp-96], rax - mov qword [rbp-104], 8 - mov rax, qword [rbp-104] - mov qword [rbp-128], rax - mov rax, qword [rbp-96] - mov qword [rbp-136], rax - sub rsp, 0x0000000000000088 - call _11 - add rsp, 0x0000000000000088 - mov rax, rbp - add rax, 0xfffffffffffffff8 - mov qword [rbp-128], rax - mov rax, qword [rbp-128] - mov qword [rbp-136], rax - sub rsp, 0x0000000000000088 - call _14 - add rsp, 0x0000000000000088 - mov rdi, __42_fstr - mov al, 0 - sub rsp, 128 - extern printf - call printf - add rsp, 128 - mov rax, rbp - add rax, 0xfffffffffffffff8 - mov qword [rbp-144], rax - mov qword [rbp-152], 1 - mov rax, qword [rbp-152] - mov qword [rbp-176], rax - mov rax, qword [rbp-144] - mov qword [rbp-184], rax - sub rsp, 0x00000000000000b8 - call _12 - add rsp, 0x00000000000000b8 - mov rax, qword [rbp-168] - mov qword [rbp-136], rax - mov rdi, __8_fstr - mov rsi, [rbp-136] - mov al, 0 - sub rsp, 168 - extern printf - call printf - add rsp, 168 - mov rdi, __42_fstr - mov al, 0 - sub rsp, 168 - extern printf - call printf - add rsp, 168 - mov rax, rbp - add rax, 0xfffffffffffffff8 - mov qword [rbp-184], rax - mov rax, qword [rbp-184] - mov qword [rbp-200], rax - sub rsp, 0x00000000000000c8 - call _13 - add rsp, 0x00000000000000c8 - mov rax, qword [rbp-192] - mov qword [rbp-176], rax - mov rdi, __8_fstr - mov rsi, [rbp-176] - mov al, 0 - sub rsp, 192 - extern printf - call printf - add rsp, 192 - mov rdi, __42_fstr - mov al, 0 - sub rsp, 192 - extern printf - call printf - add rsp, 192 - mov rax, rbp - add rax, 0xfffffffffffffff8 - mov qword [rbp-200], rax - mov rax, qword [rbp-200] - mov qword [rbp-208], rax - sub rsp, 0x00000000000000d0 - call _14 - add rsp, 0x00000000000000d0 - mov qword [rbp-208], 8 - mov rax, qword [rbp-208] - leave - ret - - -_11: +_13: push rbp mov rbp, rsp mov rax, [rbp+16] @@ -468,134 +519,83 @@ _11: mov qword [rbp-17], rax mov rdx, qword [rbp-17] mov rax, qword [rdx+0] + mov qword [rbp-25], rax + mov rax, [rbp-25] + add rax, 0x0000000000000008 + mov qword [rbp-33], rax + mov rdx, qword [rbp-33] + mov rax, qword [rdx+0] mov qword [rbp-9], rax mov rax, qword [rbp-9] cmp rax, 0 - jz __36_18 + jz __36_12 mov byte [rbp-1], 0 - jmp __36_19 - __36_18: + jmp __36_13 + __36_12: mov byte [rbp-1], 1 - __36_19: + __36_13: cmp byte [rbp-1], 0 - jz _11_21 + jz _13_14 mov rax, [rbp+16] add rax, 0x0000000000000000 - mov qword [rbp-25], rax - mov rax, qword [rbp+24] - mov qword [rbp-41], rax - mov rax, qword [rbp-41] + mov qword [rbp-49], rax + mov rdx, qword [rbp-49] + mov rax, qword [rdx+0] mov qword [rbp-57], rax - sub rsp, 0x0000000000000039 - call _15 - add rsp, 0x0000000000000039 - mov rax, qword [rbp-49] - mov qword [rbp-33], rax - mov rdx, qword [rbp-25] - mov rax, qword [rbp-33] - mov qword [rdx+0], rax - jmp _11_20 - _11_21: - mov rax, [rbp+16] + mov rax, [rbp-57] add rax, 0x0000000000000000 - mov qword [rbp-25], rax - mov rdx, qword [rbp-25] + mov qword [rbp-65], rax + mov rdx, qword [rbp-65] mov rax, qword [rdx+0] - mov qword [rbp-33], rax - mov rax, qword [rbp+24] mov qword [rbp-41], rax - mov rax, qword [rbp-41] - mov qword [rbp-65], rax - mov rax, qword [rbp-33] + mov rax, [rbp+16] + add rax, 0x0000000000000000 + mov qword [rbp-81], rax + mov rdx, qword [rbp-81] + mov rax, qword [rdx+0] mov qword [rbp-73], rax - sub rsp, 0x0000000000000049 - call _16 - add rsp, 0x0000000000000049 - _11_22: - _11_20: - -leave -ret - -_15: - push rbp - mov rbp, rsp - mov rax, qword [rbp+16] - mov qword [rbp-16], rax - mov qword [rbp-8], 0 - mov rdi, 16 - sub rsp, 16 - extern malloc - call malloc - add rsp, 16 - mov qword [rbp-24], rax - mov rdx, qword [rbp-24] - mov rax, qword [rbp-16] + mov rdi, qword [rbp-73] + sub rsp, 81 + extern free + call free + add rsp, 81 + mov rax, [rbp+16] + add rax, 0x0000000000000000 + mov qword [rbp-89], rax + mov qword [rbp-97], 0 + mov rdx, qword [rbp-89] + mov rax, qword [rbp-97] mov qword [rdx+0], rax - mov rax, qword [rbp-8] - mov qword [rdx+8], rax - mov rax, qword [rbp-24] + mov rax, qword [rbp-41] mov qword [rbp+24], rax leave ret - - -_16: - push rbp - mov rbp, rsp - mov rax, [rbp+16] - add rax, 0x0000000000000008 - mov qword [rbp-17], rax - mov rdx, qword [rbp-17] - mov rax, qword [rdx+0] - mov qword [rbp-9], rax - mov rax, qword [rbp-9] - cmp rax, 0 - jz __36_23 - mov byte [rbp-1], 0 - jmp __36_24 - __36_23: - mov byte [rbp-1], 1 - __36_24: - cmp byte [rbp-1], 0 - jz _16_26 + _13_15: + _13_14: mov rax, [rbp+16] - add rax, 0x0000000000000008 - mov qword [rbp-25], rax - mov rax, qword [rbp+24] + add rax, 0x0000000000000000 mov qword [rbp-41], rax - mov rax, qword [rbp-41] - mov qword [rbp-57], rax - sub rsp, 0x0000000000000039 - call _15 - add rsp, 0x0000000000000039 - mov rax, qword [rbp-49] - mov qword [rbp-33], rax - mov rdx, qword [rbp-25] - mov rax, qword [rbp-33] - mov qword [rdx+0], rax - jmp _16_25 - _16_26: - mov rax, [rbp+16] - add rax, 0x0000000000000008 - mov qword [rbp-25], rax - mov rdx, qword [rbp-25] + mov rdx, qword [rbp-41] mov rax, qword [rdx+0] - mov qword [rbp-33], rax - mov rax, qword [rbp+24] - mov qword [rbp-41], rax - mov rax, qword [rbp-41] + mov qword [rbp-49], rax + mov rax, qword [rbp-49] mov qword [rbp-65], rax - mov rax, qword [rbp-33] - mov qword [rbp-73], rax - sub rsp, 0x0000000000000049 - call _16 - add rsp, 0x0000000000000049 - _16_27: - _16_25: + sub rsp, 0x0000000000000041 + call _18 + add rsp, 0x0000000000000041 + mov rax, qword [rbp-57] + mov qword [rbp+24], rax + leave + ret + + +_10: + push rbp + mov rbp, rsp + mov qword [rbp+16], 0 + leave + ret -leave -ret section .data_readonly __42_fstr db `\n`,0 diff --git a/build/out.o b/build/out.o index 078abaca67c9e928f32a9fa144cfd303f9655cf2..3da623cba3f8140a8b61e9f0297468f90310e336 100644 GIT binary patch literal 4688 zcmbVPZ)lZO7(bg+mn|CfhiQTu^MZ;Z-3uD)me07xfL7D+)I%cKiL#dEWcy@!k|)ID4M=_xzqe z=Q-y+_iUf{;`7y2RVI9@%vw`;3sGa%6;#pJnT2Lv5qf7Tb8#%t?$r)hQd?@MFMUM~ z&R^(xYvUrPYQCP^gP@h0MYH&?&PQ~L_HP8NbCWq3=AX|uV<@5+;dB}Z;&}q2T>jyE zt=Vi*3Dv7<2Cc?XOa5MxiT8*DIaGE2xSzi4r=}W$96ITzCL8>W7x-y!)=vk1Y8=A5 zhdc;=Pq5VSdkXx+;2&gN z;2i{S81k^69@(AC<^26q@4^!NiXQphQBZ<=T|Lx6*g}gGoKNa!zT^yS?xXaktQFU{u6xYX&9R#(9ZMtjLklsYO{=PIxT=VPM+0yf1seK1%7byWeO5_7%+n=|85 zr$?Gy1!qa$!j;@VNgdszrIu>OswXGx&dPZ8*hT2I_q(5oV^l+(EhP6dyJk^eYO3C4 zPfgZiQR!0);xF*QpwAV+SNznhNiI0ZmcLd+cA#@pSjvoPj$WK>8oQGe- z$%!H&g2yo!5LIBLy)gt`AKc?6z8+xKdF2<1i|O&TeMvs+Vt6Nzpfwo8H;0vI1$Y6*#*!7`&Y4Ce3`Uv(seJ3# z!V+#Zt{d}V{SjV6}yAT`(QW7u+>xx9I;CEZ({EnE`pb=%1!=;YR*-xanM;4zeR^A@;{#lqm4+yLoD`1Q@% zuWt?q!JIn?N(v7T0&XIlA8`yuz=?v9_Rb;qvLODC?eemcRaD!K>vKm30psBFyUl}u zY&7PU2LXAvbr6tF^UB^x zd2hP;=Jk*bP-R|Krlo>^rSQiE|3=|Y34Ti9ErOp`xVtA}7V0v$LHHW)5WHIPHwylo z!sCMb3g0I9cM9*VfDZ~jj~BwC=N+q8nHLnkPw@8@o)Uaa;Tgdv6#kyz3vq2Jem)fZ zS%rUG0Y56Zr}&==KB(|71WzjbYr#hqJ|XyD3O`i=|6cGLivN?~OVmF$KMVe_!Y>Q{ zjKZfX;C~AKf#S~y{;k621V66u`TX$kef^;DI>FB?{64|&;sw9xSzG~MD)`-s|ES;_ z6~0{X%?ghReoo=-74Y?f*YQqT^mrCmA1~~i1lJb+8&+TD{JG!aMS(?qtpc8`fSYZ* zdi%Pb-mxp$)VZ_Y^mq0Sn8Bgmf#i0Rh_snRBDONI(uq|N(O9C@3D_cSiAcnWW(XR< zjzPCFVzv);chiuF#hi#jtU!{!z8!Bs6f4Aa?c@I?J z|ETz3{NF0@|5p4kew{e#dfpbCZk%rz|3C%)N759U`P&xu;So8%iLWTaKauZG^FguC Ef6)hbr2qf` literal 4688 zcmbVPO=whC6uuMFG)PM$#Ws}|LP|kwNi&nENfe2NSDv6$7lU!*BbwNxBr%O+(Sj?{h61;-sbm9A`xYuh}xhQ-z=(B^P(wsvwB`F$w8mZWG+gX>t14j73KK@75T5I z!T1Y(VYF(gFcmCU$+p^7_NU6U^h3Jy*B@Id{c@l2C>trB#37vq)`6; zm-Mh|aS}SOsur|TL(ThpT_)Zk4&=~u^T++vEkEs5_{j<7r@VW9Iu0p;IqQ$xh<?!3Zrz=82esZ!xe9A$*1|JB0ZUesUCudcn?5uZJ-6_T2$Pw@EdJSYXkd5>o%BsXW zIT0=+0)!DR0KNcy7TKD@o%8ea$kufJjIJ}|=~>BJ+N%U{#?N?JT~!+PIxoxA^E%T! zGR>>RYm$lc`wN*M%v5#$Oil?o15i0eyRkD^Q>HG61#`saR>vV3P{QuN6?L7 zi`f+$0kTW*avCrTPY6A+y>xp+=n(IhpzlGSL!^eVdQPu+1Hh{Q^IOTDWf2L&NYC6# z#=!)hvXx|yfDQTAR+9Hrtt7E%D_=Bwsdy{zq7(>Ad5A7Ow3}v5@A)|#w>fj%@^+Cu zZd^v3(l~?>aBd+f?=qUdD$M?^o4-nyFF9Qqe*Q>9mEeWo&HAYjn-0pmj$L#01#>*O zR1=_FhaN*HKU|JW5hvGQ19$R7rOh}RW(L*Vs8 z5BsUX18mU1^cNTjN9Z*$NqfDQ_mQD!?MRZ4Q&uwI3fivB=yrja|Sy1N%}yToA%<3TX=Y(G@UbT zQl|zROa(~aSFrbtdU0_3eU zg{UOriY~dc9!8G0z5l_<3xo?)U+KIiH-%eFz)d*?^XkfYvlvk0{2c->=l3v$^O278 zQp07&>vPsmy;ly+W0QX&mIL`;^QJ@Lc?WF#f6QCFpKji96A<&}Je69iHuWUhKWy)7 zs(P!d4Iec%iS`2tRnyj*Xbt+>Tif>bbRASR`#Sa|`Vy_XU>)o>THgEGyIPHp30UMW zPgtqCKVN8gNx?5tem6b&dG@STD`cJQ_$_(y_ocUspY_)!P{MDXt%JSlj! zvouGF;9m*e;_$x_{CfvKD)>zYKQ4Ia;6Dl8?R;dPDuRy+{)5B+RqzWAep>L~9Q?fC zQx1Mf@EZ<(Meya$$NZl~aD6Ld-9L8zahewXw+{Y5@L>mkB=}7SU!vDFqN@0do%1X$ zf-e)i+Tp)0c&CF`3I4T%uM~X9!D|Ko!@<`IUdbPsoM%H3+|#(TN#OT^;O@xF7^}#M zYt2uK;5RfLQLj4dxE%2d#ZkNVcXqYCyLW%0rgdMp3Zjjwx39A&u}1|#-I^fQAi5Dc zRu|OOijI;R)YTakgThF3Ek>hjf;C3rExI;&<6))ft6oCp+?LU9tS;nCH# zcQ;HR)qhh!?*E|7vbM=_%?p2oNu?D YWrEv!Z2UKi@SElQG0tj;?VI)c2XCi@#Q*>R diff --git a/build/out.out b/build/out.out index bc3006ff5cc1a7d2a7672b681f5cd8f135198c35..ce1d80eed4d37d126dd54a0ce68b5e585638ec2a 100755 GIT binary patch delta 1629 zcmZ{kZAep57{|}9H(Rmh-rrJlSxLsqyDgn5ILVjw#U!ybiwoihd!a5rhnEYdz=Q$F~C;<2>j2{h#OmoU?mb^qwXP z-_9&cO?Scjy|22O-;FH1z4+7rqF#UcdhAA4S|>Cb=}p6|HnQYcOm8KGUa|Ux<02im z9u#(obPlo~S=3-F5~sF+T4CEMq*AoSRww3ULH@*6;_gkQ)1lt@GeSsc!cY)|NJx}~ zdY2elY){cYHjmiA+V|K?-07rJJ_#CE&d}oLB)w|)h%F+NkJ*c;iHd$Gedia{L%41(7u2h>nbWT{-1BsG+%CBD_ja6tC? z)ZkTB35_Ihk|bzXf){#N#(ZIl7h07FO%kMjazKfP)f60+lvy#ES(V9NW(6TY6BUQ- UtK-;opDeLX2>#f)%IWR@0o8c%h5!Hn delta 1580 zcmZ|PUr19?7y$6I>o7^vZFm0^lr^GYHgk7#&Jf+G$sz_uMJ4Dh`nM!d4C$ho3Crd_ShZcSt^C!} zuG#6+k>Q2N(2_mV4^@Q&;WpD&BGB(a4 zgG=}EA^kH8AybFG^dHU`F*QoPS(r4{O2@M>Z*uF0a5vZ^H%jSsXqRiH*>&iV-TEl6 z9+h4AA?1*;I>BMB(VxL_uwr#UkJVik#TWdFV{pRakS5mPhDCvHa}^f1N@@<4t>==x z)t_tP*L7IPDp{v7$RD<@ciK}WO9(zeo)kPq{!#ERq5Po zywnubIt$Bpn&T3Dk-S0kc%huJRZ2vKhD;H!qK#h(^&3>bD7c>Lm$y6Lzk(72a!_k6 zEOHUIlD`(}FOmNiyoTIo-Z|fij{8@#fRJ!e!=&JzB3?)SN2m{w*I9OM+)nPa1h@VE z_}LwlI3zSg$-RP~BEKwnR}n8G|70s1i1t5EiKVRso(8WN`KsXkS GlobalDefinitionTable { GlobalDefinitionTable { id_counter: 2, - type_definitions: Default::default(), - impl_definitions: Default::default(), - function_signatures: Default::default(), + type_definitions: new_hashmap(), + impl_definitions: new_hashmap(), + function_signatures: new_hashmap(), inline_functions: Default::default(), name_table: Default::default(), builtin_type_name_table: Default::default(), diff --git a/src/root/shared/common.rs b/src/root/shared/common.rs index caa200c..52822f2 100644 --- a/src/root/shared/common.rs +++ b/src/root/shared/common.rs @@ -1,10 +1,9 @@ use std::fmt::{Display, Formatter}; use derive_getters::{Dissolve, Getters}; -use derive_more::{Add, AddAssign, Display, Sub, SubAssign}; +use derive_more::{Add, AddAssign, Sub, SubAssign}; -#[derive(Debug, PartialEq, Eq, Hash, Display, Copy, Clone)] -#[display(fmt = "TypeID: {}", .0)] +#[derive(Debug, PartialEq, Eq, Hash, Copy, Clone)] /// A unique type ID. Negative is builtin, positive is user-defined pub struct TypeID(pub isize); @@ -26,8 +25,7 @@ impl TypeID { } } -#[derive(Debug, PartialEq, Eq, Hash, Display, Copy, Clone)] -#[display(fmt = "FunctionID: {}", .0)] +#[derive(Debug, PartialEq, Eq, Hash, Copy, Clone)] /// A unique function ID. Negative is builtin, 0 is main, and positive is user-defined pub struct FunctionID(pub isize); @@ -51,8 +49,7 @@ impl FunctionID { } } -#[derive(Debug, PartialEq, Eq, Hash, Display, Copy, Clone, Add, AddAssign, Sub, SubAssign)] -#[display(fmt = "Indirection: {}", .0)] +#[derive(Debug, PartialEq, Eq, Hash, Copy, Clone, Add, AddAssign, Sub, SubAssign)] /// The indirection to an address i.e. how many pointers you have to go through pub struct Indirection(pub usize); @@ -71,11 +68,17 @@ impl Indirection { } #[derive( - Debug, PartialEq, Eq, Hash, Display, Copy, Clone, Default, Add, AddAssign, Sub, SubAssign, + Debug, PartialEq, Eq, Hash, Copy, Clone, Default, Add, AddAssign, Sub, SubAssign, )] /// The size of something, in bytes pub struct ByteSize(pub usize); +impl Display for ByteSize { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.0) + } +} + #[derive(Debug, PartialEq, Eq, Hash, Copy, Clone, Add, AddAssign, Sub, SubAssign)] /// A stack-frame-relative local address. Like in assembly, negative addresses are in the current /// frame whereas positive addresses are in a previous one