1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-16 08:10:43 -08:00
emacs/mps/qa/function/9.c
Richard Tucker cda39d7153 New unit
I said so

Copied from Perforce
 Change: 17340
 ServerID: perforce.ravenbrook.com
1997-03-21 13:00:01 +00:00

65 lines
1.1 KiB
C

/* test (regression test) Allocate a big object (>64M, perhaps up to 1G) in an AMC pool
language c
link testlib.o newfmt.o
*/
#include "testlib.h"
#include "mpscamc.h"
#include "newfmt.h"
void *stackpointer;
static void test(void)
{
mps_space_t space;
mps_pool_t pool;
mps_thr_t thread;
mps_root_t root;
mps_fmt_t format;
mps_ap_t ap;
mycell *a;
cdie(mps_space_create(&space), "create space");
cdie(mps_thread_reg(&thread, space), "register thread");
cdie(
mps_root_create_reg(&root, space, MPS_RANK_AMBIG, 0, thread,
mps_stack_scan_ambig, stackpointer, 0),
"create root");
cdie(
mps_fmt_create_A(&format, space, &fmtA),
"create format");
cdie(
mps_pool_create(&pool, space, mps_class_amc(), format),
"create pool");
cdie(
mps_ap_create(&ap, pool, MPS_RANK_EXACT),
"create ap");
a = allocdumb(ap, 1024*1024*80);
mps_ap_destroy(ap);
mps_pool_destroy(pool);
mps_fmt_destroy(format);
mps_root_destroy(root);
mps_thread_dereg(thread);
mps_space_destroy(space);
}
int main(void)
{
void *m;
stackpointer=&m; /* hack to get stack pointer */
easy_tramp(test);
pass();
return 0;
}