Commit Graph

505 Commits

Author SHA1 Message Date
Vítor Santos Costa
d078a2b2c4 thread support 2013-01-10 23:22:11 +00:00
Vitor Santos Costa
6cd778f70b exo stuff 2013-01-09 09:21:07 +00:00
Vitor Santos Costa
f7adcf9b44 fix unnecessary dereferencing. 2013-01-08 13:09:31 +00:00
Vitor Santos Costa
2a44a0205b support backtracking with uninst args 2013-01-08 12:35:18 +00:00
Vitor Santos Costa
d98862f5ea debugging exo 2013-01-08 00:40:51 +00:00
Vítor Santos Costa
f063a2bd52 exo first step. 2013-01-07 09:47:14 +00:00
Vitor Santos Costa
9107af2e3d improve thread startup 2012-12-13 18:12:50 +00:00
Vitor Santos Costa
88f2dc7730 change the way predicates are hidden 2012-10-19 18:10:48 +01:00
Vitor Santos Costa
474c088baf ifix thread compilation. 2012-10-17 17:22:43 +01:00
Vitor Santos Costa
a4acb6a806 try to make sure we always have slots 2012-10-08 18:25:42 +01:00
Vitor Santos Costa
dcc5b57016 remove broken meta-call optimisation. 2012-09-07 00:21:57 -05:00
Vitor Santos Costa
81743361a6 fix warning 2012-08-23 09:03:42 -05:00
Vitor Santos Costa
9353d28c2e fix meta-call
optimise deterministic (a,b,c).
2012-08-22 09:41:09 -05:00
Costa Vitor
bf4d37eb0d simplify meta-call handling. 2012-08-13 23:35:37 -05:00
Costa Vitor
53b694edd0 Merge branch 'master' of git.dcc.fc.up.pt:yap-6.3 2012-07-18 17:36:10 -05:00
Costa Vitor
c8ef4dbdb4 we cannot trust that just having on reference will protect a clause. Several references may go in a single operation! 2012-07-18 14:32:53 -05:00
Vítor Santos Costa
a99412c48f fix gall to gc. 2012-07-16 10:20:56 -05:00
Vitor Santos Costa
b15c9f5655 support INT handler. 2012-06-22 03:55:01 -05:00
Vítor Santos Costa
36acb5f897 fix profiling support. 2012-03-09 11:46:34 +00:00
Vítor Santos Costa
0f10f4332e improve ˆC handling (still needs work). 2012-03-03 21:46:07 +00:00
Vítor Santos Costa
45baf800dd fix stream is not an atom (Ulrich). 2012-03-01 22:03:41 +00:00
Vítor Santos Costa
67b4b6126c fix error messages. 2012-02-13 09:36:05 +00:00
Vítor Santos Costa
58d7f85417 fix empty instruction confusing garbage collector. 2012-01-21 18:19:57 +00:00
Ricardo Rocha
c594d321ef Miguel's support for multi-threaded tabling 2011-12-22 16:50:20 +00:00
Vítor Santos Costa
67820baee0 fix overflow in << and >> 2011-11-16 07:36:34 +00:00
Vítor Santos Costa
3966822bff Setting YREG in cut_t seems buggy. 2011-11-03 07:45:02 +09:00
U-WIN-U2045GN0RNQ\Vítor Santos Costa
e3847eff38 optimise straight line code. 2011-10-21 19:11:25 +01:00
Vítor Santos Costa
df6c0b59e9 jump guessing 2011-10-04 06:42:01 -03:00
Vítor Santos Costa
ff67abc937 fix prefetching 2011-10-03 15:29:57 -03:00
Vítor Santos Costa
43c07f5051 more speed stuff. 2011-10-02 21:01:14 -03:00
Vítor Santos Costa
66ae65fe09 small look at compilation. 2011-10-02 19:55:22 -03:00
Vítor Santos Costa
36d20477fb small fixes to avoid using global reg. 2011-10-02 16:18:09 -03:00
Joao
cc80efbff0 CACHE_REGS 2011-09-21 15:30:29 +01:00
Joao
7378b56289 Fix READ_LOCK. 2011-09-20 11:36:49 +01:00
Joao
1a6aff8aa1 Merge branch 'master' of git://yap.git.sourceforge.net/gitroot/yap/yap-6.3 2011-09-15 15:44:26 +01:00
Joao
64ae3cdf52 fix YAPOR incremental copy. 2011-09-15 15:40:47 +01:00
U-WIN-U2045GN0RNQ\Vítor Santos Costa
b6aca9463d Merge branch 'master' of ssh://yap.git.sourceforge.net/gitroot/yap/yap-6.3 2011-08-18 22:35:13 +01:00
Vitor Santos Costa
a56402303e first step for quick loader, and fix an instruction format. 2011-07-30 00:07:35 +01: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
f6be2ed08d support interface to foreign objects that have a backtrack handler. 2011-07-22 04:09:33 -07:00
ubu32
0424bf6403 fix bad call to garbage collector. 2011-07-09 09:16:02 -07:00
Vítor Santos Costa
e74a25d366 handle slowdown when retracting clauses. 2011-06-24 21:08:22 +01:00
Vitor Santos Costa
8d4f51e098 Merge branch 'master' of ssh://yap.git.sf.net/gitroot/yap/yap-6.3 2011-06-04 09:33:50 +01:00
Vitor Santos Costa
8275a33b76 improve warning messages for undefined arithmetic arguments. 2011-06-04 09:32:51 +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
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
Joao
dc3c54c164 change LOCALS macros. 2011-05-04 10:11:41 +01:00
Vítor Santos Costa
4eeb977c2c fix backtracking from generators to dynamic predicates. 2011-04-22 12:20:52 +01:00
Vítor Santos Costa
a7079bd770 don't reset frozen refernces to clauses. 2011-04-16 00:31:25 +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
Joao
f890a11377 change macros GLOBAL to Yap 2011-03-29 18:19:18 +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
Vítor Santos Costa
5bea35d13e fix bug in entering garbage collector (bad PP). 2011-03-11 19:47:21 +00:00
Vítor Santos Costa
90d93fdbdd cache abstra machine register in threaded mode. 2011-03-07 16:02:55 +00:00
Vitor Santos Costa
4a5ba35937 assembly fixes
more support for readline, including getting more stuff from read.
2011-02-17 00:57:49 +00:00
Vítor Santos Costa
a40987b70d ifixes to support 64 bits:
- protect registers before calling prune()
- use Int, not int.
2011-02-15 18:14:18 +00:00
ubu32
67d23051c2 fix pruning to handle backtrackable C-predicates in a much nicer way. 2011-02-14 11:29:20 -08:00
ubu32
1717b113b3 cut should know about environment size. 2011-02-14 06:57:16 -08:00
Vitor Santos Costa
26706d20ff make SREG YENV before calling heapgc in absmi. 2011-01-20 11:53:00 -06:00
Vitor Santos Costa
aa1756c952 undo change until I can wake up goals before cut safely. 2010-12-31 12:01:10 -06:00
Vitor Santos Costa
d64af810da force wakeups before ! 2010-12-29 09:29:42 -06:00
Vítor Santos Costa
cede94f6d2 creeping should not prevent wake ups. 2010-12-19 13:52:42 +00:00
Vítor Santos Costa
cfe0dda995 more bigint and dbterm fixes. 2010-12-16 22:21:46 +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
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
Vitor Santos Costa
8290341a5f fix typo 2010-12-05 00:07:22 +00:00
Vítor Santos Costa
8db05c883b make sure we separate betwen async exceptions and synchroneous. 2010-12-04 19:05:13 +00:00
Vítor Santos Costa
c6f41e2970 YAP_FAIL_ERROR in case a fail has been requested, but not accepetd yet. 2010-12-04 18:45:09 +00:00
Vitor Santos Costa
755a57fdbd Merge branch 'master' of yap.dcc.fc.up.pt:yap-6
Conflicts:
	C/absmi.c
