Explore >> Select a destination


You are here

www.ralfj.de
| | coredumped.dev
5.6 parsecs away

Travel
| | In this post, we are going to take a deep dive into pointer tagging, where metadata is encoded into a word-sized pointer. Doing so allows us to keep a compact representation that can be passed around in machine registers. This is very common in implementing dynamic programming languages, but can really be used anywhere that additional runtime information is needed about a pointer. We will look at a handful of different ways these pointers can be encoded and see how the compiler can optimize them for diff...
| | blog.sigplan.org
5.4 parsecs away

Travel
| | "Undefined Behavior" often has a bad reputation. But what, really, is Undefined Behavior, and is it actually that bad? In this blog post, I will look at this topic from a PL perspective...
| | tmandry.gitlab.io
4.6 parsecs away

Travel
| | In Part 1, we covered how async fns in Rust are compiled to state machines. We saw that the internal compiler implementation uses generators and the yield statement to facilitate this transformation. We also saw that the optimal way to lay out one of these state machines in memory is using an enum-like representation, similar to the following: enum SumGenerator{Unresumed{xs: Vec},Suspend0{xs: Vec,iter0: Iter<'self,i32>,sum: i32 },Suspend1{xs: Vec,iter1: Iter<'self,i32>,sum: i32 },Returned}Each variable s...
| | blog.timac.org
24.9 parsecs away

Travel
| Using AddressSanitizer with Xcode 4.6.1