mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-04 19:56:34 +02:00
Added add_global2
This commit is contained in:
parent
98fb53aa51
commit
4fb6530056
2 changed files with 27 additions and 21 deletions
|
@ -790,6 +790,7 @@ object register_library(const char *name);
|
||||||
/**@{*/
|
/**@{*/
|
||||||
extern list global_table;
|
extern list global_table;
|
||||||
void add_global(object * glo);
|
void add_global(object * glo);
|
||||||
|
void add_global2(object identifier, object * glo);
|
||||||
void Cyc_set_globals_changed(gc_thread_data *thd);
|
void Cyc_set_globals_changed(gc_thread_data *thd);
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|
||||||
|
|
47
runtime.c
47
runtime.c
|
@ -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);
|
return ck_ht_put_spmc(ht, h, &entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ht_test() {
|
//void ht_test() {
|
||||||
symbol_type ka = {{0}, symbol_tag, "sym a"};
|
// symbol_type ka = {{0}, symbol_tag, "sym a"};
|
||||||
symbol_type kb = {{0}, symbol_tag, "sym b"};
|
// symbol_type kb = {{0}, symbol_tag, "sym b"};
|
||||||
symbol_type kc = {{0}, symbol_tag, "sym c"};
|
// symbol_type kc = {{0}, symbol_tag, "sym c"};
|
||||||
object v1 = obj_int2obj(1);
|
// object v1 = obj_int2obj(1);
|
||||||
object v2 = obj_int2obj(2);
|
// object v2 = obj_int2obj(2);
|
||||||
object v3 = obj_int2obj(3);
|
// object v3 = obj_int2obj(3);
|
||||||
bool result;
|
// bool result;
|
||||||
|
//
|
||||||
printf("RUNNING HT DEBUG!!!\n");
|
// printf("RUNNING HT DEBUG!!!\n");
|
||||||
result = ht_insert(&globals_ht, &ka, v1);
|
// result = ht_insert(&globals_ht, &ka, v1);
|
||||||
result = ht_insert(&globals_ht, &kb, v2);
|
// result = ht_insert(&globals_ht, &kb, v2);
|
||||||
result = ht_insert(&globals_ht, &kc, v3);
|
// result = ht_insert(&globals_ht, &kc, v3);
|
||||||
|
//
|
||||||
object value = ht_get(&globals_ht, &ka);
|
// object value = ht_get(&globals_ht, &ka);
|
||||||
printf("got value 1 %lu\n", obj_obj2int(value));
|
// printf("got value 1 %lu\n", obj_obj2int(value));
|
||||||
value = ht_get(&globals_ht, &kb);
|
// value = ht_get(&globals_ht, &kb);
|
||||||
printf("got value 2 %lu\n", obj_obj2int(value));
|
// printf("got value 2 %lu\n", obj_obj2int(value));
|
||||||
value = ht_get(&globals_ht, &kc);
|
// value = ht_get(&globals_ht, &kc);
|
||||||
printf("got value 3 %lu\n", obj_obj2int(value));
|
// printf("got value 3 %lu\n", obj_obj2int(value));
|
||||||
}
|
//}
|
||||||
// End new hashset functions
|
// End new hashset functions
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -570,6 +570,11 @@ void add_global(object * glo)
|
||||||
// pthread_mutex_unlock(&symbol_table_lock);
|
// 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()
|
void debug_dump_globals()
|
||||||
{
|
{
|
||||||
list l = global_table;
|
list l = global_table;
|
||||||
|
|
Loading…
Add table
Reference in a new issue