Go to the source code of this file.
Variables | |
static struct hashentry | hashtable [HASHSIZE] |
static struct hashbucket * | hashbuckets |
static long | hashtime |
static long | hashfree |
static long | numbuckets |
static long | curr_status |
static long | mark_nonstrict_flag |
void bk_mark_quote | ( | ptr_psi_term | t | ) |
Definition at line 630 of file copy.c.
References bk_mark_quote(), bk_mark_quote_tree(), heap_pointer, int_ptr, push_ptr_value(), QUOTED_TRUE, and RMASK.
void bk_mark_quote_tree | ( | ptr_node | t | ) |
Definition at line 647 of file copy.c.
References bk_mark_quote(), and bk_mark_quote_tree().
void clear_copy | ( | ) |
ptr_psi_term copy | ( | ptr_psi_term | t, |
long | copy_flag, | ||
long | heap_flag | ||
) |
Definition at line 219 of file copy.c.
References abort_life(), wl_psi_term::attr_list, choice_stack, COPY_THRESHOLD, copy_tree(), curr_status, cut, deref_ptr, env, Errorline(), EVAL_FLAG, FALSE, wl_psi_term::flags, function_it, global, global_time_stamp, HEAP, heap_pointer, HEAPDONE, insert_translation(), mark_quote_c(), NEW, NULL, QUOTE_FLAG, QUOTE_STUB, QUOTED_TRUE, wl_psi_term::resid, stack_pointer, wl_psi_term::status, traceline(), translate(), TRUE, type_it, and wl_psi_term::value_3.
Definition at line 139 of file copy.c.
References copy(), wl_node::data, HEAPDONE, wl_node::key, wl_node::left, NEW, NULL, and wl_node::right.
ptr_psi_term distinct_copy | ( | ptr_psi_term | t | ) |
Definition at line 358 of file copy.c.
References wl_psi_term::attr_list, distinct_tree(), global_time_stamp, and STACK_ALLOC.
Definition at line 334 of file copy.c.
References wl_node::data, distinct_tree(), wl_node::key, wl_node::left, NULL, wl_node::right, and STACK_ALLOC.
ptr_psi_term eval_copy | ( | ptr_psi_term | t, |
long | heap_flag | ||
) |
ptr_psi_term exact_copy | ( | ptr_psi_term | t, |
long | heap_flag | ||
) |
ptr_psi_term inc_heap_copy | ( | ptr_psi_term | t | ) |
void init_copy | ( | ) |
Definition at line 34 of file copy.c.
References HASHSIZE, hashtable, hashtime, numbuckets, and NUMBUCKETS.
void insert_translation | ( | ptr_psi_term | a, |
ptr_psi_term | b, | ||
long | info | ||
) |
Definition at line 63 of file copy.c.
References hashentry::bucketindex, HASH, hashbuckets, HASHEND, hashfree, hashtable, hashtime, hashbucket::info, hashbucket::new_value, hashbucket::next, numbuckets, hashbucket::old_value, hashentry::timestamp, and traceline().
void mark_eval | ( | ptr_psi_term | t | ) |
Definition at line 452 of file copy.c.
References clear_copy(), FALSE, mark_eval_new(), and mark_nonstrict_flag.
void mark_eval_new | ( | ptr_psi_term | t | ) |
Definition at line 479 of file copy.c.
References curr_status, deref_ptr, FALSE, function_it, global, insert_translation(), mark_eval_tree_new(), mark_nonstrict_flag, mark_quote_new(), mark_quote_tree_new(), QUOTED_TRUE, translate(), TRUE, and type_it.
void mark_eval_tree_new | ( | ptr_node | n | ) |
Definition at line 546 of file copy.c.
References mark_eval_new(), and mark_eval_tree_new().
void mark_nonstrict | ( | ptr_psi_term | t | ) |
Definition at line 462 of file copy.c.
References clear_copy(), mark_eval_new(), mark_nonstrict_flag, and TRUE.
void mark_quote | ( | ptr_psi_term | t | ) |
Definition at line 601 of file copy.c.
References mark_quote(), mark_quote_tree(), QUOTED_TRUE, RMASK, and wl_psi_term::status.
void mark_quote_c | ( | ptr_psi_term | t, |
long | heap_flag | ||
) |
Definition at line 396 of file copy.c.
References deref_ptr, EVAL_FLAG, wl_psi_term::flags, insert_translation(), mark_quote_tree_c(), NEW, QUOTE_FLAG, QUOTE_STUB, QUOTED_TRUE, wl_psi_term::status, and translate().
void mark_quote_new | ( | ptr_psi_term | t | ) |
Definition at line 557 of file copy.c.
References deref_ptr, FALSE, insert_translation(), mark_quote_tree_new(), QUOTED_TRUE, translate(), and TRUE.
void mark_quote_new2 | ( | ptr_psi_term | t | ) |
Definition at line 471 of file copy.c.
References clear_copy(), FALSE, mark_nonstrict_flag, and mark_quote_new().
void mark_quote_tree | ( | ) |
void mark_quote_tree | ( | ptr_node | t | ) |
Definition at line 616 of file copy.c.
References mark_quote(), and mark_quote_tree().
void mark_quote_tree_c | ( | ptr_node | n, |
long | heap_flag | ||
) |
Definition at line 424 of file copy.c.
References mark_quote_c(), and mark_quote_tree_c().
void mark_quote_tree_new | ( | ptr_node | n | ) |
Definition at line 581 of file copy.c.
References mark_quote_new(), and mark_quote_tree_new().
ptr_psi_term quote_copy | ( | ptr_psi_term | t, |
long | heap_flag | ||
) |
ptr_psi_term translate | ( | ptr_psi_term | a, |
long ** | infoptr | ||
) |
Definition at line 101 of file copy.c.
References hashentry::bucketindex, HASH, HASHEND, hashtable, hashtime, hashbucket::info, hashbucket::new_value, hashbucket::next, NULL, and hashbucket::old_value.
|
static |