Commit Graph

509 Commits

Author SHA1 Message Date
Vitor Santos Costa
d163cadda1 pass regs when constructing long ints and floats.
fix small gcc complaints.
2013-03-26 15:01:52 -05:00
Vitor Santos Costa
504ad22f92 more on slot management 2013-03-10 16:37:27 +00:00
Vítor Santos Costa
046cb5f8d6 debugging 2013-02-08 10:36:45 -06:00
Vitor Santos Costa
b34be4360b do not reset cintext before cut 2013-02-06 00:16:30 +00:00
Vitor Santos Costa
33da88be5b fix SWI exec issues and try to clean up the code a bit 2013-02-05 14:22:17 +00:00
Vítor Santos Costa
0e89a9c2ff fix init order to have terms when setting up Prolog flags 2013-01-21 09:36:08 +00:00
Vítor Santos Costa
014a0ec5bc CurSlot maintenance 2013-01-19 22:13:43 +00:00
Vitor Santos Costa
85acf5c4ea slots and recover ENV in failure 2013-01-18 14:30:35 +00:00
Vítor Santos Costa
798afc81c4 fix argv[0] discovery. 2013-01-13 17:55:13 +00:00
Vítor Santos Costa
480e9aea69 fix bad ints (obs from Mei). 2013-01-13 11:48:31 +00:00
Vitor Santos Costa
06cf326885 avoi calls to inityaamregs. 2012-12-17 16:27:15 +00:00
Vitor Santos Costa
9107af2e3d improve thread startup 2012-12-13 18:12:50 +00:00
Vitor Santos Costa
eb63cf748c small sequential fixes 2012-12-11 22:15:02 +00:00
Vitor Santos Costa
e41f821d67 improve multi-threading support from C-interface. Still not quite there. 2012-12-11 22:07:10 +00:00
Vitor Santos Costa
b34c8b1b2c try to improve slot allocation. 2012-12-10 12:14:24 +00:00
Vitor Santos Costa
a4acb6a806 try to make sure we always have slots 2012-10-08 18:25:42 +01:00
Vitor Santos Costa
710be1a5e8 add slots after new stack extension. 2012-09-26 22:08:17 +01:00
Vítor Santos Costa
d5bf100b71 make full init even before entering Prolog top-level 2012-09-21 11:49:59 +01:00
VITOR SANTOS COSTA
89030ce97d Fix WriteBuffer and add WriteDynamicBuffer 2012-09-18 23:06:26 +01:00
Vítor Santos Costa
8d779f68ea fix writebuffer interface 2012-09-08 00:12:38 +02:00
Vítor Santos Costa
1fc641b7d1 add module aware versions of pred interface. 2012-07-13 14:57:12 -05:00
Vítor Santos Costa
95a33cd56d remove error message. 2012-05-22 16:20:56 +01:00
Vitor Santos Costa
9e3d16022a fix YAP_AttOfVar
beautify get atts
2012-05-21 17:24:40 +01:00
Vítor Santos Costa
af7510a67b fix handling of repeated calls to YAP_Init. 2012-04-12 23:25:04 +01:00
Vítor Santos Costa
27dc66a5f4 Merge branch 'master' of ssh://yap.git.sourceforge.net/gitroot/yap/yap-6.3 2012-04-11 22:09:15 +01:00
Vítor Santos Costa
c08178a57c fix thread compilation. 2012-04-11 22:08:02 +01:00
Vítor Santos Costa
7085008193 fix compilation without gmp. 2012-04-05 20:50:27 +01:00
Vítor Santos Costa
edfb13c5e9 allow users to check for out of space conditions explicitly. 2012-03-30 09:49:36 +01:00
Vítor Santos Costa
7b78832aa7 avoid strict float checking when building arrays.w 2012-03-22 21:38:22 +00:00
Vítor Santos Costa
f2782cc274 Merge branch 'master' of ssh://yap.git.sourceforge.net/gitroot/yap/yap-6.3 2012-03-14 22:11:35 +00:00
Vítor Santos Costa
cc8521c9d5 fix bad handling of singletons with write_canonical. 2012-03-14 22:10:21 +00:00
Vítor Santos Costa
74d7ad2704 extend interface to copy fast lists of integers or floats. 2012-03-14 11:08:28 +00:00
Vítor Santos Costa
36acb5f897 fix profiling support. 2012-03-09 11:46:34 +00:00
Vítor Santos Costa
1531002f26 avoid unnecessrily using slots in Input/Output calls or just because I need a stream. This can lead to hard to
catch stack bugs.
2012-02-18 11:01:06 +00:00
Vitor Santos Costa
6403b4793a small write fixes. 2012-02-14 09:10:07 +00:00
João Santos
21522ce151 CACHE_REGS 2012-02-07 15:18:43 +00:00
Vítor Santos Costa
e6fb330f58 fix warnings. 2012-02-03 20:55:35 +00:00
Vítor Santos Costa
a2c86643b0 ismall fixes to MPI interface. 2012-02-03 16:31:49 +00:00
Vítor Santos Costa
6eea1fe1ea fixes for export_term and friends. 2012-02-02 23:25:09 +00:00
Vítor Santos Costa
4e6cc28cd3 lam support. 2012-02-02 09:58:05 +00:00
Vítor Santos Costa
8f728962a5 YAP_ExportTerm and YAP_ImportTerm from buffer (first cut).w 2012-02-01 19:26:28 +00:00
Vitor Santos Costa
d3c7800ab4 support PL_skip_list and PL_unify_bool. 2012-01-09 23:29:31 +00:00
Vítor Santos Costa
00b5edd8da allow copying a chunk of floats to a list in a single operation. Also
improve performance of sum out operation on arrays.
2011-12-30 16:04:16 +00:00
Vítor Santos Costa
8c7d0af032 Merge branch 'master' of ssh://yap.git.sourceforge.net/gitroot/yap/yap-6.3 2011-12-22 11:44:48 +00:00
Vítor Santos Costa
1fde83d278 fix overflows 2011-12-22 11:42:26 +00:00
Vítor Santos Costa
18190a4633 fix types for return absmi and friends. 2011-12-13 23:09:05 +00:00
Vítor Santos Costa
7da303450f fix while. 2011-11-30 13:02:20 +00:00
Vítor Santos Costa
0409449a23 expand interface to create list from array of terms. 2011-11-18 16:26:11 +00:00
Vítor Santos Costa
64dded4a53 iunnumbervars may be copying terms from outside the stacks, so don't share
unless we know we share.
2011-11-04 09:28:33 +00:00
Vítor Santos Costa
9f2b0c7e70 extend C-interface to support b-prolog like stuff 2011-11-03 07:52:52 +09:00
Vítor Santos Costa
8785108e66 Yap_unifiable and TagOfTerm 2011-10-27 12:35:40 +02:00
Vítor Santos Costa
384ddd84ad extend interface with IsTermNIl() 2011-10-24 22:46:16 +01:00
Vitor Santos Costa
72afe868ec allow access to argc and argv in the c-interface. 2011-10-13 16:46:39 +01:00
Vítor Santos Costa
d4ea15811e fix yapor bootstrap. 2011-10-13 15:04:16 +01:00
Vitor Santos Costa
29866562fb fix gc calling from C-code. 2011-10-01 13:00:00 -07:00
Vitor Santos Costa
51e635f0c9 more QLY stuff. 2011-08-31 13:59:30 -07:00
U-WIN-U2045GN0RNQ\Vítor Santos Costa
4fe1833ece Merge branch 'master' of /cygdrive/z/vitor/Yap/yap-6.3 2011-07-25 17:09:43 +01:00
U-WIN-U2045GN0RNQ\Vítor Santos Costa
840e287cda mode changes 2011-07-25 17:09:28 +01:00
Vitor Santos Costa
991d85edf0 fixes to interrupt handling in readline. 2011-07-22 22:48:30 +01:00
Vitor Santos Costa
a701f08180 small fixes. 2011-07-22 21:35:18 +01:00
Vitor Santos Costa
a16a7d5b1c fix calling of Write and Read for new SWI style interface. 2011-07-22 15:49:40 +01:00
Vitor Santos Costa
f6be2ed08d support interface to foreign objects that have a backtrack handler. 2011-07-22 04:09:33 -07:00
Vitor Santos Costa
a1d903e3e9 external term support. 2011-07-21 06:32:49 -07:00
ubu32
11a74236dc fix slots: have slots ready at init, even if we don't have a Prolog top-level;
don't get lost after pruning.
2011-07-11 22:12:32 -07:00
ubu32
4a13735cb0 ifix pruning 2011-07-11 21:14:26 -07:00
Vitor Santos Costa
6863a43e76 fix handling of backtrackable C-code in longjmp and other long range cuts. 2011-07-09 07:56:11 -04:00
Joao
77171d4179 fix Yap debug. 2011-06-20 14:49:24 +01:00
Vítor Santos Costa
5614d05a03 Merge branch 'master' of ssh://yap.git.sourceforge.net/gitroot/yap/yap-6.3 2011-06-14 09:23:32 +01:00
Vitor Santos Costa
261e02b43e support for option comments(X) in read_term/1. 2011-06-12 17:23:10 +01:00
Vítor Santos Costa
03fe3285e9 fix warnings. 2011-06-06 10:32:58 +01:00
Ricardo Rocha
dfe0e1854f init_yapor_workers -> Yap_init_yapor_workers 2011-06-01 18:51:12 +01:00
Joao
98e35b16e8 Merge branch 'master' of ssh://yap.git.sourceforge.net/gitroot/yap/yap-6.3 2011-05-25 16:41:39 +01:00
Joao
971ad94311 moved several global variables to misc/GLOBALS 2011-05-25 16:40:36 +01:00
Vítor Santos Costa
14bdc262df export TermToStream 2011-05-25 13:10:39 +01:00
Joao
8170f6d3cb Some global variables(Yap_thread_gl) in C/init.c are now declared in misc/LOCALS 2011-05-23 16:19:47 +01:00
Joao
676dd26c90 change macros in misc/GLOBALS to GLOBAL_. 2011-05-10 10:06:51 +01:00
Ricardo Rocha
f22994edf9 remove macro MY_ThreadHandle and use LOCAL_ThreadHandle instead 2011-05-09 19:55:06 +01:00
Ricardo Rocha
a532b6cff3 struct local_optyap_data is now part of struct worker_local (generated from the file LOCALS) 2011-05-09 19:36:51 +01:00
Joao
65a514349f Remove LOCAL_WPP. 2011-05-05 09:32:04 +01:00
Joao
dc3c54c164 change LOCALS macros. 2011-05-04 10:11:41 +01:00
Joao
3e148c3541 change define SBA to YAPOR_SBA 2011-03-30 15:32:59 +01:00
Joao
810c96416b change define ENV_COPY to YAPOR_COPY 2011-03-30 14:35:10 +01:00
Joao
f890a11377 change macros GLOBAL to Yap 2011-03-29 18:19:18 +01:00
U-WIN-ENP104VVO3U\Vítor Santos Costa
1a7561c609 fix reinit and improve performance for cut predicates. 2011-03-22 11:07:49 +00:00
Vítor Santos Costa
36a0023fbf iimprove SWI compat 2011-03-15 23:49:28 +00:00
Vítor Santos Costa
30d9257fe0 improve SWI call interface code. 2011-03-14 20:54:55 +00:00
Vítor Santos Costa
0d6be2d858 improve string support
fix non-thread compilation.
2011-03-11 23:21:23 +00:00
Vítor Santos Costa
90d93fdbdd cache abstra machine register in threaded mode. 2011-03-07 16:02:55 +00:00
Vítor Santos Costa
da1df3d851 more cleanups. 2011-03-02 23:19:39 +00:00
Vítor Santos Costa
0e447436b3 fix missing lock in OpInfo 2011-03-01 10:32:25 +00:00
ubu32
3c261305db interface to rationals. 2011-02-27 02:13:25 -08:00
ubu32
82f3af4f23 lookup global modules. 2011-02-15 07:50:55 -08:00
ubu32
185bb1b3f0 cleanups. 2011-02-15 06:43:28 -08:00
ubu32
57f5ef8cfc more bug fixes:
- make readline use packages, not old YAP code
- fix ! over backtrack cps
- fix write list
2011-02-15 05:54:19 -08:00
ubu32
140318ff16 read works now. 2011-02-14 23:39:27 -08:00
ubu32
4dbdaaa772 eplace format 2011-02-14 14:13:45 -08:00
ubu32
f6befe5796 alias stuff. 2011-02-14 06:59:15 -08:00
Vitor Santos Costa
98684ba4bb remove YAP sockets interface. 2011-02-12 23:38:24 +00:00
Vítor Santos Costa
45032cc61e export current predicate for SWI built-ins. 2011-02-11 19:01:18 +00:00
Vítor Santos Costa
10f84228bc fix handling of cut_c in SWI packages. 2011-02-11 17:49:19 +00:00
Vitor Santos Costa
6617a63b7e attempt to improve error handliong in SWI emulation. 2011-02-11 14:17:27 +00:00
Vítor Santos Costa
b475be5692 more SWI compatibility changes. 2011-02-11 01:22:07 +00:00
Vítor Santos Costa
02c791fc3d iminor PLStream fixes. 2011-02-10 21:45:43 +00:00
Vitor Santos Costa
3fe9b923cb more fixes to SWI emulation
integrate in main binary
2011-02-10 21:14:38 +00:00
Vitor Santos Costa
232a740d43 upgrade to latest SWI 2011-02-10 00:01:19 +00:00
Vitor Santos Costa
c1721df472 Merge branch 'master' of /yap-6.3
Conflicts:
	C/c_interface.c
