From ee9b2de72e8075cfe64419d854a318d647d35037 Mon Sep 17 00:00:00 2001 From: Marco Giordano Date: Sat, 6 Jun 2020 12:33:19 +0100 Subject: [PATCH 1/2] addition of Rust disassembling post --- content/posts/newsletter-010/index.md | 16 ++++++++++++++++ content/posts/newsletter-010/rust_asm.png | Bin 0 -> 29145 bytes 2 files changed, 16 insertions(+) create mode 100644 content/posts/newsletter-010/rust_asm.png diff --git a/content/posts/newsletter-010/index.md b/content/posts/newsletter-010/index.md index fa08b5192..037e97c2c 100644 --- a/content/posts/newsletter-010/index.md +++ b/content/posts/newsletter-010/index.md @@ -347,6 +347,22 @@ presentation material is available [online][wasm_it]. [Azriel]: https://github.com/azriel91/ [WASM]: https://webassembly.org/ +### Disassembling Rust: Part 1 + +![Rust Disassembly: Part 1](rust_asm.png) + +Rust comes with many new constructs and features not commonly found in other +languages. Programmers coming from different backgrounds, notably C++ and +game-dev might wonder how such a construct translate to machine code. + +In the first [part][rust_asm] in a series, [Marco Giordano (@MGDev91)][@MGDev91] +investigates some common Rust construct to see what instructions they translate to, +highlighting a few interesting findings in how Rust guarantees safety and ensures speed. + +[rust_asm]: https://giordi91.github.io/post/disassemlbyrust1/ +[@MGDev91]: https://twitter.com/MGDev91 + + ## Library & Tooling Updates ### NodeFX diff --git a/content/posts/newsletter-010/rust_asm.png b/content/posts/newsletter-010/rust_asm.png new file mode 100644 index 0000000000000000000000000000000000000000..769e8157a95fb4c6fd56ab27e188bf79c9f2f708 GIT binary patch literal 29145 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 Date: Sat, 6 Jun 2020 14:56:25 +0300 Subject: [PATCH 2/2] Newsletter 10: Disasm: Small fmt tweaks --- content/posts/newsletter-010/index.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/posts/newsletter-010/index.md b/content/posts/newsletter-010/index.md index 037e97c2c..454acec76 100644 --- a/content/posts/newsletter-010/index.md +++ b/content/posts/newsletter-010/index.md @@ -347,21 +347,21 @@ presentation material is available [online][wasm_it]. [Azriel]: https://github.com/azriel91/ [WASM]: https://webassembly.org/ -### Disassembling Rust: Part 1 +### [Disassembling Rust: Part 1][rust_asm] ![Rust Disassembly: Part 1](rust_asm.png) Rust comes with many new constructs and features not commonly found in other -languages. Programmers coming from different backgrounds, notably C++ and +languages. Programmers coming from different backgrounds, notably C++ and game-dev might wonder how such a construct translate to machine code. -In the first [part][rust_asm] in a series, [Marco Giordano (@MGDev91)][@MGDev91] -investigates some common Rust construct to see what instructions they translate to, -highlighting a few interesting findings in how Rust guarantees safety and ensures speed. - -[rust_asm]: https://giordi91.github.io/post/disassemlbyrust1/ -[@MGDev91]: https://twitter.com/MGDev91 +In the first [part][rust_asm] in a series, [Marco Giordano (@MGDev91)][@MGDev91] +investigates some common Rust construct to see what instructions they translate to, +highlighting a few interesting findings in how Rust guarantees safety +and ensures speed. +[rust_asm]: https://giordi91.github.io/post/disassemlbyrust1 +[@MGDev91]: https://twitter.com/MGDev91 ## Library & Tooling Updates