diff options
Diffstat (limited to 'content')
| -rw-r--r-- | content/posts/pointer-tagging/highbits.c | 4 | ||||
| -rw-r--r-- | content/posts/pointer-tagging/index.md | 6 | ||||
| -rw-r--r-- | content/posts/pointer-tagging/lowbits.c | 4 | ||||
| -rw-r--r-- | content/posts/pointer-tagging/test.c | 4 | ||||
| -rw-r--r-- | content/posts/pointer-tagging/union.c | 4 |
5 files changed, 20 insertions, 2 deletions
diff --git a/content/posts/pointer-tagging/highbits.c b/content/posts/pointer-tagging/highbits.c index f88a731..d3c73ae 100644 --- a/content/posts/pointer-tagging/highbits.c +++ b/content/posts/pointer-tagging/highbits.c @@ -1,3 +1,7 @@ +// Copyright (c) 2025 Federico Angelilli +// Licensed under the 3-Clause BSD License +// See fedang.net/posts/pointer-tagging + #include <stdint.h> #include <stdbool.h> #include <string.h> diff --git a/content/posts/pointer-tagging/index.md b/content/posts/pointer-tagging/index.md index 8789eec..afe78dc 100644 --- a/content/posts/pointer-tagging/index.md +++ b/content/posts/pointer-tagging/index.md @@ -1,9 +1,8 @@ +++ title = 'Theory and implementation of tagged pointers' -date = 2025-02-14T13:58:39+01:00 +date = 2025-03-09 categories = [ "langdev", "deep-dive", "low-level" ] tags = [ "low-level", "memory", "optimization", "langdev", "interpreter" ] -draft = true +++ Let's explore **tagged pointers**, a clever optimization @@ -766,6 +765,9 @@ get in touch with me at *{{< email "main@fedang.net" >}}*. - https://simonsafar.com/2020/sbcl - *Representing Type Information in Dinamically Typed Languages* \ https://www.cs.arizona.edu/sites/default/files/TR93-27.pdf +- https://squoze.org +- https://clementbera.wordpress.com/2018/11/09/64-bits-immediate-floats/ + [^taglisp]: https://www.snellman.net/blog/archive/2017-09-04-lisp-numbers [^lispmach]: https://en.wikipedia.org/wiki/Lisp_machine diff --git a/content/posts/pointer-tagging/lowbits.c b/content/posts/pointer-tagging/lowbits.c index 4d129ce..a4d864b 100644 --- a/content/posts/pointer-tagging/lowbits.c +++ b/content/posts/pointer-tagging/lowbits.c @@ -1,3 +1,7 @@ +// Copyright (c) 2025 Federico Angelilli +// Licensed under the 3-Clause BSD License +// See fedang.net/posts/pointer-tagging + #include <stdint.h> #include <stdbool.h> #include <string.h> diff --git a/content/posts/pointer-tagging/test.c b/content/posts/pointer-tagging/test.c index d37c3d3..86e0625 100644 --- a/content/posts/pointer-tagging/test.c +++ b/content/posts/pointer-tagging/test.c @@ -1,3 +1,7 @@ +// Copyright (c) 2025 Federico Angelilli +// Licensed under the 3-Clause BSD License +// See fedang.net/posts/pointer-tagging + #include <stdio.h> #include <stdlib.h> diff --git a/content/posts/pointer-tagging/union.c b/content/posts/pointer-tagging/union.c index 6cba12f..6b7fa45 100644 --- a/content/posts/pointer-tagging/union.c +++ b/content/posts/pointer-tagging/union.c @@ -1,3 +1,7 @@ +// Copyright (c) 2025 Federico Angelilli +// Licensed under the 3-Clause BSD License +// See fedang.net/posts/pointer-tagging + #include <stdint.h> #include <stdbool.h> #include <string.h> |
