|
You are here |
www.npopov.com | ||
| | | | |
v8.dev
|
|
| | | | | V8 reduced its heap size up to 43%! Learn how in "Pointer Compression in V8"! | |
| | | | |
coredumped.dev
|
|
| | | | | 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... | |
| | | | |
www.snellman.net
|
|
| | | | | A look at the way the representation of numbers evolved in first few years of Lisp across different implementations (LISP I, LISP 1.5, Basic PDP-1 LISP, M-460 LISP, PDP-6 LISP, BBN LISP). Start with the worst number representation this side of church numerals, end with something surprisingly modern. | |
| | | | |
patshaughnessy.net
|
|
| | | [AI summary] The article discusses the process of learning to read x86 assembly language, focusing on how it can be a useful skill for understanding low-level operations of microprocessors. It outlines the challenges of reading assembly, especially in debugging scenarios, and provides an example of translating Ruby code into x86 assembly using Crystal. The article also explains the syntax and structure of x86 assembly, including register usage, instruction suffixes, and the differences between AT&T and Intel syntax. It highlights the complexity of x86 assembly due to its historical evolution and the need for understanding register sizes and operand notation. | ||