From 18847e4e4c796c53613db6c5e683bf203dec2850 Mon Sep 17 00:00:00 2001 From: Gavin Matthews Date: Mon, 24 Nov 1997 14:39:14 +0000 Subject: [PATCH] New unit Found random file and decided to check it in Copied from Perforce Change: 19028 ServerID: perforce.ravenbrook.com --- mps/qa/function/54.c | 130 +++++++++++++++++++++++++++++++++++++++++++ mps/qa/function/55.c | 129 ++++++++++++++++++++++++++++++++++++++++++ mps/qa/function/56.c | 128 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 387 insertions(+) create mode 100644 mps/qa/function/54.c create mode 100644 mps/qa/function/55.c create mode 100644 mps/qa/function/56.c diff --git a/mps/qa/function/54.c b/mps/qa/function/54.c new file mode 100644 index 00000000000..8bd07deb6fe --- /dev/null +++ b/mps/qa/function/54.c @@ -0,0 +1,130 @@ +/* TEST_HEADER + summary = use AMC and AWL without inactive LO pool + language = c + link = testlib.o awlfmt.o +END_HEADER +*/ + +#include "testlib.h" +#include "mpscawl.h" +#include "mpscamc.h" +#include "mpsclo.h" +#include "awlfmt.h" + +void *stackpointer; + +static void test(void) +{ + mps_space_t space; + mps_pool_t poolamc, poolawl; + mps_thr_t thread; + mps_root_t root; + + mps_fmt_t format; + mps_ap_t apamc, apawl; + + mycell *a, *b, *c, *d, *e, *f, *g; + + int i; + int j; + + RC; + + 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(&poolamc, space, mps_class_amc(), format), + "create pool"); + + cdie( + mps_pool_create(&poolawl, space, mps_class_awl(), format), + "create pool"); + + cdie( + mps_ap_create(&apawl, poolawl, MPS_RANK_EXACT), + "create ap"); + + cdie( + mps_ap_create(&apamc, poolamc, MPS_RANK_EXACT), + "create ap"); + + b = allocone(apamc, 1, 1); + + for (j=1; j<100; j++) + { + comment("%i of 100.", j); + UC; + a = allocone(apamc, 5, 1); + b = a; + c = a; + d = a; + e = a; + f = a; + g = a; + + for (i=1; i<5000; i++) + { + UC; + c = allocone(apamc, 20, 1); + d = allocone(apawl, 20, 1); + if (ranint(8) == 0) e = c; + if (ranint(8) == 0) f = c; + if (ranint(8) == 0) g = c; + UC; + setref(b, 0, c); + UC; + setref(c, 1, d); + UC; + setref(c, 2, e); + UC; + setref(c, 3, f); + UC; + setref(c, 4, g); + UC; + b = c; + } + DC; + DMC; + } + + mps_ap_destroy(apawl); + mps_ap_destroy(apamc); + comment("Destroyed aps."); + + mps_pool_destroy(poolamc); + mps_pool_destroy(poolawl); + comment("Destroyed pools."); + + mps_fmt_destroy(format); + comment("Destroyed format."); + + mps_root_destroy(root); + comment("Destroyed root."); + + mps_thread_dereg(thread); + comment("Deregistered thread."); + + mps_space_destroy(space); + comment("Destroyed space."); + +} + +int main(void) +{ + void *m; + stackpointer=&m; /* hack to get stack pointer */ + + easy_tramp(test); + return 0; +} diff --git a/mps/qa/function/55.c b/mps/qa/function/55.c new file mode 100644 index 00000000000..7eba5feb06a --- /dev/null +++ b/mps/qa/function/55.c @@ -0,0 +1,129 @@ +/* TEST_HEADER + summary = use AMC and LO without inactive LO pool + language = c + link = testlib.o awlfmt.o +END_HEADER +*/ + +#include "testlib.h" +#include "mpscamc.h" +#include "mpsclo.h" +#include "awlfmt.h" + +void *stackpointer; + +static void test(void) +{ + mps_space_t space; + mps_pool_t poolamc, poolawl; + mps_thr_t thread; + mps_root_t root; + + mps_fmt_t format; + mps_ap_t apamc, apawl; + + mycell *a, *b, *c, *d, *e, *f, *g; + + int i; + int j; + + RC; + + 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(&poolamc, space, mps_class_amc(), format), + "create pool"); + + cdie( + mps_pool_create(&poolawl, space, mps_class_lo(), format), + "create pool"); + + cdie( + mps_ap_create(&apawl, poolawl, MPS_RANK_EXACT), + "create ap"); + + cdie( + mps_ap_create(&apamc, poolamc, MPS_RANK_EXACT), + "create ap"); + + b = allocone(apamc, 1, 1); + + for (j=1; j<100; j++) + { + comment("%i of 100.", j); + UC; + a = allocone(apamc, 5, 1); + b = a; + c = a; + d = a; + e = a; + f = a; + g = a; + + for (i=1; i<5000; i++) + { + UC; + c = allocone(apamc, 20, 1); + d = allocone(apawl, 20, 1); + if (ranint(8) == 0) e = c; + if (ranint(8) == 0) f = c; + if (ranint(8) == 0) g = c; + UC; + setref(b, 0, c); + UC; + setref(c, 1, d); + UC; + setref(c, 2, e); + UC; + setref(c, 3, f); + UC; + setref(c, 4, g); + UC; + b = c; + } + DC; + DMC; + } + + mps_ap_destroy(apawl); + mps_ap_destroy(apamc); + comment("Destroyed aps."); + + mps_pool_destroy(poolamc); + mps_pool_destroy(poolawl); + comment("Destroyed pools."); + + mps_fmt_destroy(format); + comment("Destroyed format."); + + mps_root_destroy(root); + comment("Destroyed root."); + + mps_thread_dereg(thread); + comment("Deregistered thread."); + + mps_space_destroy(space); + comment("Destroyed space."); + +} + +int main(void) +{ + void *m; + stackpointer=&m; /* hack to get stack pointer */ + + easy_tramp(test); + return 0; +} diff --git a/mps/qa/function/56.c b/mps/qa/function/56.c new file mode 100644 index 00000000000..e3a69f5da1c --- /dev/null +++ b/mps/qa/function/56.c @@ -0,0 +1,128 @@ +/* TEST_HEADER + summary = use AMC and AMC without inactive LO pool + language = c + link = testlib.o awlfmt.o +END_HEADER +*/ + +#include "testlib.h" +#include "mpscamc.h" +#include "awlfmt.h" + +void *stackpointer; + +static void test(void) +{ + mps_space_t space; + mps_pool_t poolamc, poolawl; + mps_thr_t thread; + mps_root_t root; + + mps_fmt_t format; + mps_ap_t apamc, apawl; + + mycell *a, *b, *c, *d, *e, *f, *g; + + int i; + int j; + + RC; + + 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(&poolamc, space, mps_class_amc(), format), + "create pool"); + + cdie( + mps_pool_create(&poolawl, space, mps_class_amc(), format), + "create pool"); + + cdie( + mps_ap_create(&apawl, poolawl, MPS_RANK_EXACT), + "create ap"); + + cdie( + mps_ap_create(&apamc, poolamc, MPS_RANK_EXACT), + "create ap"); + + b = allocone(apamc, 1, 1); + + for (j=1; j<100; j++) + { + comment("%i of 100.", j); + UC; + a = allocone(apamc, 5, 1); + b = a; + c = a; + d = a; + e = a; + f = a; + g = a; + + for (i=1; i<5000; i++) + { + UC; + c = allocone(apamc, 20, 1); + d = allocone(apawl, 20, 1); + if (ranint(8) == 0) e = c; + if (ranint(8) == 0) f = c; + if (ranint(8) == 0) g = c; + UC; + setref(b, 0, c); + UC; + setref(c, 1, d); + UC; + setref(c, 2, e); + UC; + setref(c, 3, f); + UC; + setref(c, 4, g); + UC; + b = c; + } + DC; + DMC; + } + + mps_ap_destroy(apawl); + mps_ap_destroy(apamc); + comment("Destroyed aps."); + + mps_pool_destroy(poolamc); + mps_pool_destroy(poolawl); + comment("Destroyed pools."); + + mps_fmt_destroy(format); + comment("Destroyed format."); + + mps_root_destroy(root); + comment("Destroyed root."); + + mps_thread_dereg(thread); + comment("Deregistered thread."); + + mps_space_destroy(space); + comment("Destroyed space."); + +} + +int main(void) +{ + void *m; + stackpointer=&m; /* hack to get stack pointer */ + + easy_tramp(test); + return 0; +}