Commit Graph

476 Commits

Author SHA1 Message Date
Vitor Santos Costa
f22f337f67 32 bit support:
use uint64_t for predflags
define a type for arity
2015-01-06 17:47:58 +00:00
Vítor Santos Costa
bb8ea9a27d fix current and system predicate 2014-11-25 12:03:48 +00:00
Vítor Santos Costa
d40b9d1426 restore callable. 2014-10-20 09:20:56 +01:00
Vítor Santos Costa
0cd0ece207 make error handling for callable more ISO like. 2014-10-19 12:48:14 +01:00
Vítor Santos Costa
ad82a2619d compute mian functor correctly a(X), [Y] <-- b(X,Y). 2014-10-07 21:04:54 +01:00
Vítor Santos Costa
a54af395cf multifiles are discontiguus by def. 2014-10-07 01:37:42 +01:00
Vítor Santos Costa
17617e8d20 allow setting file ownership, and make sure preds created by aux
programs have an owner file.
2014-10-02 14:21:43 +01:00
Vítor Santos Costa
9254103f45 $pred_owner: file where source was. 2014-09-22 18:09:23 +01:00
Vítor Santos Costa
91946626b0 causes do not have cps for a while 2014-09-16 03:58:35 -05:00
Vítor Santos Costa
99713d81a6 replace locks by critical sections in interrupt handling 2014-09-02 14:19:23 -05:00
Vítor Santos Costa
f37806d7cc improve listing, make it more generous and SWi-like. 2014-07-16 11:55:16 -05:00
Vítor Santos Costa
a76b6d23dc Fix: eclipse >u. into >y_u. 2014-05-30 01:06:09 +01:00
Andreas Becker
dc37d76e8b Merge branch 'github.com/master'
Conflicts:
	Makefile.in
