|Title||qs failure on ANSI platform|
|Assigned user||Gareth Rees|
|Description||On branch/2014-03-25/ansi on the "ANSI" platform with PROTECTION_NONE and THREAD_SINGLE. See :|
lii6ll/hot/qs: randomize(): choosing initial state (v3): 556818450.
part int: 0
Also reproducible on xci6ll with that seed and with seed 768680355.
|Analysis||This happens after one collection, and in the debugger we can see that reg points to a forwarding object (tag == QSEvac).|
|Created by||Gareth Rees|
|Created on||2014-04-01 22:14:27|
|Last modified by||Gareth Rees|
|Last modified on||2014-10-20 17:42:16|
|History||2014-04-01 GDR Created.|
|185176||closed||2014-04-02 15:48:57||Gareth Rees||Improve clarity of product configuration so that names more explicitly indicate what they do:
* CONFIG_POLL_NONE (because the user-visible consequence is that polling is no longer supported; was CONFIG_PROTECTION_NONE).
* DISABLE_LOCKS (was THREAD_SINGLE).
* DISABLE_SHIELD (was THREAD_SINGLE && PROTECTION_NONE)
* DISABLE_REMEMBERED_SET (was PROTECTION_NONE)
When the shield is disabled, ArenaLeave asserts that there are no busy traces, and ArenaPoll is a no-op.
By having functions implemented using the corresponding macro, we can avoid duplicated code, and avoid testing DISABLE_SHIELD in global.c.
Remove all remaining references to MPS_PROD_EPCORE.