summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkira TAGOH <akira@tagoh.org>2006-11-12 17:22:56 +0000
committerAkira TAGOH <akira@tagoh.org>2006-11-12 17:22:56 +0000
commitc167021975803379e5612d9cd47f943dd7fc3e4b (patch)
treeb2776568e4dbe65ed4dd3fd78b2d1719d57e9f86
parentd7fb234f7ce7aefe480b31617e3ad5ff387c7268 (diff)
* hieroglyph/vm.c (hg_vm_get_save_level): just ask HgMemPool instead of
managing snapshot in VM. * hieroglyph/hgmem.c (hg_mem_pool_get_n_snapshots): new function. (hg_mem_pool_get_snapshot): new function. (hg_mem_pool_clear_snapshot): new function. (hg_mem_pool_add_root_node): renamed. (hg_mem_pool_remove_root_node): likewise. (hg_mem_pool_add_pool_reference): likewise. (hg_mem_pool_remove_pool_reference): likewise.
-rw-r--r--ChangeLog11
-rw-r--r--hieroglyph/hgallocator-bfit.c2
-rw-r--r--hieroglyph/hgarray.c4
-rw-r--r--hieroglyph/hgdict.c4
-rw-r--r--hieroglyph/hgfile.c6
-rw-r--r--hieroglyph/hglog.c2
-rw-r--r--hieroglyph/hgmem.c59
-rw-r--r--hieroglyph/hgmem.h12
-rw-r--r--hieroglyph/hgvaluenode.c2
-rw-r--r--hieroglyph/version.h.in2
-rw-r--r--hieroglyph/vm.c95
-rw-r--r--plugins/debug/debug-main.c4
-rw-r--r--plugins/libedit/libedit-main.c4
-rw-r--r--plugins/test/test-main.c4
14 files changed, 124 insertions, 87 deletions
diff --git a/ChangeLog b/ChangeLog
index f9a4f3a..bfca83c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
2006-11-13 Akira TAGOH <at@gclab.org>
+ * hieroglyph/vm.c (hg_vm_get_save_level): just ask HgMemPool instead of
+ managing snapshot in VM.
+
+ * hieroglyph/hgmem.c (hg_mem_pool_get_n_snapshots): new function.
+ (hg_mem_pool_get_snapshot): new function.
+ (hg_mem_pool_clear_snapshot): new function.
+ (hg_mem_pool_add_root_node): renamed.
+ (hg_mem_pool_remove_root_node): likewise.
+ (hg_mem_pool_add_pool_reference): likewise.
+ (hg_mem_pool_remove_pool_reference): likewise.
+
* hieroglyph/ilist.c (_hg_list_iter_delete_link): fix a memory leak.
* hieroglyph/scanner.c (_hg_scanner_parse_number): push back a space
diff --git a/hieroglyph/hgallocator-bfit.c b/hieroglyph/hgallocator-bfit.c
index d7bd5c2..13204bd 100644
--- a/hieroglyph/hgallocator-bfit.c
+++ b/hieroglyph/hgallocator-bfit.c
@@ -915,7 +915,7 @@ _hg_allocator_bfit_real_save_snapshot(HgMemPool *pool)
* right now the snapshot age depends on the order of releasing
* a snapshot image. need better to manage the age of snapshot.
*/
- if (pool->snapshot_list && hg_list_length(pool->snapshot_list) >= 255) {
+ if (hg_mem_pool_get_n_snapshots(pool) >= 255) {
hg_log_warning("Too many snapshot are creating.");
return NULL;
}
diff --git a/hieroglyph/hgarray.c b/hieroglyph/hgarray.c
index 0e3cda0..5656c82 100644
--- a/hieroglyph/hgarray.c
+++ b/hieroglyph/hgarray.c
@@ -352,7 +352,7 @@ hg_array_append_forcibly(HgArray *array,
}
}
if (obj->pool != nobj->pool)
- hg_mem_add_pool_reference(nobj->pool, obj->pool);
+ hg_mem_pool_add_pool_reference(nobj->pool, obj->pool);
if (array->removed_arrays > 0) {
/* remove the nodes forever */
memmove(array->arrays, array->current, sizeof (gpointer) * array->n_arrays);
@@ -419,7 +419,7 @@ hg_array_replace_forcibly(HgArray *array,
}
}
if (obj->pool != nobj->pool)
- hg_mem_add_pool_reference(nobj->pool, obj->pool);
+ hg_mem_pool_add_pool_reference(nobj->pool, obj->pool);
array->current[index] = node;
return TRUE;
diff --git a/hieroglyph/hgdict.c b/hieroglyph/hgdict.c
index cefe1ea..f140d1d 100644
--- a/hieroglyph/hgdict.c
+++ b/hieroglyph/hgdict.c
@@ -1275,9 +1275,9 @@ hg_dict_insert_forcibly(HgMemPool *pool,
hash = HG_DICT_HASH (dict, key);
if (obj->pool != kobj->pool)
- hg_mem_add_pool_reference(kobj->pool, obj->pool);
+ hg_mem_pool_add_pool_reference(kobj->pool, obj->pool);
if (obj->pool != vobj->pool)
- hg_mem_add_pool_reference(vobj->pool, obj->pool);
+ hg_mem_pool_add_pool_reference(vobj->pool, obj->pool);
if ((l = hg_btree_find(dict->dict, GSIZE_TO_POINTER (hash))) != NULL) {
HgListIter iter;
diff --git a/hieroglyph/hgfile.c b/hieroglyph/hgfile.c
index 8d890d1..1735049 100644
--- a/hieroglyph/hgfile.c
+++ b/hieroglyph/hgfile.c
@@ -230,15 +230,15 @@ hg_file_init(void)
HG_MEM_GLOBAL);
__hg_file_stdin = hg_file_object_new(__hg_file_mem_pool,
HG_FILE_TYPE_STDIN);
- hg_mem_add_root_node(__hg_file_mem_pool, __hg_file_stdin);
+ hg_mem_pool_add_root_node(__hg_file_mem_pool, __hg_file_stdin);
__hg_file_stdout = hg_file_object_new(__hg_file_mem_pool,
HG_FILE_TYPE_STDOUT);
hg_object_writable((HgObject *)__hg_file_stdout);
- hg_mem_add_root_node(__hg_file_mem_pool, __hg_file_stdout);
+ hg_mem_pool_add_root_node(__hg_file_mem_pool, __hg_file_stdout);
__hg_file_stderr = hg_file_object_new(__hg_file_mem_pool,
HG_FILE_TYPE_STDERR);
hg_object_writable((HgObject *)__hg_file_stderr);
- hg_mem_add_root_node(__hg_file_mem_pool, __hg_file_stderr);
+ hg_mem_pool_add_root_node(__hg_file_mem_pool, __hg_file_stderr);
__hg_file_is_initialized = TRUE;
}
diff --git a/hieroglyph/hglog.c b/hieroglyph/hglog.c
index 09782f4..cb28ac3 100644
--- a/hieroglyph/hglog.c
+++ b/hieroglyph/hglog.c
@@ -101,7 +101,7 @@ hg_log_init(void)
HG_MEM_GLOBAL);
__hg_log_options_dict = hg_dict_new(__hg_log_mem_pool,
65535);
- hg_mem_add_root_node(__hg_log_mem_pool, __hg_log_options_dict);
+ hg_mem_pool_add_root_node(__hg_log_mem_pool, __hg_log_options_dict);
__hg_log_handler = _hg_log_default_handler;
__hg_log_initialized = TRUE;
diff --git a/hieroglyph/hgmem.c b/hieroglyph/hgmem.c
index e7b1266..401d6ed 100644
--- a/hieroglyph/hgmem.c
+++ b/hieroglyph/hgmem.c
@@ -463,6 +463,49 @@ hg_mem_pool_restore_snapshot(HgMemPool *pool,
return pool->allocator->vtable->restore_snapshot(pool, snapshot, adjuster);
}
+guint
+hg_mem_pool_get_n_snapshots(HgMemPool *pool)
+{
+ g_return_val_if_fail (pool != NULL, 0);
+
+ if (pool->snapshot_list == NULL)
+ return 0;
+ return hg_list_length(pool->snapshot_list);
+}
+
+HgMemSnapshot *
+hg_mem_pool_get_snapshot(HgMemPool *pool,
+ guint n)
+{
+ HgMemSnapshot *retval = NULL;
+ HgListIter iter;
+ int i;
+
+ g_return_val_if_fail (pool != NULL, NULL);
+ g_return_val_if_fail (hg_mem_pool_get_n_snapshots(pool) > n, NULL);
+
+ iter = hg_list_iter_new(pool->snapshot_list);
+ for (i = 1; i <= n; i++) {
+ if (!hg_list_get_iter_next(pool->snapshot_list, iter)) {
+ hg_log_warning("Failed to look up the snapshot image.");
+ return NULL;
+ }
+ }
+ retval = hg_list_iter_get_data(iter);
+ hg_list_iter_free(iter);
+
+ return retval;
+}
+
+void
+hg_mem_pool_clear_snapshot(HgMemPool *pool)
+{
+ g_return_if_fail (pool != NULL);
+
+ hg_list_free(pool->snapshot_list);
+ pool->snapshot_list = NULL;
+}
+
gboolean
hg_mem_garbage_collection(HgMemPool *pool)
{
@@ -654,8 +697,8 @@ hg_mem_gc_mark_array_region(HgMemPool *pool,
}
void
-hg_mem_add_root_node(HgMemPool *pool,
- gpointer data)
+hg_mem_pool_add_root_node(HgMemPool *pool,
+ gpointer data)
{
if (pool->root_node == NULL)
pool->root_node = hg_list_new();
@@ -663,8 +706,8 @@ hg_mem_add_root_node(HgMemPool *pool,
}
void
-hg_mem_remove_root_node(HgMemPool *pool,
- gpointer data)
+hg_mem_pool_remove_root_node(HgMemPool *pool,
+ gpointer data)
{
HgMemObject *obj;
@@ -678,8 +721,8 @@ hg_mem_remove_root_node(HgMemPool *pool,
}
void
-hg_mem_add_pool_reference(HgMemPool *pool,
- HgMemPool *other_pool)
+hg_mem_pool_add_pool_reference(HgMemPool *pool,
+ HgMemPool *other_pool)
{
HgListIter iter = NULL;
@@ -701,8 +744,8 @@ hg_mem_add_pool_reference(HgMemPool *pool,
}
void
-hg_mem_remove_pool_reference(HgMemPool *pool,
- HgMemPool *other_pool)
+hg_mem_pool_remove_pool_reference(HgMemPool *pool,
+ HgMemPool *other_pool)
{
g_return_if_fail (pool != NULL);
g_return_if_fail (other_pool != NULL);
diff --git a/hieroglyph/hgmem.h b/hieroglyph/hgmem.h
index f9588d5..aa7d2d1 100644
--- a/hieroglyph/hgmem.h
+++ b/hieroglyph/hgmem.h
@@ -75,6 +75,10 @@ gboolean hg_mem_pool_restore_snapshot (HgMemPool *pool,
HgMemSnapshot *snapshot,
guint adjuster);
guint8 hg_mem_pool_get_age_of_snapshot (HgMemPool *pool);
+guint hg_mem_pool_get_n_snapshots (HgMemPool *pool);
+HgMemSnapshot *hg_mem_pool_get_snapshot (HgMemPool *pool,
+ guint n);
+void hg_mem_pool_clear_snapshot (HgMemPool *pool);
gboolean hg_mem_garbage_collection (HgMemPool *pool);
gpointer hg_mem_alloc (HgMemPool *pool,
gsize size);
@@ -173,13 +177,13 @@ guint8 hg_mem_pool_get_age_of_mark (HgMemPool *pool);
void hg_mem_gc_mark_array_region (HgMemPool *pool,
gpointer start,
gpointer end);
-void hg_mem_add_root_node (HgMemPool *pool,
+void hg_mem_pool_add_root_node (HgMemPool *pool,
gpointer data);
-void hg_mem_remove_root_node (HgMemPool *pool,
+void hg_mem_pool_remove_root_node (HgMemPool *pool,
gpointer data);
-void hg_mem_add_pool_reference (HgMemPool *pool,
+void hg_mem_pool_add_pool_reference (HgMemPool *pool,
HgMemPool *other_pool);
-void hg_mem_remove_pool_reference (HgMemPool *pool,
+void hg_mem_pool_remove_pool_reference (HgMemPool *pool,
HgMemPool *other_pool);
void hg_mem_pool_use_periodical_gc (HgMemPool *pool,
gboolean flag);
diff --git a/hieroglyph/hgvaluenode.c b/hieroglyph/hgvaluenode.c
index d06ca72..dc49a82 100644
--- a/hieroglyph/hgvaluenode.c
+++ b/hieroglyph/hgvaluenode.c
@@ -444,7 +444,7 @@ hg_value_node_init(void)
__hg_value_node_type_tree = hg_btree_new(__hg_value_node_mem_pool,
BTREE_N_NODE);
- hg_mem_add_root_node(__hg_value_node_mem_pool, __hg_value_node_type_tree);
+ hg_mem_pool_add_root_node(__hg_value_node_mem_pool, __hg_value_node_type_tree);
hg_btree_allow_marking(__hg_value_node_type_tree, FALSE);
__hg_value_node_is_initialized = TRUE;
diff --git a/hieroglyph/version.h.in b/hieroglyph/version.h.in
index 4ed8cd1..560975e 100644
--- a/hieroglyph/version.h.in
+++ b/hieroglyph/version.h.in
@@ -29,7 +29,7 @@
G_BEGIN_DECLS
#define HIEROGLYPH_VERSION "@VERSION@"
-#define HIEROGLYPH_UUID "0e700c3b-dbc6-4fa1-b04b-2f39427e1d19"
+#define HIEROGLYPH_UUID "b4b5e745-6c80-4f4b-b1e2-35cc9fde754c"
const char *__hg_rcsid G_GNUC_UNUSED = "$Rev$";
diff --git a/hieroglyph/vm.c b/hieroglyph/vm.c
index bd0b2b5..b0dcb4e 100644
--- a/hieroglyph/vm.c
+++ b/hieroglyph/vm.c
@@ -77,11 +77,6 @@ struct _HieroGlyphVirtualMachine {
gboolean shutdown;
gint32 security_level;
- /* job management */
- GList *saved_jobs;
- GList *global_snapshot;
- GList *local_snapshot;
-
/* memory pool */
HgAllocator *local_allocator;
HgAllocator *global_allocator;
@@ -182,7 +177,7 @@ _hg_vm_init_errorname(void)
__hg_vm_err_node, \
#sym); \
__hg_vm_errorname[VM_e_##sym] = __hg_vm_err_node; \
- hg_mem_add_root_node(__hg_vm_mem_pool, __hg_vm_err_node); \
+ hg_mem_pool_add_root_node(__hg_vm_mem_pool, __hg_vm_err_node); \
} G_STMT_END
MAKE_ERRNAME(dictfull);
@@ -222,14 +217,8 @@ _hg_vm_real_free(gpointer data)
{
HgVM *vm = data;
- if (vm->saved_jobs)
- g_list_free(vm->saved_jobs);
if (vm->random_generator)
g_rand_free(vm->random_generator);
- if (vm->global_snapshot)
- g_list_free(vm->global_snapshot);
- if (vm->local_snapshot)
- g_list_free(vm->local_snapshot);
if (vm->local_pool)
hg_mem_pool_destroy(vm->local_pool);
#ifdef ENABLE_GLOBAL_POOL
@@ -502,16 +491,11 @@ hg_vm_new(HgVMEmulationType type)
hg_log_warning("Failed to create a name dict.");
return NULL;
}
- hg_mem_add_root_node(retval->global_pool, retval->name_dict);
+ hg_mem_pool_add_root_node(retval->global_pool, retval->name_dict);
g_get_current_time(&retval->initialized_time);
retval->random_generator = g_rand_new();
- /* snapshots */
- retval->saved_jobs = NULL;
- retval->global_snapshot = NULL;
- retval->local_snapshot = NULL;
-
/* initialize the stacks */
retval->ostack = hg_stack_new(retval->local_pool, 500);
retval->estack = hg_stack_new(retval->local_pool, 250);
@@ -522,9 +506,9 @@ hg_vm_new(HgVMEmulationType type)
hg_log_warning("Failed to create stacks.");
return NULL;
}
- hg_mem_add_root_node(retval->local_pool, retval->ostack);
- hg_mem_add_root_node(retval->local_pool, retval->estack);
- hg_mem_add_root_node(retval->local_pool, retval->dstack);
+ hg_mem_pool_add_root_node(retval->local_pool, retval->ostack);
+ hg_mem_pool_add_root_node(retval->local_pool, retval->estack);
+ hg_mem_pool_add_root_node(retval->local_pool, retval->dstack);
/* initialize local dictionaries */
retval->errordict = hg_dict_new(retval->local_pool, 128);
@@ -540,11 +524,11 @@ hg_vm_new(HgVMEmulationType type)
hg_log_warning("Failed to create local dictionaries.");
return NULL;
}
- hg_mem_add_root_node(retval->local_pool, retval->errordict);
- hg_mem_add_root_node(retval->local_pool, retval->error);
- hg_mem_add_root_node(retval->local_pool, retval->statusdict);
- hg_mem_add_root_node(retval->local_pool, retval->serverdict);
- hg_mem_add_root_node(retval->local_pool, retval->font);
+ hg_mem_pool_add_root_node(retval->local_pool, retval->errordict);
+ hg_mem_pool_add_root_node(retval->local_pool, retval->error);
+ hg_mem_pool_add_root_node(retval->local_pool, retval->statusdict);
+ hg_mem_pool_add_root_node(retval->local_pool, retval->serverdict);
+ hg_mem_pool_add_root_node(retval->local_pool, retval->font);
/* initialize global dictionaries */
retval->systemdict = hg_dict_new(retval->global_pool, 384);
@@ -554,8 +538,8 @@ hg_vm_new(HgVMEmulationType type)
hg_log_warning("Failed to create global dictionaries.");
return NULL;
}
- hg_mem_add_root_node(retval->global_pool, retval->systemdict);
- hg_mem_add_root_node(retval->global_pool, retval->globalfont);
+ hg_mem_pool_add_root_node(retval->global_pool, retval->systemdict);
+ hg_mem_pool_add_root_node(retval->global_pool, retval->globalfont);
/* initialize file object */
retval->stdin = __hg_file_stdin;
@@ -563,18 +547,18 @@ hg_vm_new(HgVMEmulationType type)
retval->stderr = __hg_file_stderr;
retval->lineeditor = hg_line_edit_new(retval->local_pool, NULL,
retval->stdin, retval->stdout);
- hg_mem_add_root_node(retval->local_pool, retval->lineeditor);
+ hg_mem_pool_add_root_node(retval->local_pool, retval->lineeditor);
/* initialize graphics */
retval->graphics = hg_graphics_new(retval->graphic_pool);
- hg_mem_add_root_node(retval->graphic_pool, retval->graphics);
+ hg_mem_pool_add_root_node(retval->graphic_pool, retval->graphics);
/* plugin support */
retval->plugin_table = hg_dict_new(retval->local_pool, 256);
retval->plugin_list = NULL;
- hg_mem_add_root_node(retval->local_pool, retval->plugin_table);
+ hg_mem_pool_add_root_node(retval->local_pool, retval->plugin_table);
- hg_mem_add_root_node(__hg_vm_mem_pool, retval);
+ hg_mem_pool_add_root_node(__hg_vm_mem_pool, retval);
return retval;
}
@@ -894,17 +878,9 @@ hg_vm_unload_plugin(HgVM *vm,
guint
hg_vm_get_save_level(HgVM *vm)
{
- guint retval;
-
g_return_val_if_fail (vm != NULL, 0);
- if (hg_vm_is_global_pool_used(vm)) {
- retval = g_list_length(vm->global_snapshot) + g_list_length(vm->saved_jobs);
- } else {
- retval = g_list_length(vm->local_snapshot) + g_list_length(vm->saved_jobs);
- }
-
- return retval;
+ return hg_mem_pool_get_n_snapshots(hg_vm_get_current_pool(vm));
}
HgValueNode *
@@ -996,37 +972,40 @@ hg_vm_startjob(HgVM *vm,
gboolean encapsulated)
{
HgValueNode *node, *nkey;
- GList *l;
+ HgMemSnapshot *snap;
gboolean retval = TRUE;
g_return_val_if_fail (vm != NULL, FALSE);
- if (vm->saved_jobs) {
- g_list_free(vm->saved_jobs);
- }
- if (g_list_length(vm->global_snapshot) > 0) {
- l = g_list_last(vm->global_snapshot);
- hg_mem_pool_restore_snapshot(vm->global_pool, l->data, 0);
- vm->global_snapshot = g_list_delete_link(vm->global_snapshot, l);
- }
- if (g_list_length(vm->local_snapshot) > 0) {
- l = g_list_last(vm->local_snapshot);
- hg_mem_pool_restore_snapshot(vm->local_pool, l->data, 0);
- vm->local_snapshot = g_list_delete_link(vm->local_snapshot, l);
- }
-
hg_stack_clear(vm->ostack);
hg_stack_clear(vm->dstack);
hg_mem_garbage_collection(vm->global_pool);
hg_mem_garbage_collection(vm->local_pool);
+ if (hg_mem_pool_get_n_snapshots(vm->global_pool) > 0) {
+ snap = hg_mem_pool_get_snapshot(vm->global_pool, 0);
+ hg_mem_pool_remove_root_node(vm->global_pool, snap);
+ if (!hg_mem_pool_restore_snapshot(vm->global_pool, snap, 0)) {
+ hg_log_warning("[BUG] failed to rollback the VM state.");
+ }
+ hg_mem_pool_clear_snapshot(vm->global_pool);
+ }
+ if (hg_mem_pool_get_n_snapshots(vm->local_pool) > 0) {
+ snap = hg_mem_pool_get_snapshot(vm->local_pool, 0);
+ hg_mem_pool_remove_root_node(vm->local_pool, snap);
+ if (!hg_mem_pool_restore_snapshot(vm->local_pool, snap, 0)) {
+ hg_log_warning("[BUG] failed to rollback the VM state.");
+ }
+ hg_mem_pool_clear_snapshot(vm->local_pool);
+ }
+
if (encapsulated) {
HgMemSnapshot *gsnapshot = hg_mem_pool_save_snapshot(vm->global_pool);
HgMemSnapshot *lsnapshot = hg_mem_pool_save_snapshot(vm->local_pool);
- vm->global_snapshot = g_list_append(vm->global_snapshot, gsnapshot);
- vm->local_snapshot = g_list_append(vm->local_snapshot, lsnapshot);
+ hg_mem_pool_add_root_node(vm->global_pool, gsnapshot);
+ hg_mem_pool_add_root_node(vm->local_pool, lsnapshot);
}
HG_VALUE_MAKE_DICT (node, vm->systemdict);
diff --git a/plugins/debug/debug-main.c b/plugins/debug/debug-main.c
index c7ce966..02f6c0d 100644
--- a/plugins/debug/debug-main.c
+++ b/plugins/debug/debug-main.c
@@ -41,7 +41,7 @@
hg_operator_build_operator__inline(_debug_op_, vm, pool, sdict, name, func, __hg_op); \
if (__hg_op != NULL) { \
__debug_operator_list[HG_debug_op_##func] = __hg_op; \
- hg_mem_add_root_node(pool, __hg_op); \
+ hg_mem_pool_add_root_node(pool, __hg_op); \
} \
} G_STMT_END
#define REMOVE_OP(pool, sdict, name, func) \
@@ -55,7 +55,7 @@
if (__hg_op == __debug_operator_list[HG_debug_op_##func]) { \
hg_dict_remove(sdict, __hg_key); \
} \
- hg_mem_remove_root_node(pool, __hg_op); \
+ hg_mem_pool_remove_root_node(pool, __hg_op); \
hg_mem_free(__hg_op); \
} \
hg_mem_free(__hg_key); \
diff --git a/plugins/libedit/libedit-main.c b/plugins/libedit/libedit-main.c
index 8a26cac..f3be90c 100644
--- a/plugins/libedit/libedit-main.c
+++ b/plugins/libedit/libedit-main.c
@@ -50,7 +50,7 @@
hg_operator_build_operator__inline(_libedit_op_, vm, pool, sdict, name, func, __hg_op); \
if (__hg_op != NULL) { \
__libedit_operator_list[HG_libedit_op_##func] = __hg_op; \
- hg_mem_add_root_node(pool, __hg_op); \
+ hg_mem_pool_add_root_node(pool, __hg_op); \
} \
} G_STMT_END
#define REMOVE_OP(pool, sdict, name, func) \
@@ -64,7 +64,7 @@
if (__hg_op == __libedit_operator_list[HG_libedit_op_##func]) { \
hg_dict_remove(sdict, __hg_key); \
} \
- hg_mem_remove_root_node(pool, __hg_op); \
+ hg_mem_pool_remove_root_node(pool, __hg_op); \
hg_mem_free(__hg_op); \
} \
hg_mem_free(__hg_key); \
diff --git a/plugins/test/test-main.c b/plugins/test/test-main.c
index 7284b74..a215975 100644
--- a/plugins/test/test-main.c
+++ b/plugins/test/test-main.c
@@ -45,7 +45,7 @@
hg_operator_build_operator__inline(_test_op_, vm, pool, sdict, name, func, __hg_op); \
if (__hg_op != NULL) { \
__test_operator_list[HG_test_op_##func] = __hg_op; \
- hg_mem_add_root_node(pool, __hg_op); \
+ hg_mem_pool_add_root_node(pool, __hg_op); \
} \
} G_STMT_END
#define REMOVE_OP(pool, sdict, name, func) \
@@ -59,7 +59,7 @@
if (__hg_op == __test_operator_list[HG_test_op_##func]) { \
hg_dict_remove(sdict, __hg_key); \
} \
- hg_mem_remove_root_node(pool, __hg_op); \
+ hg_mem_pool_remove_root_node(pool, __hg_op); \
hg_mem_free(__hg_op); \
} \
hg_mem_free(__hg_key); \