2014-05-29 12:19:45 +02:00
Andreas Becker
d5358ab932 Fix: Removed debugging message. 2014-05-29 11:34:26 +02:00
Andreas Becker
72b9ec59b7 Fix: Win32 defines Bind, so change Bind to YapBind. 2014-05-29 11:32:28 +02:00
Vítor Santos Costa
4172f4efd5 use const wherever possible 2014-05-25 20:46:04 +01:00
Vitor Santos Costa
4867563b09 fix multifile handling. 2014-04-24 14:24:27 +01:00
Vitor Santos Costa
05ac1dc920 small fixes:
- fix consult as reconsult
- declaring P twice as thread_local confused yap
- missing UNLOCK.
2014-04-24 12:54:08 +01:00
Vítor Santos Costa
1db83cc30d make consult reconsult the original file, so that
[x]. [x].
is more like
[x]. [-x].
2014-04-24 11:40:35 +01:00
Vítor Santos Costa
d8f4a77f47 fix style_check to be called at parse-time and not cause eexcution overheads. 2014-04-24 08:26:31 +01:00
Vitor Santos Costa
6591b5429c Merge branch 'master' of git.dcc.fc.up.pt:yap-6.3 2014-04-23 22:42:03 +01:00
Vitor Santos Costa
aba5f3d88b handle locking more carefully (especially protect gc and stack shifting). 2014-04-23 22:41:12 +01:00
Vítor Santos Costa
f1951777b7 fix checker to use read for singleton variables, instead of always computing
them.
2014-04-23 21:39:32 +01:00
Vitor Santos Costa
f39ed68fe8 check for mistypes 2014-04-06 17:06:19 +01:00
Vítor Santos Costa
6bde2d2cd7 avoid unions called u: they confuse eclipse. 2014-02-18 09:44:01 +00:00
Vitor Santos Costa
043c97157f fix source file for predicates 2014-02-09 11:00:01 +00:00
Vitor Santos Costa
6b2e1973ab Windows fixes, mainly H -> HB 2014-01-19 21:15:05 +00:00
Vítor Santos Costa
ba2c0ca2a0 support no trace predicates 2013-12-11 01:05:51 +00:00
Vítor Santos Costa
29c0d55ad4 nth_clause cleanup with support for mega and exo clauses 2013-12-09 14:16:30 +00:00
Vítor Santos Costa
3edb01f5f7 more reflection updates 2013-11-26 10:40:00 +01:00
Vítor Santos Costa
d0c7ef121b give source property based on dynamic declarations 2013-11-25 19:19:44 +01:00
Vítor Santos Costa
fae3da8659 fix high arity and nth clause 2013-11-25 18:31:33 +01:00
Vítor Santos Costa
917d5ad75b line numbers for clauses and clause properties 2013-11-05 17:59:19 +00:00
Vítor Santos Costa
b3a4666fc2 useful debugging code 2013-11-04 00:04:09 +00:00
Vítor Santos Costa
577b99367d don't make mega-clauses always source 2013-09-28 18:20:04 +01:00
Vítor Santos Costa
6033eba372 missing unlock. 2013-09-21 23:19:21 +01:00
Vítor Santos Costa
b6b44c655f unnecessary lock-pred 2013-06-07 09:25:40 -05:00
Vitor Santos Costa
743c9c69fb get rid of PROTO 2013-04-25 17:15:04 -05:00
Vitor Santos Costa
90abff4f2f Exo compilation, the range example. 2013-04-16 20:04:53 -05:00
Vitor Santos Costa
d163cadda1 pass regs when constructing long ints and floats.
fix small gcc complaints.
2013-03-26 15:01:52 -05:00
Vítor Santos Costa
fdd05abd38 fix save_cp 2013-02-15 10:30:53 -06:00
Vítor Santos Costa
046cb5f8d6 debugging 2013-02-08 10:36:45 -06:00
Vítor Santos Costa
3c021a41cf statistics info 2013-01-23 09:58:02 +00:00
Vítor Santos Costa
48ea1f5ec5 exo clause support 2013-01-14 09:48:05 +00:00
Vitor Santos Costa
f83379648c fix use of exo preds. 2013-01-11 16:45:14 +00:00
Vitor Santos Costa
2e6360738c itry to use size_t
fix overflow handling bugs.
2012-12-14 19:35:26 +00:00
Vitor Santos Costa
556937195d avoid meta-call in system; improve goal/pred expansion 2012-12-07 08:08:32 +00:00
Vítor Santos Costa
2607e59a16 add stash_predicate and fix hide_predicate. 2012-11-25 23:36:43 +00:00
Vítor Santos Costa
f74164c642 correct support for goal expansion (bug report from Paulo Moura) 2012-11-07 13:49:54 +00:00
Vítor Santos Costa
3b44ed0660 fix warning 2012-11-02 22:35:51 +00:00
Vitor Santos Costa
88f2dc7730 change the way predicates are hidden 2012-10-19 18:10:48 +01:00
Vitor Santos Costa
c64d22311d call UDI at abolish. 2012-06-21 16:47:19 +01:00
Vítor Santos Costa
c3eb3db4ed call gc if we set dead mega clauses. 2012-04-23 23:28:41 +01:00
Vítor Santos Costa
c08178a57c fix thread compilation. 2012-04-11 22:08:02 +01:00
Vítor Santos Costa
36acb5f897 fix profiling support. 2012-03-09 11:46:34 +00:00
Ricardo Rocha
3218e922ce Merge branch 'master' of git.dcc.fc.up.pt:yap-6.3 2012-01-03 16:28:36 +00:00
Vítor Santos Costa
5d3d20f723 ifix warning. 2011-12-30 16:02:59 +00:00
Ricardo Rocha
c594d321ef Miguel's support for multi-threaded tabling 2011-12-22 16:50:20 +00:00
Ricardo Rocha
d063989dff add tabled pred flag to undefined built-in 2011-11-09 10:24:39 +00:00
Vitor Santos Costa
045df7d7d6 MultiFiles should initialize as FAIL. 2011-09-07 23:35:11 +02:00
Vitor Santos Costa
bf54802c49 go back to model where multifile cannot be in module 0. 2011-09-07 22:04:42 +02:00
Vitor Santos Costa
db0a7771ba fix multi-file preds defined in Prolog mode to be actuall defined in that mode. 2011-09-07 08:02:54 +02:00
Vitor Santos Costa
b331c4bed0 ClSize should be the block size in bytes, and not the amount of code. Check that for megaclauses. 2011-08-31 21:13:29 -07:00
Vitor Santos Costa
6df5d0a214 don't remove source annotations. 2011-08-25 03:19:27 +01:00
Vitor Santos Costa
7c0ba3b867 qly stuff. 2011-08-24 00:11:54 -03:00
Vítor Santos Costa
e74a25d366 handle slowdown when retracting clauses. 2011-06-24 21:08:22 +01:00
Ricardo Rocha
7c6b4bf489 removing macro SEQUENTIAL_IS_DEFAULT 2011-06-21 15:43:50 +01:00
Joao
971ad94311 moved several global variables to misc/GLOBALS 2011-05-25 16:40:36 +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
d9cee607e9 Merge branch 'master' of ssh://yap.git.sourceforge.net/gitroot/yap/yap-6.3
Conflicts:
	C/cdmgr.c
