remove old xomment

This commit is contained in:
Vítor Santos Costa 2016-01-03 01:26:09 +00:00
parent 4e2649c743
commit ca7d66a791

475
C/cdmgr.c
View File

@ -1,464 +1,19 @@
/*************************************************************************
* *
* YAP Prolog *
* *
* Yap Prolog was developed at NCCUP - Universidade do Porto *
* *
* Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997 *
* *
**************************************************************************
* *
* File: cdmgr.c *
* comments: Code manager *
* *
* Last rev: $Date: 2008-07-22 23:34:44 $,$Author: vsc $
**
* $Log: not supported by cvs2svn $
* Revision 1.230 2008/06/02 17:20:28 vsc
* fix abolish bug
*
* Revision 1.229 2008/05/28 17:18:35 vsc
* thread fixes
*
* Revision 1.228 2008/04/28 23:02:32 vsc
* fix bug in current_predicate/2
* fix bug in c_interface.
*
* Revision 1.227 2008/04/11 16:30:27 ricroc
* *** empty log message ***
*
* Revision 1.226 2008/04/01 22:28:41 vsc
* put YAPOR back to life.
*
* Revision 1.225 2008/04/01 08:42:45 vsc
* fix restore and small VISTA thingies
*
* Revision 1.224 2008/03/31 22:56:21 vsc
* more fixes
*
* Revision 1.223 2008/03/25 16:45:53 vsc
* make or-parallelism compile again
*
* Revision 1.222 2008/03/24 23:48:47 vsc
* fix maximum number of threads open error
*
* Revision 1.221 2008/03/22 23:35:00 vsc
* fix bug in all_calls
*
* Revision 1.220 2008/03/17 18:31:16 vsc
* fix breakage in module system
* disable stack writing in error for now
*
* Revision 1.219 2008/02/22 15:08:33 vsc
* Big update to support more SICStus/SWI like message handling
* fix YAPSHAREDIR
* fix yap.tex (Bernd)
*
* Revision 1.218 2008/01/23 17:57:44 vsc
* valgrind it!
* enable atom garbage collection.
*
* Revision 1.217 2007/12/26 19:50:40 vsc
* new version of clp(fd)
* fix deadlock with empty args facts in clause/2.
*
* Revision 1.216 2007/12/23 22:48:44 vsc
* recover stack space
*
* Revision 1.215 2007/12/18 17:46:58 vsc
* purge_clauses does not need to do anything if there are no clauses
* fix gprof bugs.
*
* Revision 1.214 2007/11/28 23:52:14 vsc
* junction tree algorithm
*
* Revision 1.213 2007/11/26 23:43:07 vsc
* fixes to support threads and assert correctly, even if inefficiently.
*
* Revision 1.212 2007/11/16 14:58:40 vsc
* implement sophisticated operations with matrices.
*
* Revision 1.211 2007/11/08 09:53:01 vsc
* YAP would always say the system has tabling!
*
* Revision 1.210 2007/11/07 09:25:27 vsc
* speedup meta-calls
*
* Revision 1.209 2007/11/06 17:02:11 vsc
* compile ground terms away.
*
* Revision 1.208 2007/11/01 10:01:35 vsc
* fix uninitalised lock and reconsult test.
*
* Revision 1.207 2007/10/29 22:48:54 vsc
* small fixes
*
* Revision 1.206 2007/04/10 22:13:20 vsc
* fix max modules limitation
*
* Revision 1.205 2007/03/26 15:18:43 vsc
* debugging and clause/3 over tabled predicates would kill YAP.
*
* Revision 1.204 2007/01/25 22:11:55 vsc
* all/3 should fail on no solutions.
* get rid of annoying gcc complaints.
*
* Revision 1.203 2007/01/24 10:01:38 vsc
* fix matrix mess
*
* Revision 1.202 2006/12/27 01:32:37 vsc
* diverse fixes
*
* Revision 1.201 2006/12/13 16:10:14 vsc
* several debugger and CLP(BN) improvements.
*
* Revision 1.200 2006/11/27 17:42:02 vsc
* support for UNICODE, and other bug fixes.
*
* Revision 1.199 2006/11/15 00:13:36 vsc
* fixes for indexing code.
*
* Revision 1.198 2006/11/14 11:42:25 vsc
* fix bug in growstack
*
* Revision 1.197 2006/11/06 18:35:03 vsc
* 1estranha
*
* Revision 1.196 2006/10/16 17:12:48 vsc
* fixes for threaded version.
*
* Revision 1.195 2006/10/11 17:24:36 vsc
* make sure we only follow pointers *before* we removed the respective code
*block,
* ie don't kill the child before checking pointers from parent!
*
* Revision 1.194 2006/10/11 15:08:03 vsc
* fix bb entries
* comment development code for timestamp overflow.
*
* Revision 1.193 2006/10/11 14:53:57 vsc
* fix memory leak
* fix overflow handling
* VS: ----------------------------------------------------------------------
*
* Revision 1.192 2006/10/10 14:08:16 vsc
* small fixes on threaded implementation.
*
* Revision 1.191 2006/09/20 20:03:51 vsc
* improve indexing on floats
* fix sending large lists to DB
*
* Revision 1.190 2006/08/07 18:51:44 vsc
* fix garbage collector not to try to garbage collect when we ask for large
* chunks of stack in a single go.
*
* Revision 1.189 2006/05/24 02:35:39 vsc
* make chr work and other minor fixes.
*
* Revision 1.188 2006/05/18 16:33:04 vsc
* fix info reported by memory manager under DL_MALLOC and SYSTEM_MALLOC
*
* Revision 1.187 2006/04/29 01:15:18 vsc
* fix expand_consult patch
*
* Revision 1.186 2006/04/28 17:53:44 vsc
* fix the expand_consult patch
*
* Revision 1.185 2006/04/28 13:23:22 vsc
* fix number of overflow bugs affecting threaded version
* make current_op faster.
*
* Revision 1.184 2006/04/27 14:11:57 rslopes
* *** empty log message ***
*
* Revision 1.183 2006/03/29 16:00:10 vsc
* make tabling compile
*
* Revision 1.182 2006/03/24 16:26:26 vsc
* code review
*
* Revision 1.181 2006/03/22 20:07:28 vsc
* take better care of zombies
*
* Revision 1.180 2006/03/22 16:14:20 vsc
* don't be too eager at throwing indexing code for static predicates away.
*
* Revision 1.179 2006/03/21 17:11:39 vsc
* prevent breakage
*
* Revision 1.178 2006/03/20 19:51:43 vsc
* fix indexing and tabling bugs
*
* Revision 1.177 2006/03/06 14:04:56 vsc
* fixes to garbage collector
* fixes to debugger
*
* Revision 1.176 2006/02/01 13:28:56 vsc
* bignum support fixes
*
* Revision 1.175 2006/01/08 03:12:00 vsc
* fix small bug in attvar handling.
*
* Revision 1.174 2005/12/23 00:20:13 vsc
* updates to gprof
* support for __POWER__
* Try to saveregs before _longjmp.
*
* Revision 1.173 2005/12/17 03:25:39 vsc
* major changes to support online event-based profiling
* improve error discovery and restart on scanner.
*
* Revision 1.172 2005/11/23 03:01:33 vsc
* fix several bugs in save/restore.b
*
* Revision 1.171 2005/10/29 01:28:37 vsc
* make undefinedore ISO compatible.
*
* Revision 1.170 2005/10/18 17:04:43 vsc
* 5.1:
* - improvements to GC
* 2 generations
* generic speedups
* - new scheme for attvars
* - hProlog like interface also supported
* - SWI compatibility layer
* - extra predicates
* - global variables
* - moved to Prolog module
* - CLP(R) by Leslie De Koninck, Tom Schrijvers, Cristian Holzbaur, Bart
* Demoen and Jan Wielemacker
* - load_files/2
*
* from 5.0.1
*
* - WIN32 missing include files (untested)
* - -L trouble (my thanks to Takeyuchi Shiramoto-san)!
* - debugging of backtrable user-C preds would core dump.
* - redeclaring a C-predicate as Prolog core dumps.
* - badly protected YapInterface.h.
* - break/0 was failing at exit.
* - YAP_cut_fail and YAP_cut_succeed were different from manual.
* - tracing through data-bases could core dump.
* - cut could break on very large computations.
* - first pass at BigNum issues (reported by Roberto).
* - debugger could get go awol after fail port.
* - weird message on wrong debugger option.
*
* Revision 1.169 2005/10/15 02:05:57 vsc
* fix for trying to add clauses to a C pred.
*
* Revision 1.168 2005/08/05 14:55:02 vsc
* first steps to allow mavars with tabling
* fix trailing for tabling with multiple get_cons
*
* Revision 1.167 2005/08/02 03:09:49 vsc
* fix debugger to do well nonsource predicates.
*
* Revision 1.166 2005/08/01 15:40:37 ricroc
* TABLING NEW: better support for incomplete tabling
*
* Revision 1.165 2005/07/06 19:33:52 ricroc
* TABLING: answers for completed calls can now be obtained by loading (new
*option) or executing (default) them from the trie data structure.
*
* Revision 1.164 2005/07/06 15:10:03 vsc
* improvements to compiler: merged instructions and fixes for ->
*
* Revision 1.163 2005/06/08 00:35:27 vsc
* fix silly calls such as 0.15 ( bug reported by Jude Shavlik)
*
* Revision 1.162 2005/06/04 07:27:33 ricroc
* long int support for tabling
*
* Revision 1.161 2005/06/03 08:26:32 ricroc
* float support for tabling
*
* Revision 1.160 2005/06/01 14:02:47 vsc
* get_rid of try_me?, retry_me? and trust_me? instructions: they are not
* significantly used nowadays.
*
* Revision 1.159 2005/05/31 19:42:27 vsc
* insert some more slack for indices in LU
* Use doubly linked list for LU indices so that updating is less cumbersome.
*
* Revision 1.158 2005/05/31 00:30:23 ricroc
* remove abort_yapor function
*
* Revision 1.157 2005/05/12 03:36:32 vsc
* debugger was making predicates meta instead of testing
* fix handling of dbrefs in facts and in subarguments.
*
* Revision 1.156 2005/04/20 04:02:15 vsc
* fix a few variable warnings
* fix erase clause to pass a pointer to clause, not code
* get rid of Yap4.4 code in Yap_EraseStaticClause
*
* Revision 1.155 2005/04/10 04:01:10 vsc
* bug fixes, I hope!
*
* Revision 1.154 2005/03/04 20:30:11 ricroc
* bug fixes for YapTab support
*
* Revision 1.153 2005/02/25 03:39:44 vsc
* fix fixes to undefp
* fix bug where clause mistook cp for ap
*
* Revision 1.152 2005/02/08 18:04:57 vsc
* library_directory may not be deterministic (usually it isn't).
*
* Revision 1.151 2005/02/08 04:05:23 vsc
* fix mess with add clause
* improves on sigsegv handling
*
* Revision 1.150 2005/01/28 23:14:34 vsc
* move to Yap-4.5.7
* Fix clause size
*
* Revision 1.149 2005/01/05 05:35:01 vsc
* get rid of debugging stub.
*
* Revision 1.148 2005/01/04 02:50:21 vsc
* - allow MegaClauses with blobs
* - change Diffs to be thread specific
* - include Christian's updates
*
* Revision 1.147 2004/12/28 22:20:35 vsc
* some extra bug fixes for trail overflows: some cannot be recovered that
*easily,
* some can.
*
* Revision 1.146 2004/12/20 21:44:57 vsc
* more fixes to CLPBN
* fix some Yap overflows.
*
* Revision 1.145 2004/12/16 05:57:23 vsc
* fix overflows
*
* Revision 1.144 2004/12/08 00:10:48 vsc
* more grow fixes
*
* Revision 1.143 2004/12/05 05:01:23 vsc
* try to reduce overheads when running with goal expansion enabled.
* CLPBN fixes
* Handle overflows when allocating big clauses properly.
*
* Revision 1.142 2004/11/18 22:32:31 vsc
* fix situation where we might assume nonextsing double initialization of C
*predicates (use
* Hidden Pred Flag).
* $host_type was double initialized.
*
* Revision 1.141 2004/11/04 18:22:31 vsc
* don't ever use memory that has been freed (that was done by LU).
* generic fixes for WIN32 libraries
*
* Revision 1.140 2004/10/31 02:18:03 vsc
* fix bug in handling Yap heap overflow while adding new clause.
*
* Revision 1.139 2004/10/28 20:12:21 vsc
* Use Doug Lea's malloc as an alternative to YAP's standard malloc
* don't use TR directly in scanner/parser, this avoids trouble with ^C while
* consulting large files.
* pass gcc -mno-cygwin to library compilation in cygwin environment (cygwin
*should
* compile out of the box now).
*
* Revision 1.138 2004/10/26 20:15:51 vsc
* More bug fixes for overflow handling
*
* Revision 1.137 2004/10/22 16:53:19 vsc
* bug fixes
*
* Revision 1.136 2004/10/06 16:55:46 vsc
* change configure to support big mem configs
* get rid of extra globals
* fix trouble with multifile preds
*
* Revision 1.135 2004/09/30 21:37:40 vsc
* fixes for thread support
*
* Revision 1.134 2004/09/30 19:51:53 vsc
* fix overflow from within clause/2
*
* Revision 1.133 2004/09/27 20:45:02 vsc
* Mega clauses
* Fixes to sizeof(expand_clauses) which was being overestimated
* Fixes to profiling+indexing
* Fixes to reallocation of memory after restoring
* Make sure all clauses, even for C, end in _Ystop
* Don't reuse space for Streams
* Fix Stream_F on StreaNo+1
*
* Revision 1.132 2004/09/17 19:34:51 vsc
* simplify frozen/2
*
* Revision 1.131 2004/09/08 17:56:45 vsc
* source: a(X) :- true is a fact!
* fix use of value after possible overflow in IPred
*
* Revision 1.130 2004/09/07 16:48:04 vsc
* fix bug in unwinding trail at amiops.h
*
* Revision 1.129 2004/09/07 16:25:22 vsc
* memory management bug fixes
*
* Revision 1.128 2004/09/03 03:11:07 vsc
* memory management fixes
*
* Revision 1.127 2004/08/16 21:02:04 vsc
* more fixes for !
*
* Revision 1.126 2004/07/22 21:32:20 vsc
* debugger fixes
* initial support for JPL
* bad calls to garbage collector and gc
* debugger fixes
*
* Revision 1.125 2004/06/29 19:04:41 vsc
* fix multithreaded version
* include new version of Ricardo's profiler
* new predicat atomic_concat
* allow multithreaded-debugging
* small fixes
*
* Revision 1.124 2004/06/05 03:36:59 vsc
* coroutining is now a part of attvars.
* some more fixes.
*
* Revision 1.123 2004/05/17 21:42:09 vsc
* misc fixes
*
* Revision 1.122 2004/05/13 21:36:45 vsc
* get rid of pesky debugging prints
*
* Revision 1.121 2004/05/13 20:54:57 vsc
* debugger fixes
* make sure we always go back to current module, even during initizlization.
*
* Revision 1.120 2004/04/27 16:21:16 vsc
* stupid bug
*
* Revision 1.119 2004/04/27 15:03:43 vsc
* more fixes for expand_clauses
*
* Revision 1.118 2004/04/14 19:10:23 vsc
* expand_clauses: keep a list of clauses to expand
* fix new trail scheme for multi-assignment variables
*
* Revision 1.117 2004/04/07 22:04:03 vsc
* fix memory leaks
*
* Revision 1.116 2004/03/31 01:03:09 vsc
* support expand group of clauses
*
* Revision 1.115 2004/03/19 11:35:42 vsc
* trim_trail for default machine
* be more aggressive about try-retry-trust chains.
* - handle cases where block starts with a wait
* - don't use _killed instructions, just let the thing rot by itself.
*
* *
*************************************************************************/
* *
* YAP Prolog *
* *
* Yap Prolog was developed at NCCUP - Universidade do Porto *
* *
* Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997 *
* *
**************************************************************************
* *
* File: cdmgr.c *
* comments: Code manager *
* *
* Last rev: $Date: 2008-07-22 23:34:44 $,$Author: vsc $ 8
*************************************************************************/
#ifdef SCCS
static char SccsId[] = "@(#)cdmgr.c 1.1 05/02/98";
#endif