Added add_global2

This commit is contained in:
Justin Ethier 2020-01-27 15:26:53 -05:00
parent 98fb53aa51
commit 4fb6530056
2 changed files with 27 additions and 21 deletions

View file

@ -790,6 +790,7 @@ object register_library(const char *name);
/**@{*/
extern list global_table;
void add_global(object * glo);
void add_global2(object identifier, object * glo);
void Cyc_set_globals_changed(gc_thread_data *thd);
/**@}*/

View file

@ -374,27 +374,27 @@ static bool ht_insert(ck_ht_t * ht, const void *key, const void *value)
return ck_ht_put_spmc(ht, h, &entry);
}
void ht_test() {
symbol_type ka = {{0}, symbol_tag, "sym a"};
symbol_type kb = {{0}, symbol_tag, "sym b"};
symbol_type kc = {{0}, symbol_tag, "sym c"};
object v1 = obj_int2obj(1);
object v2 = obj_int2obj(2);
object v3 = obj_int2obj(3);
bool result;
printf("RUNNING HT DEBUG!!!\n");
result = ht_insert(&globals_ht, &ka, v1);
result = ht_insert(&globals_ht, &kb, v2);
result = ht_insert(&globals_ht, &kc, v3);
object value = ht_get(&globals_ht, &ka);
printf("got value 1 %lu\n", obj_obj2int(value));
value = ht_get(&globals_ht, &kb);
printf("got value 2 %lu\n", obj_obj2int(value));
value = ht_get(&globals_ht, &kc);
printf("got value 3 %lu\n", obj_obj2int(value));
}
//void ht_test() {
// symbol_type ka = {{0}, symbol_tag, "sym a"};
// symbol_type kb = {{0}, symbol_tag, "sym b"};
// symbol_type kc = {{0}, symbol_tag, "sym c"};
// object v1 = obj_int2obj(1);
// object v2 = obj_int2obj(2);
// object v3 = obj_int2obj(3);
// bool result;
//
// printf("RUNNING HT DEBUG!!!\n");
// result = ht_insert(&globals_ht, &ka, v1);
// result = ht_insert(&globals_ht, &kb, v2);
// result = ht_insert(&globals_ht, &kc, v3);
//
// object value = ht_get(&globals_ht, &ka);
// printf("got value 1 %lu\n", obj_obj2int(value));
// value = ht_get(&globals_ht, &kb);
// printf("got value 2 %lu\n", obj_obj2int(value));
// value = ht_get(&globals_ht, &kc);
// printf("got value 3 %lu\n", obj_obj2int(value));
//}
// End new hashset functions
/**
@ -570,6 +570,11 @@ void add_global(object * glo)
// pthread_mutex_unlock(&symbol_table_lock);
}
void add_global2(object identifier, object * glo)
{
global_table = malloc_make_pair(mcvar(glo), global_table);
}
void debug_dump_globals()
{
list l = global_table;