2011-02-03 11:33:50 +00:00
Vitor Santos Costa
48b891a5b2 Merge branch 'master' of ../yap-6.2 2011-02-03 11:27:01 +00:00
Vitor Santos Costa
6cccadb8cb export signal:wq 2011-02-03 11:26:46 +00:00
U-WIN-U2045GN0RNQ\Vítor Santos Costa
a4a1feeacc improve SWI emulation in WIN32. 2011-02-03 11:23:12 +00:00
Vítor Santos Costa
cbf6caddbd fix support for comparing weird terms. 2011-02-02 19:37:11 +00:00
Vitor Santos Costa
313273cce0 fix debugging messages. 2011-01-21 08:14:30 -06:00
Vitor Santos Costa
a9587b5e3d restore and agc of recorded terms
overflows in recorded.
2011-01-02 21:16:29 -06:00
Vitor Santos Costa
5feb6a9dc5 SWI emulation: it is unsafe to keep arguments in regs. 2010-12-30 22:42:30 -06:00
Vítor Santos Costa
eb82f5fa2a more fixes to recursive call execution and backtracking from within C-mode.
semweb java example now working.
2010-12-14 09:30:40 +00:00
Vítor Santos Costa
21bbffceda make sure we rebuild saved state stuff even if we do not actually enter top-level.
fix bug with some definitions being reset at load time.
2010-12-07 15:06:53 +00:00
Vítor Santos Costa
8db05c883b make sure we separate betwen async exceptions and synchroneous. 2010-12-04 19:05:13 +00:00
Abramo Bagnara
94194209ec Extended C predicates to have 10 arguments. 2010-11-30 12:27:30 +00:00
vsc
312d82816e fix memory allocation (MMAP) for shared LOCAL and GLOBAL in ENV_COPY 2010-10-15 02:06:37 +01:00
Vitor Santos Costa
99c5a17b12 Implement Halt Hook (request from Bernd). 2010-09-24 14:00:53 +01:00
Vitor Santos Costa
8b9cf7dc2a YAP_SetYAP_Flag 2010-08-30 22:25:56 -05:00
Vitor Santos Costa
3e6ce40eb1 indenting cganges 2010-08-17 13:02:28 +01:00
Vítor Santos Costa
f1977f5dab allow saving and restoring current arguments to/from slots. 2010-08-04 17:36:20 +01:00
Vítor Santos Costa
388f4fb782 expand C-interface to allow access to common term operations (request from Ingo Molnar). 2010-08-02 19:48:17 +01:00
Vitor Santos Costa
5cd55b0e0e EX changes 2010-07-27 23:29:55 +01:00
Vítor Santos Costa
2ce4427395 fix bad error handling
unlock new stream
2010-07-26 12:56:17 +01:00
Vitor Santos Costa
f3b9811ef7 more packages to implement better thread interface. 2010-07-23 15:54:13 +01:00
Vítor Santos Costa
3dd68aa8bd fix EX: it cannot be a term and it should be a placeholder for BallTerm,
so the twp can never be alive at the same time.
2010-07-21 12:49:06 +01:00
Vítor Santos Costa
d100e697a3 fix debugging message 2010-06-23 11:45:44 +01:00
Vítor Santos Costa
0718f3e08d USE_THREADS->THREADS 2010-06-08 10:40:55 +01:00
Vítor Santos Costa
05a20e26f3 make sure we return correct code in YAP_Boot 2010-06-06 23:03:59 +01:00
Vítor Santos Costa
247d59f0ef - slots should be considered as always live for gc.
- make sure slots do not die when they should be live, and vice-versa.
- improve a little on foreign_frame
2010-06-01 00:40:58 +01:00
Vítor Santos Costa
faeef37a03 long -> Int 2010-05-10 10:21:56 +01:00
Vítor Santos Costa
aadbb136f5 make sure we always look for slots if called from user code.
oops beautifications.
2010-05-04 14:53:34 +01:00
Vítor Santos Costa II
661b9c3b7d protect base choice-point from nasty cutting. 2010-04-13 00:31:25 +01:00
Vítor Santos Costa II
8efec0b26e put ThOr back in shape. 2010-04-09 11:56:07 +01:00
Vitor Santos Costa
d5e1ff38f4 new interface to access globals. They are not in a file called GLOBALS, from which
we generate several files automatically.
2010-03-21 22:12:42 +00:00
Vitor Santos Costa
99460df195 use IsAttVar 2010-03-08 09:19:35 +00:00
Vitor Santos Costa
08257b2817 use YAPSHAREDIR instead of YAP_PL_SRCDIR to book from Prolog files. 2010-03-05 09:51:52 +00:00
Vítor Manuel de Morais Santos Costa
f56b9ab426 each OPTYap worker needs its own auxiliary stack! 2010-01-29 12:28:00 +00:00
Vítor Manuel de Morais Santos Costa
98c0964c80 iget rid of annoying message. 2010-01-26 16:35:15 +00:00
Vitor Santos Costa
b112574dc5 booting should not be console controlled. 2010-01-26 12:20:46 +00:00
Vítor Manuel de Morais Santos Costa
5ef31fbfd2 experiment in or-parallel threads. 2010-01-14 15:58:19 +00:00
Vítor Manuel de Morais Santos Costa
d4b14648b0 fix confusion with SWI handling of C-backtrackable predicates. 2010-01-12 14:58:48 +00:00
Vítor Manuel de Morais Santos Costa
324833f84a fix excessive trimming in C-interface for backtrackable predicates (obs from José Vieira). 2010-01-11 15:44:43 +00:00
Vitor Santos Costa
5fc26e1b45 improve emulataion of backtrackable SWI c-code (request from NF). 2010-01-06 11:25:15 -02:00
Vitor Santos Costa
6d1eec34db make atom locking compatible with SWI-Prolog. 2009-12-21 10:12:47 -02:00
Vítor Manuel de Morais Santos Costa
783c5ed6bc fix excessive untrailing in C-code interface (obs from Nuno Fonseca). 2009-12-04 22:58:46 +00:00
Vítor Manuel de Morais Santos Costa
1176f71f3a support for making sure exceptions are reset when they should be reset (obs from Nuno Fonseca, #159) 2009-12-03 17:48:25 +00:00
Vítor Manuel de Morais Santos Costa
b16623d026 fix realloc and friends (obs from Nuno Fonseca). 2009-11-27 13:31:03 +00:00
Vítor Manuel de Morais Santos Costa
98f79484ae change throw mechanism to fit better with cleanup mechanism:
- balls are now stored off line and recovered by Prolog code when everything
is safe.
- if a ball exists, throw uses the *existing* one (be careful not to have one
laying around).
- Jump routine cleans up every cp except ones for setup_call handling, backtracking simply calls setup handlers.
2009-11-27 11:21:24 +00:00
Ricardo Rocha
8a557012dd add primitive YAP_IsLongIntTerm to the C Language interface. 2009-11-23 18:46:57 +00:00
nf@khaixa.(none)
1bfbe535da Extended support for SWI-Prolog C interface. 2009-11-20 08:42:22 +00:00
Vitor Santos Costa
d9016fa650 init_local should be called Yap_init_local to avoid clashesh. 2009-11-19 08:24:38 +00:00
Vitor Santos Costa
4c8eb33e06 we had args already (no need for argv0)
improve error handling in YAP_ReadBuffer
2009-10-26 10:42:19 +00:00
Vitor Santos Costa
11cefa668a handle overflow error in YAP_MkPairTerm ( obs from Fabrizio Riguzzi). 2009-07-13 21:55:57 -05:00
Costa Vitor
f5a72828a0 fix SPARC register allocation bugs (not verified) #130 2009-06-15 10:29:31 -05:00
Costa Vitor
8e55611d90 fix bad test for space overflow 2009-06-01 19:28:30 -05:00
Costa Vitor
00c9194014 fix reference to Yap_regp 2009-06-01 15:46:37 -05:00
Vitor Santos Costa
0bd3c910dd step towards better emulation of SWI in backtrackable predicates. 2009-06-01 15:32:36 -05:00
Vitor Santos Costa
23301fb19a avoid warning on malloc 2009-05-22 14:01:22 -05:00
Vitor Santos Costa
51e669dcfb support for passing priority as argument to write. (Ulrich's #45).
fixes on making write handle infinite loops
2009-05-22 13:24:27 -05:00
Vitor Santos Costa
13e2febd30 stack overflow instructions could be wiped out by Restore. 2009-05-12 17:01:53 -05:00
Vitor Santos Costa
39ccbd345d make options -T -L -G work as SWI: they impose a maximum size limit 2009-05-10 13:36:55 -04:00
Vitor Santos Costa
58838b7838 fix attributed variable space allocation 2009-05-01 12:11:52 -05:00
Vitor Santos Costa
450123d5c6 fix FileNoFromStream 2009-04-25 10:28:34 -05:00
Vitor Santos Costa
1ea4a27dd1 YAP_FileNoFromStream for Nf 2009-04-22 21:42:15 -05:00
Vitor Santos Costa
7ed3b456ac add Yap_FileDescriptorFromStream at request from NF. 2009-04-22 16:41:41 -05:00
Vitor Santos Costa
b92b026c90 more patches to support Anderson's JIT. 2009-04-08 00:32:36 +01:00
Vitor Santos Costa
2aa5aa3a26 add -A flag to ask for more attributed stack. 2009-03-27 15:15:54 +00:00
Vitor Santos Costa
8a0b7312e4 get rid of thread warnings.. 2009-03-26 00:39:44 +00:00
Vitor Santos Costa
5ef03f2d0f fix BLOB operations and get rid of warning 2009-03-14 10:06:55 +00:00
Vitor Santos Costa
1161f80426 fix calling SWI C-Predicates. 2009-03-13 19:36:38 +00:00
Vitor Santos Costa
91657556ee more UDI stuff. 2009-02-25 00:13:45 +00:00
Vitor Santos Costa
fe85e92992 fixes for x86_64 compilation (with David Vaz). 2009-02-10 14:24:20 +00:00
Vitor Santos Costa
33b4a02fae extend C-interface to check if a variable is AttVar and to fetch all the
attributes.
2009-02-09 22:45:50 +00:00
Vítor Santos Costa
a8ac9bfb43 generate known atoms and functors automatically 2008-12-23 01:53:52 +00:00
Vítor Santos Costa
8efcdf7eaa add support for creating a list of codes or atoms incrementally. 2008-12-22 13:49:44 +00:00
Vítor Santos Costa
43e70f2003 more changes to support SWI Input/Output. Now it compiles, which does
not mean it would work!
2008-12-22 12:03:14 +00:00
Vítor Santos Costa
a2744ed186 further changes to better support SWI interface. 2008-12-17 14:47:05 +00:00
Vítor Santos Costa
2b0c27deb6 Remove attempt to emulate SWI I/O
add YAP_getcwd and PL_cwd to interface
2008-12-13 16:07:55 +00:00
Vítor Santos Costa
13dd600f88 add type to BIG NUMs, so that we can easily know what it is all about. 2008-11-28 15:54:46 +00:00
Vitor Santos Costa
de043e3ee9 generate an Error on memory overflow. 2008-10-29 18:19:15 +00:00
Vitor Santos Costa
0dcf34b7bc mainbranch fixes to:
- fix quoted characters output
- fix line position in read_term and friends
- make messages look a bit better
- CLP(BN) EM improvements.
2008-10-23 22:17:45 +01:00
Vítor Santos Costa
fdf762e326 push changes to make tabling work: don't ignore tabling and yapor fields
in optype.
2008-09-05 05:22:19 +01:00
Vítor Santos Costa
17ba194c1e Include new instruction execute_cpred to perform tail optimisation for
builtins. Required changes:
- be careful about creeping in deallocate: it may be followed by
something that is not a cut nor a proceed.
- include new instruction in absmi.c: it is a merge of execute and
call_cpred.
- change compiler to generate execute even for C builtins.
- be careful with dexecute: it may not be done if execute_op is a C
builtin.
- if we are in execute_cpred, the garbage collector cannot trust P:
instead it must look at CP to find out the size of the current
environment. The macro gc_P receives that information.
- We don't need to change CP if we do a meta-call from within
execute_cpred (and we in fact cannot). Check places where we do
meta-calls: exec, clause in cdmgr, and lu_recorded.
2008-08-28 04:43:00 +01:00
Vítor Santos Costa
f499115573 redo lost updates 2008-08-21 13:38:25 +01:00
vsc
2581c3a3bf more threadin fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2300 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-07 20:51:23 +00:00
vsc
a3983fa820 swi compatibility support
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2294 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-01 21:44:25 +00:00
vsc
e1866e2917 improve C-interface and SWI comptaibility a bit.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2292 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-07-24 16:02:04 +00:00
vsc
d8e5f2c895 fixes by Bart and Tom: mostly libraries but nasty one in indexing
compilation.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2286 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-07-11 17:02:10 +00:00
vsc
39c4a2e67f fix c_interface not to crash when people try to recover slots that are
not there.
fix try_logical and friends to handle case where predicate has arity 0.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2278 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-17 13:37:51 +00:00
vsc
175a0ba6dd make sure we do trim_trail whenever we mess with B!
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2258 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-04 14:47:18 +00:00
vsc
08422c967a more fixes to C-interface
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2257 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-04 13:58:42 +00:00
vsc
f1d5e84918 fix bug in current_predicate/2
fix bug in c_interface.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2221 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-28 23:02:32 +00:00
ricroc
ddcd80d2a9 *** empty log message ***
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2215 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-11 16:30:28 +00:00
vsc
32df516386 fix duplicate dependency frame at entry
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2209 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-04 13:35:41 +00:00
vsc
042e5326d3 restore was restoring twice
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2205 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-04 09:10:02 +00:00
vsc
78d7105c16 protect signal handling with locks for threaded version.
fix close/1 entry in manual (obs from Nicos).
fix -f option in chr Makefile.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2201 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 13:26:38 +00:00
vsc
720089e712 threaded version should ignore saved states (for now).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2191 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-02 21:44:07 +00:00
vsc
929ec2412f handle out of memory error at thread creation (obs from Paulo Moura).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2190 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-02 17:37:07 +00:00
vsc
a8fe6a668e more saved state fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2185 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-01 15:31:43 +00:00
vsc
ba2023436a fix bug in all_calls
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2157 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-22 23:35:00 +00:00
vsc
3101d1ff61 -q flag
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2150 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-13 18:41:52 +00:00
vsc
af0fb4f4d9 SWI-portability changes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2088 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-02-12 17:03:59 +00:00
vsc
456b4eb6c1 fix BOM trouble
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2065 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-01-28 10:42:20 +00:00
vsc
64d62f1e3e improve JT
fix graph compatibility with SICStus
re-export declaration.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2037 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-12-05 12:17:25 +00:00
vsc
d908c8633f implement sophisticated operations with matrices.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2022 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-16 14:58:41 +00:00
vsc
6c3aee8c63 fix YAP_LeaveGoal (again)
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1972 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-01 20:50:31 +00:00
vsc
d3bbba177f small fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1970 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-29 22:48:54 +00:00
vsc
9e9c260f7e new version of viterbi implementation
fix all:atvars reporting bad info
fix bad S info in x86_64


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1968 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-28 00:54:09 +00:00
vsc
19a5f81dec get rid of debug statement.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1956 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-16 18:57:17 +00:00
vsc
3e4e75dbdf unset var
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1955 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-15 23:48:46 +00:00
vsc
642b498728 fix garbage collector and fix LeaveGoal
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1945 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-05 18:24:30 +00:00
vsc
4c08960096 Improve SWI interface emulation.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1920 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-09-04 10:34:55 +00:00
vsc
9c232ddd0b interface speedups
bad error message in X is foo>>2.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1894 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-06-04 12:28:02 +00:00
vsc
498c7a6d42 fix min list
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1882 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-05-15 11:33:51 +00:00
vsc
039067068e improve external interface
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1881 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-05-14 16:44:12 +00:00
vsc
dc3b7079f4 fix deadlock when trying to create a module with the same name as a
predicate (for now, just don't lock modules). obs Paulo Moura.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1869 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-04-18 23:01:16 +00:00
vsc
0f5ccae3b7 fix gmpless blob handling
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1860 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-03-30 16:47:22 +00:00
vsc
0b7083adb2 make sure that YAP_Restart does not restart a failed goal.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1855 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-03-22 11:12:22 +00:00
vsc
47765f7739 WIN32 support
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1790 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-01-28 14:26:37 +00:00
vsc
0cef3c5389 fix restore (Trevor)
make indexing a bit faster on IDB


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1771 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-01-08 08:27:19 +00:00
vsc
90c1641841 several debugger and CLP(BN) improvements.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1732 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-12-13 16:10:26 +00:00
vsc
0705ca0640 support for UNICODE, and other bug fixes.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1725 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-11-27 17:42:03 +00:00
vsc
98de08022b WIN32 fixes
compiler bug fixes
extend interface


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1632 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-16 18:37:31 +00:00
tiagosoares
6f409cb962 CUT_C and MYDDAS support for 64 bits architectures
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1564 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-03-09 15:52:06 +00:00
tiagosoares
fbcfdb49a9 MYDDAS: Myddas Top Level for MySQL and Datalog
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1537 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-02-08 17:29:55 +00:00
vsc
745fed2679 avoid sideffects from MkBigInt
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1524 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-18 15:34:54 +00:00
vsc
3715f1b1d7 fix bug with very large integers
fix bug where indexing code was looking at code after a cut.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1513 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-16 02:57:52 +00:00
vsc
72214cb08c fix interface and docs
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1492 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-02 03:35:45 +00:00
vsc
2d4d1f1ea8 cannot release space from external GMPs.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1491 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-02 02:25:45 +00:00
vsc
e10213929a support new interface between YAP and GMP, so that we don't rely on our own
allocation routines.
Several big fixes.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1490 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-01-02 02:16:19 +00:00
tiagosoares
83b5a160f8 support for executing c code when a cut occurs
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1463 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-11-18 18:52:41 +00:00
vsc
bd9ed1e1e6 fix bignum conversion
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1438 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-11-03 18:49:26 +00:00
vsc
1fa46c6051 sveral updates
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1415 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-10-28 17:38:50 +00:00
vsc
7ed595242a fix tabling
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1411 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-10-21 16:07:07 +00:00
vsc
e6a15addf5 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.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1402 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-10-18 17:04:43 +00:00
vsc
3f3edfe2f7 fix interface
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1399 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-10-15 02:42:57 +00:00
vsc
996272db22 YPP would leave exceptions on the system, disabling Yap-4.5.7
message.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1364 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-08-17 13:35:52 +00:00
ricroc
34b2a0df4f TABLING NEW: support to limit the table space size
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1355 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-08-04 15:45:56 +00:00
rslopes
3ec000378a fix for older compilers that do not support declaration of vars
in the middle of the function code.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1347 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-07-19 17:12:18 +00:00
ricroc
1e37891c2d remove abort_yapor function
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1306 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-05-31 00:23:47 +00:00
vsc
b3d74b109a AllocMemoryFromYap should now handle large requests the right way.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1272 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-04-10 04:35:19 +00:00
vsc
056ccbc819 bug fixes, I hope!
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1270 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-04-10 04:01:15 +00:00
vsc
b089ae2575 fix GPL
fix idb: stuff in coroutines.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1267 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-03-15 18:29:25 +00:00
vsc
59561e2688 fix excessive pruning in meta-calls
fix Term->int breakage in compiler
improve JPL (at least it does something now for amd64).


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1264 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-03-13 06:26:13 +00:00
ricroc
4c972ca825 bug fixes for YapTab support
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1259 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-03-04 20:30:14 +00:00
vsc
f11ab09a60 try to make initialisation process more robust
try to make name more robust (in case Lookup new atom fails)


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1254 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-03-02 18:35:49 +00:00
vsc
14f9382666 fix pruning bug
make DL_MALLOC less enthusiastic about walking through buckets.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1253 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-03-01 22:25:09 +00:00
vsc
49c8efc0df library_directory may not be deterministic (usually it isn't).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1240 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-02-08 18:05:21 +00:00