This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/H/hglobals.h
2010-08-04 11:37:12 +01:00

222 lines
3.9 KiB
C

/* This file, hglobals.h, was generated automatically by "yap -L misc/buildheap"
please do not update, update misc/GLOBALS instead */
typedef struct worker_local {
int c_input_stream;
int c_output_stream;
int c_error_stream;
restoreinfo rinfo;
struct reduction_counters call_counters;
int interrupts_disabled;
union CONSULT_OBJ* consultsp;
UInt consultcapacity;
union CONSULT_OBJ* consultbase;
union CONSULT_OBJ* consultlow;
Term global_arena;
UInt global_arena_overflows;
Int delay_arena_overflows;
Int arena_overflows;
Int depth_arenas;
int arith_error;
struct pred_entry* last_asserted_pred;
int debug_on;
struct format_status* f_info;
char* scanner_stack;
struct scanner_extra_alloc* scanner_extra_blocks;
struct DB_TERM *ball_term;
UInt active_signals;
UInt i_pred_arity;
yamop* prof_end;
int uncaught_throw;
int doing_undefp;
Int start_line;
scratch_block scratchpad;
#ifdef COROUTINING
Term woken_goals;
Term atts_mutable_list;
#endif
Term gc_generation;
Term gc_phase;
UInt gc_current_phase;
UInt gc_calls;
Int tot_gc_time;
YAP_ULONG_LONG tot_gc_recovered;
Int last_gc_time;
Int last_ss_time;
#if defined(YAPOR) || defined(THREADS)
lockvar signal_lock;
struct pred_entry* wpp;
Int tot_marked;
Int tot_oldies;
#if DEBUG && COROUTINING
UInt tot_smarked;
#endif
struct choicept *wl_current_B;
CELL* wl_prev_HB;
CELL* hgen;
CELL** ip_top;
#if GC_NO_TAGS
char* b_p;
#endif
#if defined(TABLING) || defined(SBA)
struct trail_frame* wl_sTR;
struct trail_frame* wl_sTR0;
struct trail_frame* new_tr;
#else
Term *wl_sTR;
Term *wl_sTR0;
Term *new_tr;
#endif
struct gc_mark_continuation* conttop0;
struct gc_mark_continuation* conttop;
int disc_trail_entries;
gc_ma_hash_entry Gc_ma_hash_table[GC_MAVARS_HASH_SIZE];
gc_ma_hash_entry* Gc_ma_h_top;
gc_ma_hash_entry* Gc_ma_h_list;
UInt Gc_timestamp;
ADDR DB_vec;
ADDR DB_vec0;
struct RB_red_blk_node* DB_root;
struct RB_red_blk_node* DB_nil;
#endif /* defined(YAPOR) || defined(THREADS) */
jmp_buf gc_restore;
struct array_entry* dynamic_arrays;
struct static_array_entry* static_arrays;
struct global_entry* global_variables;
int allow_restart;
struct mem_blk* cmem_first_block;
UInt cmem_first_block_sz;
Int* label_first_array;
UInt label_first_array_sz;
char* putc_curp_;
char* putc_cur_buf_;
char* putc_cur_lim_;
UInt putc_cur_flags_;
char* SWI_buffers_[1+SWI_BUF_RINGS];
size_t SWI_buffers_sz_[1+SWI_BUF_RINGS];
int SWI_buf_index_;
struct open_query_struct* _execution;
#if (defined(YAPOR) || defined(TABLING)) && defined(THREADS)
struct worker worker;
#endif
#ifdef THREADS
struct thandle thread_handle;
#define FOREIGN_ThreadHandle(wid) (Yap_WLocal[(wid)].thread_handle)
#define MY_ThreadHandle (Yap_WLocal[worker_id].thread_handle)
#endif
} w_local;
typedef struct worker_shared {
#if THREADS
UInt n_of_threads;
UInt n_of_threads_created;
UInt threads_total_time;
#endif
#if defined(YAPOR) || defined(THREADS)
lockvar bgl;
#endif
Functor f_swi_stream;
SWI_GetFunction swi_getc;
SWI_PutFunction swi_putc;
SWI_GetWideFunction swi_wgetc;
SWI_PutWideFunction swi_wputc;
SWI_CloseFunction swi_close;
SWI_FlushFunction swi_flush;
int allow_local_expansion;
int allow_global_expansion;
int allow_trail_expansion;
UInt size_of_overflow;
UInt agc_last_call;
UInt agc_threshold;
Agc_hook agc_hook;
#if HAVE_LIBREADLINE
char *readline_buf;
char *readline_pos;
#endif
#ifdef THREADS
lockvar thread_handles_lock;
#endif
#if defined(YAPOR) || defined(TABLING)
struct global_data global;
struct local_data remote[MAX_WORKERS];
#endif
int initialised;
int initialised_from_pl;
int pl_argc;
char **pl_argv;
} w_shared;