From 89946609f2de815ea87df3b001fff0caf9efa0d5 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Tue, 9 Nov 2010 14:15:07 -0800 Subject: Support a special const-value refcount, use it for const strings. --- src/rt/rust_internal.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/rt/rust_internal.h') diff --git a/src/rt/rust_internal.h b/src/rt/rust_internal.h index d1eec48b..f008d9f6 100644 --- a/src/rt/rust_internal.h +++ b/src/rt/rust_internal.h @@ -81,6 +81,13 @@ struct frame_glue_fns; static size_t const TIME_SLICE_IN_MS = 10; +// Since every refcounted object is > 4 bytes, any refcount with any of the +// top two bits set is invalid. We reserve a particular bit pattern in this +// set for indicating objects that are "constant" as far as the memory model +// knows. + +static intptr_t const CONST_REFCOUNT = 0x7badface; + // Every reference counted object should derive from this base class. template struct rc_base { -- cgit v1.2.3