mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-10 21:50:37 -08:00
mps br/vmem: simple-chunk-return:
zcoll.c: How to get rid of all the objects, so full collect really collects all automatic objects: - Rootdrop() helps, but we can still retain a 1.2MB object; - stackwipe() does not help much -- these unwanted ambig refs are being left on the stack by MPS code that runs between mps_arena_collect and the flip! - therefore StackScan(0/1) to destroy stack+reg root before full collect: it's the only way to be sure. Reproducibility: - give Make() a random? switch, acted on by df() = diversity function, to allow bypass of rnd(); - ZRndStateSet, to set the seed for rnd() Output: - print_M: switchable Mebibytes or Megabytes (more useful, to be honest); - get(): don't report message times, it messes up diffs. testlib.c/h: Reproducibility: - fix rnd_state so a rnd_state getter is possible; - testlib.h += rnd_state_t, rnd_state(), rnd_state_set(), rnd_state_set_v2() trace.c: traceFindGrey diag: no newline please Copied from Perforce Change: 170093 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
968eafea90
commit
1ff022cae1
4 changed files with 255 additions and 47 deletions
|
|
@ -138,10 +138,14 @@ extern void verror(const char *format, va_list args);
|
|||
|
||||
/* rnd -- random number generator
|
||||
*
|
||||
* rnd() generates a sequence of integers in the range [1, 2^31-1].
|
||||
* rnd() generates a sequence of integers in the range [1, 2^31-2].
|
||||
*/
|
||||
|
||||
extern unsigned long rnd(void);
|
||||
typedef unsigned long rnd_state_t;
|
||||
extern rnd_state_t rnd_state(void);
|
||||
extern void rnd_state_set(rnd_state_t state_v3);
|
||||
extern void rnd_state_set_v2(rnd_state_t seed0_v2); /* legacy */
|
||||
|
||||
|
||||
/* rnd_verify() -- checks behaviour of rnd() */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue