raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ab0cb7a62dcc0f701fd960aa34547f770ac9f93d

commit ab0cb7a62dcc0f701fd960aa34547f770ac9f93d
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Fri Sep 9 12:50:56 2016 +0900

    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.
---
 src/lib/eo/eo_ptr_indirection.x | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/eo/eo_ptr_indirection.x b/src/lib/eo/eo_ptr_indirection.x
index 21b88ac..04ddb7c 100644
--- a/src/lib/eo/eo_ptr_indirection.x
+++ b/src/lib/eo/eo_ptr_indirection.x
@@ -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

-- 


Reply via email to