2010-10-12 23:22:23 +01:00
Vitor Santos Costa
80c38081da no need for special procceed instruction. 2010-10-12 22:02:51 +01:00
Vítor Santos Costa
3e6309cc8a fix trace problem 2010-10-11 20:10:12 +01:00
Vitor Santos Costa
e5232bc8fc force system to check for overflows at end of procceed for clauses with body. 2010-10-11 14:45:15 +01:00
Vitor Santos Costa
9187c658b8 fix very large clause handling 2010-10-08 10:45:50 +01:00
Vítor Santos Costa
e968fe21dd fix bad call to gc when finding very large terms. 2010-09-30 20:09:17 +01:00
Vitor Santos Costa
ace9025c10 fix bad messup with program counter (obs from Ingo Molnar).q 2010-08-17 13:02:50 +01:00
Vítor Santos Costa
ffc094e25f make sure we have enough room before we enter a clause. 2010-08-02 18:20:03 +01:00
Vitor Santos Costa
3d6e223dae support for space reservation (goal: call gc before trying to insert very large terms). 2010-08-02 13:04:30 +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
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
Vitor Santos Costa
a46d6dc9eb fix bad recent patch. 2010-07-20 11:28:56 +01:00
Vitor Santos Costa
834e3ed5d0 make arg/3 compatible with SWI for atomic argument (fail silently). 2010-07-19 14:38:17 +01:00
Vítor Santos Costa
ecce575a0a fix stack calculation (ricardo rocha) 2010-07-06 15:31:17 +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
ae2421951b fix comparison between terms when rationals come up. 2010-05-28 12:07:01 +01:00
Vitor Santos Costa
fd9f4efe0b fix indexing of bignums (obs from Jos de Roo). 2010-05-14 12:42:30 +01:00
Vitor Santos Costa
c2f84c9e28 fix unify_dbterm. 2010-05-13 00:04:56 +01:00
Vitor Santos Costa
924e614857 fix related instructions. 2010-05-12 23:54:06 +01:00
Vitor Santos Costa
45fac6d7b5 fix bug in unify_bigint (obs from Jos de Roo). 2010-05-12 23:48:37 +01:00
Vítor Santos Costa
be2a3a635e L constants are evil in 64 bits 2010-05-11 12:25:49 +01:00
Vítor Santos Costa II
ba996c8dd5 fix bad call to low_level_tracer. 2010-05-03 16:34:20 +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
Vítor Santos Costa II
d524dd542d test could access unused memory. 2010-04-09 18:07:45 +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
81635b48fb use isattvar 2010-03-08 09:17:40 +00:00
Vitor Santos Costa
3070e4ce9d fix locking issues with dynamic predicates and threads (obs from Paulo Moura). 2010-03-03 22:11:50 +00:00
Vítor Santos Costa
692a482adf fix gc call while in meta-call. 2010-02-19 15:37:36 +00:00
Vitor Santos Costa
3b4bb45c62 fix error handling in builtin arithmetic (obs from Jose Santos). 2010-02-18 10:56:59 +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
bcc4a27206 cut_succeed and cut_fail should recover pool of try_c and should
do trim_trail (not that the latter really matters).
2010-01-26 18:03:09 +00:00
Vítor Manuel de Morais Santos Costa
b0ea945ebc Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6 2010-01-26 11:40:47 +00:00
Vítor Manuel de Morais Santos Costa
4d54ea4c92 improve PP on threaded version 2010-01-26 11:40:32 +00:00
Vitor Santos Costa
ce3a193ae7 fix forgotten unlocks. 2010-01-25 09:01:04 +00:00
Vítor Manuel de Morais Santos Costa
5ef31fbfd2 experiment in or-parallel threads. 2010-01-14 15:58:19 +00:00
Vitor Santos Costa
df2b11a6ec define Optype for xxc, for instructions whose constant argument is a term, like functor(a,X,T). 2009-12-06 00:37:48 +00:00
Vítor Manuel de Morais Santos Costa
d746afaa32 UserCode may changed YENV, so be careful, be very careful! (obs from Nuno Fonseca). 2009-11-27 13:14:30 +00:00
Vítor Manuel de Morais Santos Costa
b5ad71c9c1 improve functor tracing 2009-11-10 11:25:39 +00:00
Vítor Manuel de Morais Santos Costa
2fdf8e9bda fix bad ! register when calling continuation of meta-predicate (obs from A Kimmig). 2009-11-03 23:17:06 +00:00
Costa Vitor
418fa1a396 64 bit machines may be using S while calling ExpandIndex. 2009-08-19 20:22:04 -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
Costa Vitor
66683aeef9 slots were not inited in tabling code, due to bad ifdef (obs from Chris Mungall). 2009-07-17 18:39:50 -05: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
026a666055 trail check on C entry: make sure we don't have unhandled trail overflows. 2009-06-26 14:08:15 -05:00
Costa Vitor
772d091a70 fix bad call to retry_counter 2009-06-26 13:16:42 -05:00
Costa Vitor
246d32551a do not set PREG until being sure we have to jump 2009-06-23 06:50:53 -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
Costa Vitor
53fa330d90 always use YREG, not YENV, in case we have enough registers. 2009-06-16 21:20:35 -05:00
Vitor Santos Costa
95f28228f6 - separate user_try and user_retry
- make sure we have slots inited in retrying user C code.
2009-06-01 15:30:22 -05:00
Vitor Santos Costa
e84ecf2eaf fix #37: give resource error if trying to create a functor with bignum arity
also, allow meta-call to create large functors > Int.
2009-05-29 22:34:50 -05:00
Costa Vitor
c00facdd17 exception at fail could loop with bad env. #59 2009-05-22 19:43:17 -05:00
Costa Vitor
8fcc534a19 fix bad error propagation in term comparison #53 2009-05-22 18:44:05 -05:00
Vitor Santos Costa
8e7695a42c make Yap_Eval only on entry. 2009-05-16 22:41:44 -07:00
Vitor Santos Costa
61973a2be6 be careful: error handling may have changed PC in call_c_with_fail! 2009-05-09 23:40:17 -04:00
Vitor Santos Costa
f53c741d96 improve low-level tracer. 2009-05-09 23:30:20 -04:00
Vitor Santos Costa
35c1cb6338 put future environment when waking up goals before failure. 2009-05-04 18:11:43 -05:00
Vitor Santos Costa
2016e118b3 Ulrich Neumerkel's patch so that variables are declared in front of a block. 2009-05-02 10:54:09 -05:00
Vitor Santos Costa
8275f2232c fix handling of multiassignment variables with tabling;
fix bad overflow handling when copying terms from tries.
2009-05-01 11:53:59 -05:00
Vitor Santos Costa
c92765d962 SREG and S could be different; also S might be in use if there is an
overflow and the index code is jumping to the middle.
2009-04-18 15:22:51 -05:00
Vitor Santos Costa
7e98e5acdb fix another internal deadlock. 2009-04-17 14:17:43 -05:00
Vitor Santos Costa
9624026beb locking fixes. 2009-04-16 11:19:26 -05:00
Vitor Santos Costa
b2ad3bd000 first cut at Anderson's JIT code. 2009-04-07 23:55:16 +01:00
Vitor Santos Costa
5c2e5c524b recognise exceptions within comparisons. 2009-03-26 00:37:57 +00:00
Vitor Santos Costa
828964c3c1 remove optimised arithmetic instructions. They made the emulator even bigger than
usual, and they were not performing.
2009-03-09 11:52:01 +00:00
Vitor Santos Costa
afd979a246 improve substantially handling of soft disjunctions. 2009-03-05 16:12:21 +00:00
Vitor Santos Costa
15b86cded4 new merged instructions and small changes to the emulator. 2009-03-03 10:04:13 +00:00
Vitor Santos Costa
a000af113b OSX portability updates
start of support for commons prolog initiative
2009-02-16 12:25:03 +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
8a3978e3e1 rename BinaryTestPredFlag to BinaryPredFlag
get rid of small annoying arithmetic bugs
2009-02-09 21:56:40 +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
Vítor Santos Costa
e737599dc4 Change to simpler Eval mechanism
- avoid duplicate code
- implement different optimised code.
2008-12-04 23:33:32 +00:00
Vítor Santos de Costa
681d0f186d fix bad type for p_number_y 2008-10-07 22:00:38 +01:00
Vítor Santos Costa
e252ef0b2f more debugger fixes!
- make sure donotrace and oncenotrace are known to the signal mechanism:
they should disable creeping
- avoid creep at deallocate: it is a very bad idea :(
2008-09-23 23:43:01 +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