eo - we actually steal the 3rd highest bit for classes - fix

we now just lost another bit from generation count. down to 6 in 32bit
and 26 in 64 bit. this sucks but is necessary. now we are using the
bits just below ref and super bits the code was just maskign off the
next bit as a class marker. this was so so so so wrong. it was the ide
table space. we just never used numbers high enough to start using it.
since i added domain there now those bits can be used easily with
thread domain or other domain. argh! existing eo bug found and fixed.
annoying! :) i added another #define there just to be clear we use
that bit for classes.
This commit is contained in:
Carsten Haitzler 2016-09-09 12:50:56 +09:00
parent 54c39aa564
commit ab0cb7a62d
1 changed files with 2 additions and 2 deletions

View File

@ -62,7 +62,7 @@
# define BITS_MID_TABLE_ID 5
# define BITS_TABLE_ID 5
# define BITS_ENTRY_ID 11
# define BITS_GENERATION_COUNTER 7
# define BITS_GENERATION_COUNTER 6
# define BITS_DOMAIN 2
# define REF_TAG_SHIFT 30
# define SUPER_TAG_SHIFT 31
@ -75,7 +75,7 @@ typedef uint16_t Generation_Counter;
# define BITS_MID_TABLE_ID 11
# define BITS_TABLE_ID 11
# define BITS_ENTRY_ID 11
# define BITS_GENERATION_COUNTER 27
# define BITS_GENERATION_COUNTER 26
# define BITS_DOMAIN 2
# define REF_TAG_SHIFT 62
# define SUPER_TAG_SHIFT 63