test/gc: empty.
* src/test/gc.c (test_empty): New function.
This commit is contained in:
parent
4bcfc155c1
commit
ea6fa6fdee
|
@ -22,25 +22,54 @@
|
||||||
#include "mes/mes.h"
|
#include "mes/mes.h"
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#if POINTER_CELLS
|
||||||
|
#define M2_CELL_SIZE 1
|
||||||
|
// CONSTANT M2_CELL_SIZE 12
|
||||||
|
#else
|
||||||
|
#define M2_CELL_SIZE 1
|
||||||
|
// CONSTANT M2_CELL_SIZE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
int g_debug;
|
int g_debug;
|
||||||
|
|
||||||
|
void
|
||||||
|
test_empty ()
|
||||||
|
{
|
||||||
|
g_free = g_symbol_max;
|
||||||
|
|
||||||
|
SCM v = cell_arena;
|
||||||
|
LENGTH (v) = gc_free () - 1;
|
||||||
|
eputs ("arena["); eputs (ntoab (g_cells, 16, 0)); eputs ("]: "); write_ (v); eputs ("\n");
|
||||||
|
gc_stats_ ("0");
|
||||||
|
gc_ ();
|
||||||
|
v = cell_arena;
|
||||||
|
eputs ("arena["); eputs (ntoab (g_cells, 16, 0)); eputs ("]: "); write_ (v); eputs ("\n");
|
||||||
|
gc_stats_ ("1");
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char **argv, char **envp)
|
main (int argc, char **argv, char **envp)
|
||||||
{
|
{
|
||||||
char *p;
|
setenv ("MES_ARENA", "100", 1);
|
||||||
if (p = getenv ("MES_DEBUG"))
|
setenv ("MES_MAX_ARENA", "100", 1);
|
||||||
g_debug = atoi (p);
|
|
||||||
gc_init ();
|
gc_init ();
|
||||||
|
#if POINTER_CELLS
|
||||||
|
cell_zero = g_cells;
|
||||||
|
#else
|
||||||
|
cell_zero = 0;
|
||||||
|
#endif
|
||||||
|
cell_nil = cell_zero + M2_CELL_SIZE;
|
||||||
|
cell_f = cell_nil + M2_CELL_SIZE;
|
||||||
|
g_symbols = cell_zero;
|
||||||
|
g_symbol_max = cell_zero + (9 * M2_CELL_SIZE);
|
||||||
|
g_ports = cell_zero;
|
||||||
|
g_macros = cell_zero;
|
||||||
|
g_stack = STACK_SIZE;
|
||||||
|
M0 = cell_zero;
|
||||||
|
|
||||||
SCM v = -1;
|
test_empty ();
|
||||||
LENGTH (v) = 10;
|
|
||||||
eputs ("arena: "); write_ (v); eputs ("\n");
|
|
||||||
gc_stats_ ("0");
|
|
||||||
gc_ ();
|
|
||||||
v = -1;
|
|
||||||
eputs ("arena: "); write_ (v); eputs ("\n");
|
|
||||||
gc_stats_ ("1");
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue