equal
deleted
inserted
replaced
30 |
30 |
31 #define USED_BIT 1 |
31 #define USED_BIT 1 |
32 #define METHOD_USED_BIT (USED_BIT << 2) |
32 #define METHOD_USED_BIT (USED_BIT << 2) |
33 #define EPOCH_1_SHIFT 0 |
33 #define EPOCH_1_SHIFT 0 |
34 #define EPOCH_2_SHIFT 1 |
34 #define EPOCH_2_SHIFT 1 |
35 #define LEAKP_SHIFT 8 |
|
36 |
|
37 #define USED_EPOCH_1_BIT (USED_BIT << EPOCH_1_SHIFT) |
35 #define USED_EPOCH_1_BIT (USED_BIT << EPOCH_1_SHIFT) |
38 #define USED_EPOCH_2_BIT (USED_BIT << EPOCH_2_SHIFT) |
36 #define USED_EPOCH_2_BIT (USED_BIT << EPOCH_2_SHIFT) |
39 #define LEAKP_USED_EPOCH_1_BIT (USED_EPOCH_1_BIT << LEAKP_SHIFT) |
|
40 #define LEAKP_USED_EPOCH_2_BIT (USED_EPOCH_2_BIT << LEAKP_SHIFT) |
|
41 #define METHOD_USED_EPOCH_1_BIT (METHOD_USED_BIT << EPOCH_1_SHIFT) |
37 #define METHOD_USED_EPOCH_1_BIT (METHOD_USED_BIT << EPOCH_1_SHIFT) |
42 #define METHOD_USED_EPOCH_2_BIT (METHOD_USED_BIT << EPOCH_2_SHIFT) |
38 #define METHOD_USED_EPOCH_2_BIT (METHOD_USED_BIT << EPOCH_2_SHIFT) |
43 #define METHOD_AND_CLASS_IN_USE_BITS (METHOD_USED_BIT | USED_BIT) |
39 #define METHOD_AND_CLASS_IN_USE_BITS (METHOD_USED_BIT | USED_BIT) |
44 #define METHOD_AND_CLASS_IN_USE_EPOCH_1_BITS (METHOD_AND_CLASS_IN_USE_BITS << EPOCH_1_SHIFT) |
40 #define METHOD_AND_CLASS_IN_USE_EPOCH_1_BITS (METHOD_AND_CLASS_IN_USE_BITS << EPOCH_1_SHIFT) |
45 #define METHOD_AND_CLASS_IN_USE_EPOCH_2_BITS (METHOD_AND_CLASS_IN_USE_BITS << EPOCH_2_SHIFT) |
41 #define METHOD_AND_CLASS_IN_USE_EPOCH_2_BITS (METHOD_AND_CLASS_IN_USE_BITS << EPOCH_2_SHIFT) |
73 |
69 |
74 static traceid in_use_prev_epoch_bit() { |
70 static traceid in_use_prev_epoch_bit() { |
75 return _epoch_state ? USED_EPOCH_1_BIT : USED_EPOCH_2_BIT; |
71 return _epoch_state ? USED_EPOCH_1_BIT : USED_EPOCH_2_BIT; |
76 } |
72 } |
77 |
73 |
78 static traceid leakp_in_use_this_epoch_bit() { |
|
79 return _epoch_state ? LEAKP_USED_EPOCH_2_BIT : LEAKP_USED_EPOCH_1_BIT; |
|
80 } |
|
81 |
|
82 static traceid leakp_in_use_prev_epoch_bit() { |
|
83 return _epoch_state ? LEAKP_USED_EPOCH_1_BIT : LEAKP_USED_EPOCH_2_BIT; |
|
84 } |
|
85 |
|
86 static traceid method_in_use_this_epoch_bit() { |
74 static traceid method_in_use_this_epoch_bit() { |
87 return _epoch_state ? METHOD_USED_EPOCH_2_BIT : METHOD_USED_EPOCH_1_BIT; |
75 return _epoch_state ? METHOD_USED_EPOCH_2_BIT : METHOD_USED_EPOCH_1_BIT; |
88 } |
76 } |
89 |
77 |
90 static traceid method_in_use_prev_epoch_bit() { |
78 static traceid method_in_use_prev_epoch_bit() { |