2011-05-04 11:10:20 +01:00
Joao
dc3c54c164 change LOCALS macros. 2011-05-04 10:11:41 +01:00
Vitor Santos Costa
f0a617a01f allow assert to be independent of file. 2011-05-02 23:29:48 +01:00
Vítor Santos Costa
de0f8a8236 dbload 2011-04-30 01:16:40 +01:00
Vítor Santos Costa
c940245182 make consult_level a local variable
assert() within consult should act as a normal assert.
2011-04-22 13:01:10 +01:00
Vítor Santos Costa
8fb8aec9bf MULTIPLE_STACKS - or-parallelism/threads/tabling
YAPOR_THREADS - threads with or-parallelism
make tabling require reference counting for dynamic predicates.
2011-04-14 18:51:11 +01:00
Joao
3e148c3541 change define SBA to YAPOR_SBA 2011-03-30 15:32:59 +01:00
Vítor Santos Costa
0d8aed7971 new implementation of corourining... 2011-03-18 19:34:58 +00:00
Vítor Santos Costa
2a76f86785 don't lock ThreadLocal predicates. 2011-03-15 09:08:09 +00:00
ubu32
e98ba46ccb make new code work in 32 bit Linux. 2011-03-07 08:34:20 -08:00
Vítor Santos Costa
90d93fdbdd cache abstra machine register in threaded mode. 2011-03-07 16:02:55 +00:00
Vitor Santos Costa
9bdc7ca96e get rid of references to freed code. 2011-02-04 01:23:01 +00:00
vsc
58b838b8e1 fix bad overflow handling 2010-12-31 05:37:25 +00:00
Vítor Santos Costa
5a2d908489 fix restore of instructions that manipulate bigints or db terms. 2010-12-16 20:39:53 +00:00
Vítor Santos Costa
1369057cc4 fix style checker to be more self-contained. 2010-12-13 19:13:33 +00:00
Vítor Santos Costa
378035a4b0 fix bad marking of dbterms (obs from Ines Dutra). 2010-12-12 16:45:39 +00:00
Vitor Santos Costa
e0aa6ae30a improve low level profiler interface. Still doesn't work too well. 2010-10-26 22:01:29 +01:00
Vitor Santos Costa
8d5aa09e05 fix threaded error handling. 2010-07-30 00:57:46 +01:00
Vítor Santos Costa
c017bccd1a more locking fixes 2010-07-28 17:12:17 +01:00
Vitor Santos Costa
7b9ab9252c get rid of debugging info. 2010-07-28 11:30:28 +01:00
Vitor Santos Costa
ccb7991a56 should not use PP for thread private
more lock tracing aids.
2010-07-28 11:26:20 +01:00
Vítor Santos Costa
e031026a62 instrument PE locking
fix missing unlock in index_pred (if predicate had been indexed while we were
waiting).
2010-07-25 11:22:16 +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
11641c5f94 64 bit cleanups. 2010-05-06 15:00:44 +01:00
Vitor Santos Costa
3e8dc5cd19 try to handle overflows in stack dumpers. 2010-04-29 10:29:06 +01:00
Ricardo Rocha
ddb1cd8604 adding two new modes to the yap_flag/2 and tabling_mode/2 built-in
predicates: 'local_trie' mode and 'global_trie' mode.
2010-04-16 02:08:06 +01:00
Ricardo Rocha
e122f2ca8d Global trie support: atomic terms (vars, integers and atoms) are now stored
in the local tries (and not in the global trie). This required major changes
to the trie instructions in order to unify the use of the auxiliary stack
organization for the terms in the local tries and in the global trie.
2010-04-15 01:09:59 +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
e440953256 use IsAttVar 2010-03-08 09:19:57 +00:00
Vitor Santos Costa
8b18242138 fix missing ; (obs from Paulo Moura). 2010-03-01 00:06:45 +00:00
Vitor Santos Costa
16a9c8a807 SWI-compatible source_file/1 and 2 2010-02-28 22:24:51 +00:00
Vítor Manuel de Morais Santos Costa
4d341f2aab fix bad call to gc (obs from Jose Santos). 2010-01-29 15:21:00 +00:00
Vítor Manuel de Morais Santos Costa
89e38cbcc0 or_last is different under yapor. 2010-01-15 16:15:36 +00:00
Vitor Santos Costa
c6406b822b prolog: multifiles are not really system predicates (they can be redefined). 2009-11-23 10:10:47 +00:00
Vítor Manuel de Morais Santos Costa
71de4ed52a Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6 2009-11-18 13:13:51 +00:00
Vítor Manuel de Morais Santos Costa
c108ac508d check for callable before looking at predicate terms... 2009-11-18 13:13:16 +00:00
Vitor Santos Costa
c51c17aa52 make sure to get valid terms in meta_call, not references. 2009-11-17 00:23:34 +00:00
Vitor Santos Costa
a628079e00 make sure we walk every clause when doing restore mega_clause. 2009-11-02 12:46:39 +00:00
Vitor Santos Costa
0ea348c26d extend SWI interface with PL_toplevel and to handle C++ code.
prolog/0 built-in
fixes to parms.h changes.
2009-10-23 16:50:43 +01:00
Vitor Santos Costa
0179998d60 change Heap.h to YapHeap.h
rename $live to prolog/0 (for SWI compatibility).
2009-10-23 14:22:17 +01:00
Costa Vitor
32122f4171 make sure we have enough room when splitting mega clause. 2009-09-12 16:43:44 -05:00
Costa Vitor
f877e78785 make YAP compile with --enable-or-parallelism 2009-08-19 21:53:49 -05:00
Costa Vitor
40ea33c150 Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6 2009-08-12 10:01:34 -05:00
Costa Vitor
dccf3cf8a2 assert logupd should set the clause in use (obs by Jose Santos). 2009-08-12 10:00:38 -05:00
Ricardo Rocha
fc31e7066e improve the support for deterministic tabling (still experimental,
problems mainly with the garbage collector)
2009-08-07 17:29:53 +01:00
Ricardo Rocha
5e4d7078ab support for trie compact lists (version 2): this new version uses
different marks to distinguish the lists ending with the empty list
from the lists ending with a non-empty list term.
2009-07-05 05:14:08 +01:00
Costa Vitor
924cf77fed fix another loop in spy_pred. 2009-06-23 23:24:16 -05:00
Costa Vitor
058b389566 asserta dynamic predicates should not kill preexisting code. 2009-06-23 06:51:28 -05:00
Costa Vitor
d47560342c more fixes to call_counter: try to keep on counting system builtins. 2009-06-22 12:40:55 -05:00
Costa Vitor
50f7a80546 transfer call and profiler to spy. 2009-06-22 11:12:56 -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
3c84466d05 asserting on a spied predicate might make it loop for ever :( 2009-04-21 18:51:01 -05:00
Vitor Santos Costa
f46ff06f38 get rid of broken $clause/3: fixes listing of dynamic predicates. 2009-03-26 08:12:24 +00:00
Vitor Santos Costa
d7c2c74acc fix counting of C-pred: it should not be in caller. 2009-02-26 00:00:23 +00:00
Vitor Santos Costa
95fc66be25 more fixes to profiling code. 2009-02-25 22:15:18 +00:00
Vitor Santos Costa
94ebb90719 UDI patch: make it work with YAP. 2009-02-20 11:42:48 +00:00
Vítor Santos Costa
f7046286a0 cleanups and a bug fix (it is lp now, not just p as before). 2009-02-12 21:45:41 +00:00
Vítor Santos Costa
8a6e0acedc compiler support for udi including user_index instruction 2009-02-12 21:35:31 +00:00
Vitor Santos Costa
9a0d481528 avoid too many discontiguous warnings by keeping track of last clause predicate. 2009-02-10 23:42:26 +00:00
Vitor Santos Costa
0886bd2e59 get rid of unused mk_cl_not_first. 2009-02-10 23:17:41 +00:00
Vitor Santos Costa
8a3978e3e1 rename BinaryTestPredFlag to BinaryPredFlag
get rid of small annoying arithmetic bugs
2009-02-09 21:56:40 +00:00
Vitor Santos Costa
b1cf60cafb moe changes to support atomic generation of atoms
support automatic generation of code walker (to find P's predicate and clause)
2008-12-24 09:04:44 +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
a36be5bf20 massive changes to support new scheme for arithmetic:
- compilation and assembly support
2008-12-09 12:54:27 +00:00
Vitor Santos Costa
821cc384a3 allow statistics on data base keys of integers.
change pred_entry not to fail on this case.
avoid using functor in this case.
2008-09-15 04:30:09 +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
6046f9f913 more fixes to debugger: make l and s option do what they are supposed to
do.
fix k and t, they had been broken.
Ideas:
DebugOn is now in the system and can disable spypoints.
Have an extra flag to distinguish fast (t,z,k) and slow(l,s) jumping.
2008-09-02 03:48:02 +01:00
Vítor Santos Costa
8f69c35e7f optime access to execute_cpred 2008-09-01 16:48:05 +01:00
Vítor Santos Costa
84ad9adff0 fix clause to support new execute_cpred 2008-09-01 16:30:37 +01:00
Vítor Santos Costa
b2d9eb7aac instructions xyc really has optype xyn. 2008-08-30 23:00:50 +01:00
Vitor Santos Costa
2a84e259a2 Upgrade to new CHR (with Jan's changes).
Found out I need to add an extra field to allocate so that the
exception handling code knows where the clause is.
Protect creep_allowed from NULL pointers.
2008-08-30 16:24:44 +01:00
Vítor Santos Costa
1226b58d8e The debugger relied on the environment stack. To fix it:
- absmi.c now tells who called the debugger, besides who it was calling
- this is used to control whether we allow a goal to be debugged.
- I have creep to start creeping immediately, and signal_creep to tell
  the next meta-call to creep what it executes!
- The debugger uses CalledFromTheDebugger to know if it is within the
debugger. If so, we do not need to creep on leaving.
2008-08-30 02:39:36 +01:00
Vitor Santos Costa
d636450512 more fixes to make rclause.h automatic:
define new type n for Integers, as they were mistaken for Term.
 define early return cases and ifdef exceptions.
2008-08-29 17:27:11 +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
Vitor Santos Costa
d5d5a6c95f escape from NULL pointer. 2008-08-26 01:08:52 +01:00
Vítor Santos Costa
f499115573 redo lost updates 2008-08-21 13:38:25 +01:00
vsc
75c72d7b7d SWI and module fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2290 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-07-22 23:34:50 +00:00
vsc
8e6403794f fix abolish bug
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2252 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-02 17:20:28 +00:00
vsc
ade7b34d49 thread fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2251 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-28 17:18:35 +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