diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2020-08-07 14:45:20 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2020-08-07 14:45:20 -0300 |
| commit | f13dc59416afa8fc93bb3d784d1a73e49e1b5b09 (patch) | |
| tree | 4719b653c8cbb3e0651e97ebb7acb96ac3a7a13d /lgc.h | |
| parent | 7c3cb71fa48fbe84d9d9c664eb646446fb80898b (diff) | |
| download | lua-f13dc59416afa8fc93bb3d784d1a73e49e1b5b09.tar.gz lua-f13dc59416afa8fc93bb3d784d1a73e49e1b5b09.tar.bz2 lua-f13dc59416afa8fc93bb3d784d1a73e49e1b5b09.zip | |
Better tests for gray lists
Test uses an extra bit in 'marked' to mark all elements in gray lists
and then check against elements colored gray.
Diffstat (limited to 'lgc.h')
| -rw-r--r-- | lgc.h | 5 |
1 files changed, 4 insertions, 1 deletions
| @@ -69,13 +69,16 @@ | |||
| 69 | 69 | ||
| 70 | /* | 70 | /* |
| 71 | ** Layout for bit use in 'marked' field. First three bits are | 71 | ** Layout for bit use in 'marked' field. First three bits are |
| 72 | ** used for object "age" in generational mode. | 72 | ** used for object "age" in generational mode. Last bit is used |
| 73 | ** by tests. | ||
| 73 | */ | 74 | */ |
| 74 | #define WHITE0BIT 3 /* object is white (type 0) */ | 75 | #define WHITE0BIT 3 /* object is white (type 0) */ |
| 75 | #define WHITE1BIT 4 /* object is white (type 1) */ | 76 | #define WHITE1BIT 4 /* object is white (type 1) */ |
| 76 | #define BLACKBIT 5 /* object is black */ | 77 | #define BLACKBIT 5 /* object is black */ |
| 77 | #define FINALIZEDBIT 6 /* object has been marked for finalization */ | 78 | #define FINALIZEDBIT 6 /* object has been marked for finalization */ |
| 78 | 79 | ||
| 80 | #define TESTBIT 7 | ||
| 81 | |||
| 79 | 82 | ||
| 80 | 83 | ||
| 81 | #define WHITEBITS bit2mask(WHITE0BIT, WHITE1BIT) | 84 | #define WHITEBITS bit2mask(WHITE0BIT, WHITE1BIT) |
