diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2015-06-30 08:10:15 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2015-06-30 08:10:15 (GMT) |
commit | 68de044c4e43f457cf298983fc8dc0936aed9923 (patch) | |
tree | e963a357aeb17226cede5a09a53f75b86b353eab /generic/tcl.h | |
parent | cdbe969ea378527a9002c3a5ab21465c7a79fc4b (diff) | |
download | tcl-68de044c4e43f457cf298983fc8dc0936aed9923.zip tcl-68de044c4e43f457cf298983fc8dc0936aed9923.tar.gz tcl-68de044c4e43f457cf298983fc8dc0936aed9923.tar.bz2 |
Use twoPtrValue in stead of ptrAndLongRep for implementation of some internal Obj types. On most platforms this doesn't make a difference,
as (void *) and (long) generially have the same size. The only exception where it makes a difference is win64, as we can now store 64 bits in this field in stead of only 32 bits, exactly what the processor is optimized for.
Diffstat (limited to 'generic/tcl.h')
-rw-r--r-- | generic/tcl.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/generic/tcl.h b/generic/tcl.h index 93aba96..f0d7c9a 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -818,16 +818,16 @@ typedef struct Tcl_Obj { double doubleValue; /* - a double-precision floating value. */ void *otherValuePtr; /* - another, type-specific value. */ Tcl_WideInt wideValue; /* - a long long value. */ - struct { /* - internal rep as two pointers. */ + struct { /* - internal rep as two pointers. + * the main use of which is a bignum's + * tightly packed fields, where the alloc, + * used and signum flags are packed into + * ptr2 with everything else hung off ptr1. */ void *ptr1; void *ptr2; } twoPtrValue; struct { /* - internal rep as a pointer and a long, - * the main use of which is a bignum's - * tightly packed fields, where the alloc, - * used and signum flags are packed into a - * single word with everything else hung - * off the pointer. */ + not used internally any more. */ void *ptr; unsigned long value; } ptrAndLongRep; |