mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-25 08:12:11 -07:00
Arguments to the varargs function mps_pool_create must be cast, otherwise the default c promotion rules will result in a constant value lke 64 being protomoted to int (4 bytes) but decoded (wrongly) as size_t (8 bytes).
Copied from Perforce Change: 187943 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
e269e9c283
commit
79f234b217
19 changed files with 65 additions and 57 deletions
|
|
@ -32,7 +32,9 @@ static void fillup(void)
|
|||
mps_addr_t a;
|
||||
char *b;
|
||||
|
||||
mps_pool_create(&poolmv, arena, mps_class_mv(), 64, 64, 64);
|
||||
die(mps_pool_create(&poolmv, arena, mps_class_mv(),
|
||||
(size_t)64, (size_t)64, (size_t)64),
|
||||
"mps_pool_create");
|
||||
size=1024ul*1024ul;
|
||||
while (size) {
|
||||
while (mps_alloc(&a, poolmv, size)==MPS_RES_OK) {
|
||||
|
|
|
|||
|
|
@ -53,10 +53,10 @@ static void test(void) {
|
|||
|
||||
mps_arena_commit_limit_set(arena, COMLIMIT1);
|
||||
|
||||
die(
|
||||
mps_pool_create(&pool, arena, mps_class_mvff(),
|
||||
EXTENDBY, 8, 8, 0, 0, 1),
|
||||
"create MVFF pool");
|
||||
die(mps_pool_create(&pool, arena, mps_class_mvff(),
|
||||
(size_t)EXTENDBY, (size_t)8, (mps_align_t)8,
|
||||
(mps_bool_t)0, (mps_bool_t)0, (mps_bool_t)1),
|
||||
"create MVFF pool");
|
||||
|
||||
for (i = 0; i < NSMALL; i++) {
|
||||
die(mps_alloc(&smallObjects[i], pool, SMALLSIZE), "small alloc failed");
|
||||
|
|
|
|||
|
|
@ -43,10 +43,10 @@ static void test(void) {
|
|||
|
||||
mps_arena_commit_limit_set(arena, COMLIMIT1);
|
||||
|
||||
die(
|
||||
mps_pool_create(&pool, arena, mps_class_mvff(),
|
||||
EXTENDBY, 8, 8, 0, 0, 1),
|
||||
"create MVFF pool");
|
||||
die(mps_pool_create(&pool, arena, mps_class_mvff(),
|
||||
(size_t)EXTENDBY, (size_t)8, (mps_align_t)8,
|
||||
(mps_bool_t)0, (mps_bool_t)0, (mps_bool_t)1),
|
||||
"create MVFF pool");
|
||||
|
||||
for (i = 0; i < NSMALL; i++) {
|
||||
die(mps_alloc(&smallObjects[i], pool, SMALLSIZE), "small alloc failed");
|
||||
|
|
|
|||
|
|
@ -29,10 +29,10 @@ static void test(void) {
|
|||
(size_t) (1024*1024*50)), "create arena");
|
||||
cdie(mps_thread_reg(&thread, arena), "register thread");
|
||||
|
||||
die(
|
||||
mps_pool_create(&pool, arena, mps_class_mvff_debug(), &debugOpts,
|
||||
8192, 8, 8, 0, 0, 1),
|
||||
"create MVFF pool");
|
||||
die(mps_pool_create(&pool, arena, mps_class_mvff_debug(), &debugOpts,
|
||||
(size_t)8192, (size_t)8, (mps_align_t)8,
|
||||
(mps_bool_t)0, (mps_bool_t)0, (mps_bool_t)1),
|
||||
"create MVFF pool");
|
||||
|
||||
die(mps_alloc(&a, pool, 64), "alloc a");
|
||||
die(mps_alloc(&b, pool, 64), "alloc b");
|
||||
|
|
|
|||
|
|
@ -29,10 +29,10 @@ static void test(void) {
|
|||
(size_t) (1024*1024*50)), "create arena");
|
||||
cdie(mps_thread_reg(&thread, arena), "register thread");
|
||||
|
||||
die(
|
||||
mps_pool_create(&pool, arena, mps_class_mvff_debug(), &debugOpts,
|
||||
8192, 8, 8, 1, 0, 0),
|
||||
"create MVFF pool");
|
||||
die(mps_pool_create(&pool, arena, mps_class_mvff_debug(), &debugOpts,
|
||||
(size_t)8192, (size_t)8, (mps_align_t)8,
|
||||
(mps_bool_t)1, (mps_bool_t)0, (mps_bool_t)0),
|
||||
"create MVFF pool");
|
||||
|
||||
die(mps_alloc(&a, pool, 64), "alloc a");
|
||||
|
||||
|
|
|
|||
|
|
@ -29,10 +29,10 @@ static void test(void) {
|
|||
(size_t) (1024*1024*50)), "create arena");
|
||||
cdie(mps_thread_reg(&thread, arena), "register thread");
|
||||
|
||||
die(
|
||||
mps_pool_create(&pool, arena, mps_class_mvff_debug(), &debugOpts,
|
||||
8192, 8, 8, 0, 1, 0),
|
||||
"create MVFF pool");
|
||||
die(mps_pool_create(&pool, arena, mps_class_mvff_debug(), &debugOpts,
|
||||
(size_t)8192, (size_t)8, (mps_align_t)8,
|
||||
(mps_bool_t)0, (mps_bool_t)1, (mps_bool_t)0),
|
||||
"create MVFF pool");
|
||||
|
||||
die(mps_alloc(&a, pool, 63), "alloc a");
|
||||
|
||||
|
|
|
|||
|
|
@ -29,10 +29,9 @@ static void test(void) {
|
|||
(size_t) (1024*1024*50)), "create arena");
|
||||
cdie(mps_thread_reg(&thread, arena), "register thread");
|
||||
|
||||
die(
|
||||
mps_pool_create(&pool, arena, mps_class_mv_debug(), &debugOpts,
|
||||
8192, 8, 65536),
|
||||
"create MVFF pool");
|
||||
die(mps_pool_create(&pool, arena, mps_class_mv_debug(), &debugOpts,
|
||||
(size_t)8192, (size_t)8, (size_t)65536),
|
||||
"create MV pool");
|
||||
|
||||
die(mps_alloc(&a, pool, 64), "alloc a");
|
||||
|
||||
|
|
|
|||
|
|
@ -32,10 +32,9 @@ static void test(void)
|
|||
(size_t) (1024*1024*50)), "create arena");
|
||||
cdie(mps_thread_reg(&thread, arena), "register thread");
|
||||
|
||||
die(
|
||||
mps_pool_create(&pool, arena, mps_class_mv_debug(), &debugOpts,
|
||||
8192, 8, 65536),
|
||||
"create MVFF pool");
|
||||
die(mps_pool_create(&pool, arena, mps_class_mv_debug(), &debugOpts,
|
||||
(size_t)8192, (size_t)8, (size_t)65536),
|
||||
"create MVFF pool");
|
||||
|
||||
die(mps_alloc(&a, pool, 64), "alloc a");
|
||||
|
||||
|
|
|
|||
|
|
@ -29,10 +29,9 @@ static void test(void) {
|
|||
(size_t) (1024*1024*50)), "create arena");
|
||||
cdie(mps_thread_reg(&thread, arena), "register thread");
|
||||
|
||||
die(
|
||||
mps_pool_create(&pool, arena, mps_class_mv_debug(), &debugOpts,
|
||||
8192, 8, 65536),
|
||||
"create MVFF pool");
|
||||
die(mps_pool_create(&pool, arena, mps_class_mv_debug(), &debugOpts,
|
||||
(size_t)8192, (size_t)8, (size_t)65536),
|
||||
"create MVFF pool");
|
||||
|
||||
die(mps_alloc(&a, pool, 63), "alloc a");
|
||||
|
||||
|
|
|
|||
|
|
@ -53,10 +53,10 @@ static void test(void) {
|
|||
|
||||
mps_arena_commit_limit_set(arena, COMLIMIT1);
|
||||
|
||||
die(
|
||||
mps_pool_create(&pool, arena, mps_class_mvff(),
|
||||
EXTENDBY, 8, MPS_PF_ALIGN, 0, 0, 1),
|
||||
"create MVFF pool");
|
||||
die(mps_pool_create(&pool, arena, mps_class_mvff(),
|
||||
(size_t)EXTENDBY, (size_t)8, (mps_align_t)MPS_PF_ALIGN,
|
||||
(mps_bool_t)0, (mps_bool_t)0, (mps_bool_t)1),
|
||||
"create MVFF pool");
|
||||
|
||||
for (i = 0; i < NSMALL; i++) {
|
||||
die(mps_alloc(&smallObjects[i], pool, SMALLSIZE), "small alloc failed");
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ TEST_HEADER
|
|||
language = c
|
||||
link = testlib.o newfmt.o
|
||||
OUTPUT_SPEC
|
||||
errtext = create pool: COMMIT_LIMIT
|
||||
errtext = create AMC pool: COMMIT_LIMIT
|
||||
END_HEADER
|
||||
*/
|
||||
|
||||
|
|
@ -48,8 +48,8 @@ static void test(void)
|
|||
die(mps_chain_create(&chain, arena, genCOUNT, testChain), "chain_create");
|
||||
|
||||
die(mps_pool_create(&pool, arena, mps_class_mv(),
|
||||
1024*32, 1024*16, 1024*256),
|
||||
"pool");
|
||||
(size_t)(1024*32), (size_t)(1024*16), (size_t)(1024*256)),
|
||||
"create MV pool");
|
||||
|
||||
do {
|
||||
res = mps_alloc(&q, pool, 64*1024);
|
||||
|
|
@ -60,7 +60,7 @@ static void test(void)
|
|||
while (1) {
|
||||
p++;
|
||||
die(mmqa_pool_create_chain(&pool, arena, mps_class_amc(), format, chain),
|
||||
"create pool");
|
||||
"create AMC pool");
|
||||
report("pool", "%i", p);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,14 +49,14 @@ static void test(void)
|
|||
die(mps_chain_create(&chain, arena, genCOUNT, testChain), "chain_create");
|
||||
|
||||
die(mps_pool_create(&pool, arena, mps_class_mv(),
|
||||
1024*32, 1024*16, 1024*256),
|
||||
"pool");
|
||||
(size_t)(1024*32), (size_t)(1024*16), (size_t)(1024*256)),
|
||||
"create MV pool");
|
||||
|
||||
while (mps_alloc(&q, pool, 64*1024)==MPS_RES_OK);
|
||||
p = 0;
|
||||
|
||||
cdie(mmqa_pool_create_chain(&pool, arena, mps_class_amc(), format, chain),
|
||||
"create pool");
|
||||
"create AMC pool");
|
||||
|
||||
while (1) {
|
||||
p++;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,8 @@ static void test(void) {
|
|||
mps_stack_scan_ambig, stackpointer, 0), "create root");
|
||||
|
||||
die(mps_pool_create(&pool, arena, mps_class_mv(),
|
||||
1024*32, 1024*16, 1024*256), "pool");
|
||||
(size_t)(1024*32), (size_t)(1024*16), (size_t)(1024*256)),
|
||||
"create MV pool");
|
||||
|
||||
while (mps_alloc(&q, pool, 64*1024)==MPS_RES_OK);
|
||||
p=0;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,8 @@ static void test(void) {
|
|||
die(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create");
|
||||
|
||||
die(mps_pool_create(&pool, arena, mps_class_mv(),
|
||||
1024*32, 1024*16, 1024*256), "pool");
|
||||
(size_t)(1024*32), (size_t)(1024*16), (size_t)(1024*256)),
|
||||
"create MV pool");
|
||||
|
||||
for (p=0; p<2000; p++) {
|
||||
die(mps_alloc(&q, pool, 1024*1024), "alloc");
|
||||
|
|
|
|||
|
|
@ -19,7 +19,8 @@ static void test(void) {
|
|||
die(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create");
|
||||
|
||||
die(mps_pool_create(&pool, arena, mps_class_mv(),
|
||||
1024*32, 1024*16, 1024*256), "pool");
|
||||
(size_t)(1024*32), (size_t)(1024*16), (size_t)(1024*256)),
|
||||
"create MV pool");
|
||||
|
||||
die(mps_alloc(&q, pool, 1024*1024), "alloc");
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ static void test(void)
|
|||
die(mps_arena_commit_limit_set(arena, VMSIZE), "commit limit");
|
||||
|
||||
die(mps_pool_create(&pool, arena, mps_class_mv(),
|
||||
EXTENDBY, AVGSIZE, EXTENDBY),
|
||||
(size_t)EXTENDBY, (size_t)AVGSIZE, (size_t)EXTENDBY),
|
||||
"pool create");
|
||||
|
||||
for (p=0; p<ITERATE; p++) {
|
||||
|
|
|
|||
|
|
@ -100,9 +100,9 @@ static void test(void) {
|
|||
mps_pool_create(&poolawl, arena, mps_class_awl(), format, getassociated),
|
||||
"create awl pool");
|
||||
|
||||
cdie(
|
||||
mps_pool_create(&poolmv, arena, mps_class_mv(), 0x4000, 128, 0x4000),
|
||||
"create mv pool");
|
||||
cdie(mps_pool_create(&poolmv, arena, mps_class_mv(),
|
||||
(size_t)0x4000, (size_t)128, (size_t)0x4000),
|
||||
"create mv pool");
|
||||
|
||||
cdie(
|
||||
mps_ap_create(&apawl, poolawl, mps_rank_exact()),
|
||||
|
|
|
|||
|
|
@ -19,7 +19,9 @@ END_HEADER
|
|||
#include "mpsavm.h"
|
||||
#include "newfmt.h"
|
||||
|
||||
|
||||
#define EXTEND_BY ((size_t)(1024*128))
|
||||
#define MEAN_SIZE ((size_t)(1024*64))
|
||||
#define MAX_SIZE ((size_t)(1024*1024))
|
||||
#define genCOUNT (3)
|
||||
|
||||
static mps_gen_param_s testChain[genCOUNT] = {
|
||||
|
|
@ -66,7 +68,7 @@ static void test(void)
|
|||
comment("Sizes in megabytes:");
|
||||
|
||||
die(mps_pool_create(&poolMV, arena, mps_class_mv(),
|
||||
1024*128, 1024*64, 1024*1024),
|
||||
EXTEND_BY, MEAN_SIZE, MAX_SIZE),
|
||||
"create MV pool");
|
||||
i = 0;
|
||||
while ((r=mps_alloc(&p, poolMV, 1024*1024)) == 0) i++;
|
||||
|
|
@ -76,7 +78,7 @@ static void test(void)
|
|||
mps_pool_destroy(poolMV);
|
||||
|
||||
die(mps_pool_create(&poolMV, arena, mps_class_mv(),
|
||||
1024*128, 1024*64, 1024*1024),
|
||||
EXTEND_BY, MEAN_SIZE, MAX_SIZE),
|
||||
"create MV pool");
|
||||
i = 0;
|
||||
while ((r=mps_alloc(&p, poolMV, 1024*1024)) == 0) i++;
|
||||
|
|
@ -88,7 +90,7 @@ static void test(void)
|
|||
a = allocdumb(ap, 1024*1024*30); /* allocate 30 M object */
|
||||
|
||||
die(mps_pool_create(&poolMV, arena, mps_class_mv(),
|
||||
1024*128, 1024*64, 1024*1024),
|
||||
EXTEND_BY, MEAN_SIZE, MAX_SIZE),
|
||||
"create MV pool");
|
||||
i=0;
|
||||
while ((r=mps_alloc(&p, poolMV, 1024*1024)) == 0) i++;
|
||||
|
|
|
|||
|
|
@ -32,7 +32,9 @@ static void fillup(void)
|
|||
mps_addr_t a;
|
||||
char *b;
|
||||
|
||||
mps_pool_create(&poolmv, arena, mps_class_mv(), 64, 64, 64);
|
||||
die(mps_pool_create(&poolmv, arena, mps_class_mv(),
|
||||
(size_t)64, (size_t)64, (size_t)64),
|
||||
"create MV pool");
|
||||
size=1024ul*1024ul;
|
||||
while (size) {
|
||||
while (mps_alloc(&a, poolmv, size)==MPS_RES_OK) {
|
||||
|
|
@ -116,7 +118,9 @@ static void test(void)
|
|||
for (j=0; j<1000*1024; j++) {
|
||||
res=allocrdumb(&a, ap, 1024, mps_rank_exact());
|
||||
if (res == MPS_RES_OK) {
|
||||
comment("%i ok", j);
|
||||
if (j % 100000 == 0) {
|
||||
comment("%i ok", j);
|
||||
}
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue