From 274de7652fa21dd00ff2ca868dfdc4d0370108ed Mon Sep 17 00:00:00 2001 From: Joao Date: Mon, 18 Apr 2011 14:59:17 +0100 Subject: [PATCH] fix error messages in configure file. --- C/amasm.c | 2 +- C/globals.c | 2 +- C/grow.c | 2 +- H/Yap.h | 43 +++++++++++-------------- OPTYap/opt.config.h | 34 +++++++++----------- OPTYap/opt.init.c | 4 +-- OPTYap/opt.macros.h | 16 +++++----- OPTYap/opt.mavar.h | 5 +++ OPTYap/opt.preds.c | 76 ++++++++++++++++++++++---------------------- OPTYap/opt.structs.h | 4 +-- OPTYap/tab.insts.i | 6 ++-- OPTYap/tab.structs.h | 3 ++ configure | 41 ++++++++++++++---------- 13 files changed, 121 insertions(+), 117 deletions(-) diff --git a/C/amasm.c b/C/amasm.c index ef9415126..eb8e3afba 100755 --- a/C/amasm.c +++ b/C/amasm.c @@ -3159,7 +3159,7 @@ do_pass(int pass_no, yamop **entry_codep, int assembling, int *clause_has_blobsp #endif /* TABLING */ #ifdef TABLING_INNER_CUTS case clause_with_cut_op: - code_p = a_e(_clause_with_cut, code_p); + code_p = a_e(_clause_with_cut, code_p, pass_no); break; #endif /* TABLING_INNER_CUTS */ #ifdef SFUNC diff --git a/C/globals.c b/C/globals.c index 1e0b51d17..f55fba220 100644 --- a/C/globals.c +++ b/C/globals.c @@ -1245,7 +1245,7 @@ p_b_setval( USES_REGS1 ) return TRUE; #else WRITE_UNLOCK(ge->GRWLock); - Yap_Error(SYSTEM_ERROR,t2,"update_array"); + Yap_Error(SYSTEM_ERROR,t,"update_array"); return FALSE; #endif } diff --git a/C/grow.c b/C/grow.c index 07e752eb9..93a8325db 100755 --- a/C/grow.c +++ b/C/grow.c @@ -28,7 +28,7 @@ #if HAVE_STRING_H #include #endif -#if THREADS && !defined(TABLING) +#if YAPOR_THREADS #include #endif diff --git a/H/Yap.h b/H/Yap.h index 3c2b67174..47079467a 100755 --- a/H/Yap.h +++ b/H/Yap.h @@ -22,18 +22,23 @@ #if (defined(YAPOR_COPY) && (defined(YAPOR_COW) || defined(YAPOR_SBA) || defined(YAPOR_THREADS))) || (defined(YAPOR_COW) && (defined(YAPOR_SBA) || defined(YAPOR_THREADS))) || (defined(YAPOR_SBA) && defined(YAPOR_THREADS)) #error Do not define multiple or-parallel models -#endif /* (YAPOR_COPY && (YAPOR_COW || YAPOR_SBA)) || (YAPOR_COW && YAPOR_SBA) */ +#endif /* (YAPOR_COPY && (YAPOR_COW || YAPOR_SBA || YAPOR_THREADS)) || (YAPOR_COW && (YAPOR_SBA || YAPOR_THREADS)) || (YAPOR_SBA || YAPOR_THREADS) */ #if defined(YAPOR_COPY) || defined(YAPOR_COW) || defined(YAPOR_SBA) || defined(YAPOR_THREADS) #define YAPOR 1 -#endif /* YAPOR_COPY || YAPOR_COW || YAPOR_SBA */ +#define FIXED_STACKS 1 +#endif /* YAPOR_COPY || YAPOR_COW || YAPOR_SBA || YAPOR_THREADS */ #if defined(TABLING) && (defined(YAPOR_COW) || defined(YAPOR_SBA) || defined(YAPOR_THREADS)) -#error Currently TABLING only works with YAPOR_COPY +#error TABLING only works with YAPOR_COPY #endif /* TABLING && (YAPOR_COW || YAPOR_SBA || YAPOR_THREADS) */ +#if defined(THREADS) && (defined(YAPOR_COW) || defined(YAPOR_SBA) || defined(YAPOR_COPY)) +#error THREADS only works with YAPOR_THREADS +#endif /* THREADS && (YAPOR_COW || YAPOR_SBA || YAPOR_COPY) */ + #include "config.h" -#if defined(YAPOR) || defined(TABLING) || defined(THREADS) +#if defined(YAPOR) || defined(TABLING) #include "opt.config.h" #endif /* YAPOR || TABLING */ @@ -51,27 +56,23 @@ #define MULTI_ASSIGNMENT_VARIABLES 1 -#ifdef YAPOR -#define FIXED_STACKS 1 -#ifdef THREADS -#undef YAPOR_COW -#undef YAPOR_SBA -#undef YAPOR_COPY -#endif -#endif /* YAPOR */ - #if defined(YAPOR) || defined(THREADS) #define MULTIPLE_STACKS 1 -#endif - -#if defined(YAPOR) || defined(THREADS) #define PARALLEL_YAP 1 -#endif +#endif /* YAPOR || THREADS */ #if defined(YAPOR) || defined(TABLING) #undef TRAILING_REQUIRES_BRANCH #endif /* YAPOR || TABLING */ +#if defined(TABLING) || defined(YAPOR_SBA) +#define FROZEN_STACKS 1 +#endif /* TABLING || YAPOR_SBA */ + +#if defined(THREADS) || defined(SUPPORT_CONDOR) +#define USE_SYSTEM_MALLOC 1 +#endif /* THREADS || SUPPORT_CONDOR */ + #ifdef ANALYST #ifdef USE_THREADED_CODE #undef USE_THREADED_CODE @@ -84,14 +85,6 @@ #endif #endif -#if defined(THREADS) || defined(SUPPORT_CONDOR) -#define USE_SYSTEM_MALLOC 1 -#endif - -#if defined(TABLING) || defined(YAPOR_YAPOR_SBA) -#define FROZEN_STACKS 1 -#endif /* TABLING || YAPOR_YAPOR_SBA */ - #ifdef _MSC_VER /* Microsoft's Visual C++ Compiler */ /* adjust a config.h from mingw32 to work with vc++ */ #ifdef HAVE_GCC diff --git a/OPTYap/opt.config.h b/OPTYap/opt.config.h index ef35d5a75..63e29e730 100644 --- a/OPTYap/opt.config.h +++ b/OPTYap/opt.config.h @@ -21,12 +21,9 @@ ** memory alloc scheme (mandatory, define one) ** **********************************************************/ -#ifdef USE_SYSTEM_MALLOC -#define MALLOC_MEMORY_ALLOC_SCHEME 1 -#else #define YAP_MEMORY_ALLOC_SCHEME 1 -#endif -/* #define SHM_MEMORY_ALLOC_SCHEME 1 */ +/* #define MALLOC_MEMORY_ALLOC_SCHEME 1 */ +/* #define OPTYAP_PAGES_MEMORY_ALLOC_SCHEME 1 */ @@ -156,20 +153,23 @@ ** Parameter Checks ** ************************************************************************/ -#if !defined(SHM_MEMORY_ALLOC_SCHEME) && !defined(MALLOC_MEMORY_ALLOC_SCHEME) && !defined(YAP_MEMORY_ALLOC_SCHEME) +#if !defined(OPTYAP_PAGES_MEMORY_ALLOC_SCHEME) && !defined(MALLOC_MEMORY_ALLOC_SCHEME) && !defined(YAP_MEMORY_ALLOC_SCHEME) #error Define a memory alloc scheme -#endif /* !SHM_MEMORY_ALLOC_SCHEME && !MALLOC_MEMORY_ALLOC_SCHEME && !YAP_MEMORY_ALLOC_SCHEME */ -#if defined(SHM_MEMORY_ALLOC_SCHEME) -#if defined(MALLOC_MEMORY_ALLOC_SCHEME) || defined(YAP_MEMORY_ALLOC_SCHEME) +#endif /* !OPTYAP_PAGES_MEMORY_ALLOC_SCHEME && !MALLOC_MEMORY_ALLOC_SCHEME && !YAP_MEMORY_ALLOC_SCHEME */ +#if (defined(OPTYAP_PAGES_MEMORY_ALLOC_SCHEME) && (defined(MALLOC_MEMORY_ALLOC_SCHEME) || defined(YAP_MEMORY_ALLOC_SCHEME))) || (defined(MALLOC_MEMORY_ALLOC_SCHEME) && defined(YAP_MEMORY_ALLOC_SCHEME)) #error Do not define multiple memory alloc schemes -#endif /* MALLOC_MEMORY_ALLOC_SCHEME || YAP_MEMORY_ALLOC_SCHEME */ -#endif /* SHM_MEMORY_ALLOC_SCHEME */ -#if defined(MALLOC_MEMORY_ALLOC_SCHEME) && defined(YAP_MEMORY_ALLOC_SCHEME) -#error Do not define multiple memory alloc schemes -#endif /* MALLOC_MEMORY_ALLOC_SCHEME && YAP_MEMORY_ALLOC_SCHEME */ +#endif /* (OPTYAP_PAGES_MEMORY_ALLOC_SCHEME && (MALLOC_MEMORY_ALLOC_SCHEME || YAP_MEMORY_ALLOC_SCHEME)) || (MALLOC_MEMORY_ALLOC_SCHEME && YAP_MEMORY_ALLOC_SCHEME) */ +#ifdef USE_SYSTEM_MALLOC +#define MALLOC_MEMORY_ALLOC_SCHEME 1 +#undef YAP_MEMORY_ALLOC_SCHEME +#undef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME +#endif /* USE_SYSTEM_MALLOC */ #if defined(YAPOR) && defined(MALLOC_MEMORY_ALLOC_SCHEME) #error YAPOR is incompatible with MALLOC_MEMORY_ALLOC_SCHEME -#endif /* YAPOR && TABLING && (MALLOC_MEMORY_ALLOC_SCHEME || YAP_MEMORY_ALLOC_SCHEME) */ +#endif /* YAPOR && MALLOC_MEMORY_ALLOC_SCHEME */ +#ifndef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME +#undef LIMIT_TABLING +#endif /* !OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ #ifdef YAPOR #ifdef i386 /* For i386 machines we use shared memory segments */ @@ -237,10 +237,6 @@ #undef DEBUG_TABLING #endif /* !TABLING */ -#ifndef SHM_MEMORY_ALLOC_SCHEME -#undef LIMIT_TABLING -#endif /* !SHM_MEMORY_ALLOC_SCHEME */ - #if defined(DEBUG_YAPOR) && defined(DEBUG_TABLING) #define DEBUG_OPTYAP #endif /* DEBUG_YAPOR && DEBUG_TABLING */ diff --git a/OPTYap/opt.init.c b/OPTYap/opt.init.c index b7b628148..8fe53a64a 100644 --- a/OPTYap/opt.init.c +++ b/OPTYap/opt.init.c @@ -40,7 +40,7 @@ ** Macros ** *********************/ -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #define STRUCTS_PER_PAGE(STR_TYPE) ((Yap_page_size - STRUCT_SIZE(struct page_header)) / STRUCT_SIZE(STR_TYPE)) #define INIT_PAGES(PG, STR_TYPE) \ @@ -51,7 +51,7 @@ Pg_free_pg(PG) = NULL #else #define INIT_PAGES(PG, STR_TYPE) Pg_str_in_use(PG) = 0 -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ diff --git a/OPTYap/opt.macros.h b/OPTYap/opt.macros.h index d4d3a533e..0e72457ea 100644 --- a/OPTYap/opt.macros.h +++ b/OPTYap/opt.macros.h @@ -17,9 +17,9 @@ extern int Yap_page_size; -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #include -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ #define SHMMAX 0x2000000 /* 32 Mbytes: works fine with linux */ /* #define SHMMAX 0x400000 - 4 Mbytes: shmget limit for Mac (?) */ @@ -91,10 +91,10 @@ extern int Yap_page_size; #define FREE_STRUCT(STR, STR_PAGES, STR_TYPE) \ UPDATE_STATS(Pg_str_in_use(STR_PAGES), -1); \ FREE_BLOCK(STR) -#elif SHM_MEMORY_ALLOC_SCHEME +#elif OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef LIMIT_TABLING /************************************************************************************************* -** SHM_MEMORY_ALLOC_SCHEME && LIMIT_TABLING ** +** OPTYAP_PAGES_MEMORY_ALLOC_SCHEME && LIMIT_TABLING ** *************************************************************************************************/ #define INIT_PAGE(PG_HD, STR_PAGES, STR_TYPE) \ { int i; \ @@ -233,10 +233,10 @@ extern int Yap_page_size; LOCAL_next_free_ans_node = STRUCT_NEXT(STR) #else /************************************************************************************************* -** SHM_MEMORY_ALLOC_SCHEME && !LIMIT_TABLING ** +** OPTYAP_PAGES_MEMORY_ALLOC_SCHEME && !LIMIT_TABLING ** *************************************************************************************************/ #define ALLOC_PAGE(PG_HD) \ - LOCK(Pg_lock(Yap_pages_void)); \ + LOCK(Pg_lock(Yap_pages_void)); \ if (Pg_free_pg(Yap_pages_void) == NULL) { \ int i, shmid; \ pg_hd_ptr pg_hd, aux_pg_hd; \ @@ -261,7 +261,7 @@ extern int Yap_page_size; UNLOCK(Pg_lock(Yap_pages_void)) #define ALLOC_STRUCT(STR, STR_PAGES, STR_TYPE) \ - { pg_hd_ptr pg_hd; \ + { pg_hd_ptr pg_hd; \ LOCK(Pg_lock(STR_PAGES)); \ UPDATE_STATS(Pg_str_in_use(STR_PAGES), 1); \ if (Pg_free_pg(STR_PAGES)) { \ @@ -329,7 +329,7 @@ extern int Yap_page_size; LOCAL_next_free_ans_node = STRUCT_NEXT(STR) #endif /* LIMIT_TABLING */ /************************************************************************************************* -** SHM_MEMORY_ALLOC_SCHEME ** +** OPTYAP_PAGES_MEMORY_ALLOC_SCHEME ** *************************************************************************************************/ #define FREE_PAGE(PG_HD) \ LOCK(Pg_lock(Yap_pages_void)); \ diff --git a/OPTYap/opt.mavar.h b/OPTYap/opt.mavar.h index 1110d639b..7a5e13144 100644 --- a/OPTYap/opt.mavar.h +++ b/OPTYap/opt.mavar.h @@ -84,4 +84,9 @@ Yap_NEW_MAHASH(ma_h_inner_struct *top) { LOCAL_ma_h_top = top; return time; } +#else +#define Yap_MAVAR_HASH(addr) +#define Yap_ALLOC_NEW_MASPACE() +#define Yap_lookup_ma_var(addr) +#define Yap_NEW_MAHASH(top) #endif /* MULTI_ASSIGNMENT_VARIABLES */ diff --git a/OPTYap/opt.preds.c b/OPTYap/opt.preds.c index f16652fcb..724ade174 100644 --- a/OPTYap/opt.preds.c +++ b/OPTYap/opt.preds.c @@ -477,14 +477,14 @@ static Int p_show_statistics_tabling( USES_REGS1 ) { aux_bytes += show_statistics_global_trie_hashes(); fprintf(Yap_stdout, " Memory in use (III): %10ld bytes\n\n", aux_bytes); total_bytes += aux_bytes; -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME fprintf(Yap_stdout, "Total memory in use (I+II+III): %10ld bytes (%ld pages in use)\n", total_bytes, Pg_str_in_use(Yap_pages_void)); fprintf(Yap_stdout, "Total memory allocated: %10ld bytes (%ld pages in total)\n", Pg_pg_alloc(Yap_pages_void) * Yap_page_size, Pg_pg_alloc(Yap_pages_void)); #else fprintf(Yap_stdout, "Total memory in use (I+II+III): %10ld bytes\n", total_bytes); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return (TRUE); } @@ -713,14 +713,14 @@ static Int p_show_statistics_or( USES_REGS1 ) { aux_bytes += show_statistics_query_goal_answer_frames(); fprintf(Yap_stdout, " Memory in use (II): %10ld bytes\n\n", aux_bytes); total_bytes += aux_bytes; -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME fprintf(Yap_stdout, "Total memory in use (I+II+III): %10ld bytes (%ld pages in use)\n", total_bytes, Pg_str_in_use(Yap_pages_void)); fprintf(Yap_stdout, "Total memory allocated: %10ld bytes (%ld pages in total)\n", Pg_pg_alloc(Yap_pages_void) * Yap_page_size, Pg_pg_alloc(Yap_pages_void)); #else fprintf(Yap_stdout, "Total memory in use (I+II+III): %10ld bytes\n", total_bytes); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return (TRUE); } @@ -769,14 +769,14 @@ static Int p_show_statistics_opt( USES_REGS1 ) { #endif /* TABLING_INNER_CUTS */ fprintf(Yap_stdout, " Memory in use (IV): %10ld bytes\n\n", aux_bytes); total_bytes += aux_bytes; -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME fprintf(Yap_stdout, "Total memory in use (I+II+III+IV): %10ld bytes (%ld pages in use)\n", total_bytes, Pg_str_in_use(Yap_pages_void)); fprintf(Yap_stdout, "Total memory allocated: %10ld bytes (%ld pages in total)\n", Pg_pg_alloc(Yap_pages_void) * Yap_page_size, Pg_pg_alloc(Yap_pages_void)); #else fprintf(Yap_stdout, "Total memory in use (I+II+III+IV): %10ld bytes\n", total_bytes); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return (TRUE); } @@ -813,11 +813,11 @@ static Int p_get_optyap_statistics( USES_REGS1 ) { bytes += Pg_str_in_use(Yap_pages_tg_ans_fr) * sizeof(struct table_subgoal_answer_frame); #endif /* TABLING_INNER_CUTS */ #endif /* YAPOR && TABLING */ -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME structs = Pg_pg_alloc(Yap_pages_void) * Yap_page_size; #else structs = bytes; -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ } #ifdef TABLING if (value == 1) { /* table_entries */ @@ -1025,7 +1025,7 @@ static inline void answer_to_stdout(char *answer) { #ifdef TABLING static inline long show_statistics_table_entries(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_TABLING pg_hd_ptr pg_hd; tab_ent_ptr aux_ptr; @@ -1047,13 +1047,13 @@ static inline long show_statistics_table_entries(void) { #else fprintf(Yap_stdout, " Table entries: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_tab_ent) * sizeof(struct table_entry), Pg_str_in_use(Yap_pages_tab_ent)); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_tab_ent) * sizeof(struct table_entry); } static inline long show_statistics_subgoal_frames(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_TABLING pg_hd_ptr pg_hd; sg_fr_ptr aux_ptr; @@ -1075,13 +1075,13 @@ static inline long show_statistics_subgoal_frames(void) { #else fprintf(Yap_stdout, " Subgoal frames: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_sg_fr) * sizeof(struct subgoal_frame), Pg_str_in_use(Yap_pages_sg_fr)); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_sg_fr) * sizeof(struct subgoal_frame); } static inline long show_statistics_dependency_frames(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_TABLING pg_hd_ptr pg_hd; dep_fr_ptr aux_ptr; @@ -1103,13 +1103,13 @@ static inline long show_statistics_dependency_frames(void) { #else fprintf(Yap_stdout, " Dependency frames: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_dep_fr) * sizeof(struct dependency_frame), Pg_str_in_use(Yap_pages_dep_fr)); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_dep_fr) * sizeof(struct dependency_frame); } static inline long show_statistics_subgoal_trie_nodes(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_TABLING pg_hd_ptr pg_hd; sg_node_ptr aux_ptr; @@ -1131,13 +1131,13 @@ static inline long show_statistics_subgoal_trie_nodes(void) { #else fprintf(Yap_stdout, " Subgoal trie nodes: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_sg_node) * sizeof(struct subgoal_trie_node), Pg_str_in_use(Yap_pages_sg_node)); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_sg_node) * sizeof(struct subgoal_trie_node); } static inline long show_statistics_answer_trie_nodes(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_TABLING pg_hd_ptr pg_hd; ans_node_ptr aux_ptr; @@ -1159,13 +1159,13 @@ static inline long show_statistics_answer_trie_nodes(void) { #else fprintf(Yap_stdout, " Answer trie nodes: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_ans_node) * sizeof(struct answer_trie_node), Pg_str_in_use(Yap_pages_ans_node)); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_ans_node) * sizeof(struct answer_trie_node); } static inline long show_statistics_subgoal_trie_hashes(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_TABLING pg_hd_ptr pg_hd; sg_hash_ptr aux_ptr; @@ -1187,13 +1187,13 @@ static inline long show_statistics_subgoal_trie_hashes(void) { #else fprintf(Yap_stdout, " Subgoal trie hashes: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_sg_hash) * sizeof(struct subgoal_trie_hash), Pg_str_in_use(Yap_pages_sg_hash)); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_sg_hash) * sizeof(struct subgoal_trie_hash); } static inline long show_statistics_answer_trie_hashes(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_TABLING pg_hd_ptr pg_hd; ans_hash_ptr aux_ptr; @@ -1215,13 +1215,13 @@ static inline long show_statistics_answer_trie_hashes(void) { #else fprintf(Yap_stdout, " Answer trie hashes: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_ans_hash) * sizeof(struct answer_trie_hash), Pg_str_in_use(Yap_pages_ans_hash)); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_ans_hash) * sizeof(struct answer_trie_hash); } static inline long show_statistics_global_trie_nodes(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_TABLING pg_hd_ptr pg_hd; gt_node_ptr aux_ptr; @@ -1243,13 +1243,13 @@ static inline long show_statistics_global_trie_nodes(void) { #else fprintf(Yap_stdout, " Global trie nodes: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_gt_node) * sizeof(struct global_trie_node), Pg_str_in_use(Yap_pages_gt_node)); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_gt_node) * sizeof(struct global_trie_node); } static inline long show_statistics_global_trie_hashes(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_TABLING pg_hd_ptr pg_hd; gt_hash_ptr aux_ptr; @@ -1271,7 +1271,7 @@ static inline long show_statistics_global_trie_hashes(void) { #else fprintf(Yap_stdout, " Global trie hashes: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_gt_hash) * sizeof(struct global_trie_hash), Pg_str_in_use(Yap_pages_gt_hash)); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_gt_hash) * sizeof(struct global_trie_hash); } #endif /* TABLING */ @@ -1279,7 +1279,7 @@ static inline long show_statistics_global_trie_hashes(void) { #ifdef YAPOR static inline long show_statistics_or_frames(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_YAPOR pg_hd_ptr pg_hd; or_fr_ptr aux_ptr; @@ -1301,13 +1301,13 @@ static inline long show_statistics_or_frames(void) { #else fprintf(Yap_stdout, " Or-frames: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_or_fr ) * sizeof(struct or_frame), Pg_str_in_use(Yap_pages_or_fr )); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_or_fr ) * sizeof(struct or_frame); } static inline long show_statistics_query_goal_solution_frames(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_YAPOR pg_hd_ptr pg_hd; qg_sol_fr_ptr aux_ptr; @@ -1329,13 +1329,13 @@ static inline long show_statistics_query_goal_solution_frames(void) { #else fprintf(Yap_stdout, " Query goal solution frames: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_qg_sol_fr ) * sizeof(struct query_goal_solution_frame), Pg_str_in_use(Yap_pages_qg_sol_fr )); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_qg_sol_fr ) * sizeof(struct query_goal_solution_frame); } static inline long show_statistics_query_goal_answer_frames(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_YAPOR pg_hd_ptr pg_hd; qg_ans_fr_ptr aux_ptr; @@ -1357,7 +1357,7 @@ static inline long show_statistics_query_goal_answer_frames(void) { #else fprintf(Yap_stdout, " Query goal answer frames: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_qg_ans_fr) * sizeof(struct query_goal_answer_frame), Pg_str_in_use(Yap_pages_qg_ans_fr)); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_qg_ans_fr) * sizeof(struct query_goal_answer_frame); } #endif /* YAPOR */ @@ -1365,7 +1365,7 @@ static inline long show_statistics_query_goal_answer_frames(void) { #if defined(YAPOR) && defined(TABLING) static inline long show_statistics_suspension_frames(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_OPTYAP pg_hd_ptr pg_hd; susp_fr_ptr aux_ptr; @@ -1387,14 +1387,14 @@ static inline long show_statistics_suspension_frames(void) { #else fprintf(Yap_stdout, " Suspension frames: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_susp_fr) * sizeof(struct suspension_frame), Pg_str_in_use(Yap_pages_susp_fr)); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_susp_fr) * sizeof(struct suspension_frame); } #ifdef TABLING_INNER_CUTS static inline long show_statistics_table_subgoal_solution_frames(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_OPTYAP pg_hd_ptr pg_hd; tg_sol_fr_ptr aux_ptr; @@ -1416,13 +1416,13 @@ static inline long show_statistics_table_subgoal_solution_frames(void) { #else fprintf(Yap_stdout, " Table subgoal solution frames: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_tg_sol_fr) * sizeof(struct table_subgoal_solution_frame), Pg_str_in_use(Yap_pages_tg_sol_fr)); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_tg_sol_fr) * sizeof(struct table_subgoal_solution_frame); } static inline long show_statistics_table_subgoal_answer_frames(void) { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef DEBUG_OPTYAP pg_hd_ptr pg_hd; tg_ans_fr_ptr aux_ptr; @@ -1444,7 +1444,7 @@ static inline long show_statistics_table_subgoal_answer_frames(void) { #else fprintf(Yap_stdout, " Table subgoal answer frames: %10ld bytes (%ld structs in use)\n", Pg_str_in_use(Yap_pages_tg_ans_fr) * sizeof(struct table_subgoal_answer_frame), Pg_str_in_use(Yap_pages_tg_ans_fr)); -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ return Pg_str_in_use(Yap_pages_tg_ans_fr) * sizeof(struct table_subgoal_answer_frame); } #endif /* TABLING_INNER_CUTS */ diff --git a/OPTYap/opt.structs.h b/OPTYap/opt.structs.h index 3f71840ed..8917d6e17 100644 --- a/OPTYap/opt.structs.h +++ b/OPTYap/opt.structs.h @@ -76,14 +76,14 @@ typedef struct page_header { ***************************/ struct pages { -#ifdef SHM_MEMORY_ALLOC_SCHEME +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME #ifdef YAPOR lockvar lock; #endif /* YAPOR */ int structs_per_page; struct page_header *first_free_page; volatile long pages_allocated; -#endif /* SHM_MEMORY_ALLOC_SCHEME */ +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ volatile long structs_in_use; }; diff --git a/OPTYap/tab.insts.i b/OPTYap/tab.insts.i index 2f2226309..5a7742b69 100644 --- a/OPTYap/tab.insts.i +++ b/OPTYap/tab.insts.i @@ -893,7 +893,7 @@ ltt = BRANCH_LTT(worker_id, depth); BITMAP_intersection(members, prune_members, OrFr_members(LOCAL_top_or_fr)); if (members) { - for (i = 0; i < number_workers; i++) { + for (i = 0; i < Yap_number_workers; i++) { if (BITMAP_member(members, i) && BRANCH_LTT(i, depth) > ltt && EQUAL_OR_YOUNGER_CP(Get_LOCAL_top_cp(), REMOTE_pruning_scope(i))) { @@ -939,7 +939,7 @@ ltt = BRANCH_LTT(worker_id, depth); BITMAP_intersection(members, prune_members, OrFr_members(leftmost_or_fr)); if (members) { - for (i = 0; i < number_workers; i++) { + for (i = 0; i < Yap_number_workers; i++) { if (BITMAP_member(members, i) && BRANCH_LTT(i, depth) > ltt && EQUAL_OR_YOUNGER_CP(GetOrFr_node(leftmost_or_fr), REMOTE_pruning_scope(i))) @@ -954,7 +954,7 @@ ltt = BRANCH_LTT(worker_id, depth); BITMAP_intersection(members, prune_members, OrFr_members(leftmost_or_fr)); if (members) { - for (i = 0; i < number_workers; i++) { + for (i = 0; i < Yap_number_workers; i++) { if (BITMAP_member(members, i) && BRANCH_LTT(i, depth) > ltt && EQUAL_OR_YOUNGER_CP(GetOrFr_node(leftmost_or_fr), REMOTE_pruning_scope(i))) { diff --git a/OPTYap/tab.structs.h b/OPTYap/tab.structs.h index 3057c7a4b..8bd7e729e 100644 --- a/OPTYap/tab.structs.h +++ b/OPTYap/tab.structs.h @@ -125,6 +125,9 @@ typedef struct global_trie_hash { int number_of_buckets; struct global_trie_node **buckets; int number_of_nodes; +#ifdef OPTYAP_PAGES_MEMORY_ALLOC_SCHEME + struct global_trie_hash *next; +#endif /* OPTYAP_PAGES_MEMORY_ALLOC_SCHEME */ } *gt_hash_ptr; #define Hash_mark(X) ((X)->mark) diff --git a/configure b/configure index e5d5eef48..11ee01b1b 100755 --- a/configure +++ b/configure @@ -1425,7 +1425,7 @@ Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-tabling support tabling - --enable-or-parallelism support or-parallelism as: copy,sba,a-cow,threads + --enable-or-parallelism support or-parallelism as: copy,sba,cow,threads --enable-rational-trees support infinite rational trees --enable-coroutining support co-routining, attributed variables and constraints --enable-depth-limit support depth-bound computation @@ -3699,6 +3699,16 @@ fi # Check whether --enable-or-parallelism was given. if test "${enable_or_parallelism+set}" = set; then : enableval=$enable_or_parallelism; orparallelism="$enableval" + case "$orparallelism" in + yes|copy|sba|cow|threads) + ;; + *) + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "--enable-or-parallelism=$orparallelism invalid option"; } + ;; + esac + else orparallelism=no fi @@ -7487,42 +7497,39 @@ if test "$threads" = "yes" YAP_EXTRAS="$YAP_EXTRAS -D_GNU_SOURCE" fi case "$orparallelism" in + copy) + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "--enable-or-parallelism=copy incompatible with threads"; } + ;; sba) { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--or-parallelism=sba incompatible with threads +as_fn_error $? "--enable-or-parallelism=sba incompatible with threads"; } ;; - a-cow -See \`config.log' for more details" "$LINENO" 5 ; } + cow) { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--or-parallelism=a-cow incompatible with threads +as_fn_error $? "--enable-or-parallelism=cow incompatible with threads"; } ;; - copy -See \`config.log' for more details" "$LINENO" 5 ; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "--or-parallelism=copy incompatible with threads - ;; - yes|threads -See \`config.log' for more details" "$LINENO" 5 ; } + yes|threads) YAP_EXTRAS="$YAP_EXTRAS -DYAPOR_THREADS=1" ;; esac else case "$orparallelism" in + yes|copy) + YAP_EXTRAS="$YAP_EXTRAS -DYAPOR_COPY=1" + ;; sba) YAP_EXTRAS="$YAP_EXTRAS -DYAPOR_SBA=1" ;; - a-cow) + cow) YAP_EXTRAS="$YAP_EXTRAS -DYAPOR_COW=1" ;; threads) YAP_EXTRAS="$YAP_EXTRAS -DYAPOR_THREADS=1" ;; - yes|copy) - YAP_EXTRAS="$YAP_EXTRAS -DYAPOR_COPY=1" - ;; esac fi