Commit Graph

1568 Commits

Author SHA1 Message Date
Vitor Santos Costa
32b08082f7 fix clean_trail: with threads, objects may be above stack, not just below. 2009-05-05 09:56:47 -05:00
Vitor Santos Costa
c2e6456c25 wait until sending out the abort message. 2009-05-04 22:30:47 -05:00
Vitor Santos Costa
c31737fe3d make sure that a meta-call to functor/3 has an environment so that
it can do garbage collection.
2009-05-04 21:57:08 -05:00
Vitor Santos Costa
a077500795 should always be ENV 2009-05-04 21:56:49 -05:00
Vitor Santos Costa
780b629bff fix bad handling of trail overflow. 2009-05-04 21:26:47 -05:00
Vitor Santos Costa
10c38f8164 1. catch should not catch outside of scope!
2. when we are catching check for the first cleanup we can find; and while
   doing that going on rewinding variables, for SICStus compatibility.
2009-05-04 18:12:33 -05: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
8385f4bea6 saved state should be startup.yss, not startup.yss, in case YAP looks up
saved state in current directory (obs from Ulrich Neumerkel).
2009-05-02 14:06:24 -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
58838b7838 fix attributed variable space allocation 2009-05-01 12:11:52 -05:00
Vitor Santos Costa
ee44706d37 fix bad initialization of H0 in tabling 2009-05-01 12:09:49 -05:00
Vitor Santos Costa
91b3e4359d handle tabling errors where CP->AP==NULL 2009-05-01 12:09:22 -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
Vítor Santos Costa
04f3b32a9a clean code a little bit. 2009-04-29 14:22:20 +01:00
Vítor Santos Costa
8c3406adac don't forget to globalise variables before making them global. 2009-04-29 14:21:52 +01:00
Vitor Santos Costa
5baaf79916 fix call_with_args/.. (obs from Jose Santos). 2009-04-26 11:16:40 -05:00
Vitor Santos Costa
bb80c8d61c should use YENV, not ENV. 2009-04-26 10:51:18 -05:00
Vitor Santos Costa
e7b01f64d0 don't add minimums, compare them for memory overflows. 2009-04-26 10:50:56 -05:00
Vitor Santos Costa
e06ee4d4fa avoid over enthusiastic stack expansion. 2009-04-26 10:50:10 -05:00
Vitor Santos Costa
4cdfbae62a allow garbage collection when we store error term. 2009-04-26 10:48:32 -05:00
Vitor Santos Costa
2b79d5aada fix case where we call YAP with very large arities (obs from Ulrich Neumerkel). 2009-04-26 10:47:41 -05:00
Vitor Santos Costa
c5ba7e3854 fix non GMP code (obs from Tony Wilson). 2009-04-26 10:46:00 -05:00
Vitor Santos Costa
c132e7e6ec fix gmp support to give out of resource error if the bignum is too big. 2009-04-25 11:01:33 -05:00
Vitor Santos Costa
09d33c6cad try to give more helpful message in console aborts 2009-04-25 11:00:39 -05:00
Vitor Santos Costa
d02e14415b another fix to FileFromStream 2009-04-25 10:59:05 -05:00
Vitor Santos Costa
7628c875e8 make sure to be compatible with non-gcc/old gcc 2009-04-25 10:58:42 -05:00
Vitor Santos Costa
450123d5c6 fix FileNoFromStream 2009-04-25 10:28:34 -05:00
Vitor Santos Costa
291997ad77 fix FileDescriptorFromStream 2009-04-25 10:27:55 -05:00
Vitor Santos Costa
fadec66d2c gmp_should always recover space for the temporary bignum. 2009-04-24 19:10:53 -05:00
Vitor Santos Costa
2503805aff support 2^2 is 4 and not 4.0: complicated if we have to deal with bignums. 2009-04-24 19:03:00 -05:00
Vitor Santos Costa
b5dc71d080 is_list/1 is now a builtin. 2009-04-24 10:31:53 -05:00
Vitor Santos Costa
08320410cb fix missing comma in declarations. 2009-04-23 09:12:03 -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
0a2c90a919 fix warning 2009-04-22 16:41:33 -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
e204a8b7a3 display({A}) should not display as an operator. 2009-04-21 18:04:36 -05:00
Vitor Santos Costa
e2d3e66632 fix native_op 2009-04-18 17:55:18 -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
c685991119 fix self-deadlock in empty IDB entries. 2009-04-16 12:55:47 -05:00
Vitor Santos Costa
9624026beb locking fixes. 2009-04-16 11:19:26 -05:00
Vitor Santos Costa
43ae55f5f2 thread_local is also dynamic. 2009-04-14 01:24:58 +01:00
Vitor Santos Costa
b92b026c90 more patches to support Anderson's JIT. 2009-04-08 00:32:36 +01:00
Vitor Santos Costa
b2ad3bd000 first cut at Anderson's JIT code. 2009-04-07 23:55:16 +01:00
Vitor Santos Costa
f97bc596b9 do not use int for modules, use Term. 2009-04-07 15:44:46 +01:00
Vitor Santos Costa
94b2b181a7 do not deref because you may want to pass a pointer. 2009-04-04 23:56:42 +01:00
Vitor Santos Costa
9e8db82391 updates to UDI package 2009-04-02 17:34:42 +01:00
Vitor Santos Costa
cc7ff82275 term_hash non non_ground terms: ignoring the variables. 2009-03-31 21:56:12 +01:00
Vitor Santos Costa
18eca09bd0 multiple assignment variables should always be globalised. 2009-03-31 21:55:17 +01:00
Vitor Santos Costa
67eddb5a5b arity may be a long int 2009-03-27 15:28:32 +00:00
Vitor Santos Costa
4b5c07192a get rid of debugging message. 2009-03-27 15:28:22 +00:00
Vitor Santos Costa
3a213d7029 get rid of debugging message. 2009-03-27 15:28:08 +00:00
Vitor Santos Costa
91fd215d3d fix bad types. 2009-03-27 15:23:54 +00:00
Vitor Santos Costa
099edc1520 get rid of compilation warning. 2009-03-27 15:19:30 +00: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
901161a413 patches to remove ints and be able to allocate a lot of memory in 64 bit mode. 2009-03-27 14:45:40 +00:00
Vitor Santos Costa
751426c610 fix unallocated variable in overflow. 2009-03-27 14:05:27 +00: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
8a0b7312e4 get rid of thread warnings.. 2009-03-26 00:39:44 +00:00
Vitor Santos Costa
2a6869bf28 just planning for the future... 2009-03-26 00:38:46 +00:00
Vitor Santos Costa
5c2e5c524b recognise exceptions within comparisons. 2009-03-26 00:37:57 +00:00
Vitor Santos Costa
2e807fc5c7 fix static_growglobal. 2009-03-24 14:15:40 +00:00
Vitor Santos Costa
4b65b063ca fixes for threads to compile and boot. 2009-03-24 13:27:36 +00:00
Vitor Santos Costa
b198de2272 patch from master 2009-03-24 01:02:44 +00:00
Vitor Santos Costa
7769c33be7 fix shunting where it breaks variable order. 2009-03-24 00:17:59 +00:00
Vitor Santos Costa
1b238d62ec fix bad copy and paste from master 2009-03-17 22:29:24 +00:00
Vitor Santos Costa
a221244b8c fix bug in following retry chains. 2009-03-17 20:10:14 +00:00
Vitor Santos Costa
4fa27164e6 oops! 2009-03-16 22:22:07 +00:00
Vitor Santos Costa
77eaff31b8 cleanup stack shifting when inserting holes (growglobal). 2009-03-16 17:30:13 +00:00
Vitor Santos Costa
4cac5b6616 ld_path is not a fixed atom 2009-03-16 15:12:48 +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
08acf82266 handle non-wide atoms correctly. 2009-03-13 19:00:14 +00:00
Vitor Santos Costa
8b118f1778 fix bad lock 2009-03-13 11:49:38 +00:00
Vitor Santos Costa
c9c097b32d improve implementation of call_with_args/* 2009-03-13 11:11:04 +00:00
Vitor Santos Costa
fc2e01f320 improve code for disjunctions by trying to avoid permanent variables. 2009-03-10 16:24:26 +00:00
Vitor Santos Costa
e4d6b529c7 fix bad merge in put/get instructions 2009-03-10 16:23:43 +00:00
Vitor Santos Costa
7726944e1b back to normal. 2009-03-10 16:22:45 +00:00
Vitor Santos Costa
21aba71211 get rid of unused builtins. 2009-03-10 16:21:33 +00:00
Vitor Santos Costa
b744fabb71 new predicates for variable search in term. 2009-03-10 16:21:05 +00:00
Vitor Santos Costa
cd548813fd make $variables_in_term/3 check for repeated variables, ie (vint(a(X),[X],[X])). 2009-03-09 14:15:41 +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
d98c3f0817 add support for sized queues. 2009-02-27 22:22:49 +00:00
Vitor Santos Costa
0b4b0d0a18 fix equality between float and integer, and simplify code in general. 2009-02-27 22:10:52 +00:00
Vitor Santos Costa
258d63edeb forgot to mark objects in registers. 2009-02-27 12:56:27 +00:00
Vitor Santos Costa
48eaa975f2 if we have many embedded calls to nb_queue, make sure we don't allocate a lot of memory for each one. 2009-02-27 00:31:29 +00:00
Vitor Santos Costa
51875c627a avoid excessive overflows and too large overflows in delay stack. 2009-02-26 23:06:27 +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
083b7c9b92 improve compilation of arithmetic and other builtins, this should
make it more aggressive (and still correct).
2009-02-25 00:13:56 +00:00
Vitor Santos Costa
91657556ee more UDI stuff. 2009-02-25 00:13:45 +00:00
Vitor Santos Costa
2bc5d8425a fix arithmetic dependence on Prolog table. 2009-02-25 00:12:36 +00:00
Vitor Santos Costa
ffb621c53b improve support for UDI. 2009-02-20 15:52:17 +00:00
Vitor Santos Costa
94ebb90719 UDI patch: make it work with YAP. 2009-02-20 11:42:48 +00:00
Vitor Santos Costa
ad2d073184 allow better writing of inlined operations
disallow eval.yap
2009-02-16 21:04:30 +00:00
Vitor Santos Costa
e5d11cfa16 MYDDAS is too closely integreated to be a package. 2009-02-16 17:15:21 +00:00
Vitor Santos Costa
0f58cf8029 small fixes 2009-02-16 12:53:29 +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
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
Vítor Santos Costa
4b826e76ae support for user defined indexing: step 1 basic routines. 2009-02-12 16:39:20 +00:00
Vitor Santos Costa
1191b039d5 include support for dynamically created clause lists. 2009-02-11 15:10:57 +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
e08cef278a fix debugging message. 2009-02-10 22:56:12 +00:00
Vitor Santos Costa
1b41a08e74 fix indexing of tabling predicates: make sure we don't jump to the middle
of the code if we come from a retry.
2009-02-10 22:35:54 +00:00
Vitor Santos Costa
5efc438e49 fix put_att_term/2: bad arity and would not bind first arg if unbound var. 2009-02-10 14:56:43 +00:00
Vitor Santos Costa
fe85e92992 fixes for x86_64 compilation (with David Vaz). 2009-02-10 14:24:20 +00:00
Vítor Santos Costa
c750dd94f1 indexing code was not looking at tabled code. 2009-02-09 23:34:12 +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
Vitor Santos Costa
bde2b57f07 compile =/2 to use an extra temporary, and not ARG1. 2009-02-09 22:29:44 +00:00
Vitor Santos Costa
89635fb1f6 optimise is/2 as a binary predicate. 2009-02-09 22:21:58 +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
30e946cc30 fix case where very big negative integer could have two representations. 2009-01-12 15:08:26 +00:00
Vítor Santos Costa
11eed457c1 use automatucally generate code to find indexing information. 2008-12-29 00:14:47 +00:00
Vítor Santos Costa
90d95fdf17 fix bad comparisons in devel version. 2008-12-29 00:12:54 +00:00
Vítor Santos Costa
331d1830dd fix throw (it should undo bindings). 2008-12-29 00:11:05 +00:00
Vítor Santos Costa
18d5fa12e4 fix case where compiler would coredump on badly typed arguments to functor/3. 2008-12-28 11:00:38 +00:00
Vítor Santos Costa
5e09d8e1bd make sure that we restore even if only the X registers moved. 2008-12-28 11:00:05 +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
Vitor Santos Costa
f679f21a71 cleanup unnecessary MkFunctor 2008-12-23 02:20:22 +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
Vitor Santos Costa
7598b56c38 fix prompt in silent mode (obs from Tony Wilson) 2008-12-22 12:44:49 +00:00
Vítor Santos Costa
915ae47d18 fix ~R bug (thanks to Carsten Mueller) 2008-12-22 12:16:31 +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
14a162dc6a fix compilation of NewX = f instructions. 2008-12-13 21:22:07 +00:00
Vítor Santos Costa
875a4553d5 fix dump of compiler intsructions. 2008-12-13 21:21:24 +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
fdf06f486d replace if-then-else optimisation by the new mechanism. 2008-12-09 14:23:19 +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
2e8d898e86 add new eval compiler
fix garbage collector for new big allocation scheme.
2008-12-05 16:08:44 +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 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
Vítor Santos Costa
e8cbc5034e first patch to isolate GMP code. 2008-11-28 15:54:08 +00:00
Vítor Santos Costa
58d4442883 fixes for gcc-4.3 (same as stable) 2008-11-26 09:56:18 +00:00
Vitor Santos Costa
99c5cb3e36 new version of term_hash based on SWI-ideas.
It handles infinite terms, and it seems to be a better hash.
2008-11-18 11:28:11 +00:00
Vitor Santos Costa
0ef147459a handle case where we can expand attributed variable stack
without having to grow stack physically.
2008-11-14 14:52:55 +00:00
Vitor Santos Costa
9296762791 fix bug in reserving space for queues. 2008-11-14 14:52:00 +00:00
Vitor Santos Costa
7a21ccb009 Include hack to unify two attributed variables, if the solver knows what
it is doing.
2008-11-14 14:50:54 +00:00
Vitor Santos Costa
1c334ea198 fix bad marking of attributed variables from trail. 2008-11-13 09:03:27 +00:00
Vitor Santos Costa
6920041189 fix bad size in grow stack 2008-11-13 09:02:33 +00:00
Vitor Santos Costa
297ea16dcb fix type in gprof 2008-11-05 13:28:44 +00:00
Vitor Santos Costa
e19a8eeb87 fix case where index has no clauses. 2008-11-04 17:01:57 +00:00
Vitor Santos Costa
181e122200 try to avoid doing stack expansion so often on arena overflow 2008-10-29 18:21:41 +00:00
Vitor Santos Costa
de043e3ee9 generate an Error on memory overflow. 2008-10-29 18:19:15 +00:00
Vitor Santos Costa
d4016ce69e make -/1 fy with 200 priority, for compatibility with other Prologs (obs from Paylo Moura) 2008-10-28 11:34:19 +00:00
Vitor Santos Costa
e783a03610 fix write_strings breakage 2008-10-25 09:02:42 +01:00
Vítor Santos de Costa
5c959aee93 go back to SICSTus accents mode (and accept newlines in quoted atoms). 2008-10-24 00:23:45 +01: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 de Costa
7207c18e65 fix longmp in trow not to recover trail. This way we do not need to do
copy_term/2 and we avoid losing the attributed variable stack.
2008-10-18 11:03:25 +01:00
Vitor Santos Costa
87987d0b85 fix extra arguments. 2008-10-17 12:37:39 +01:00
Vítor Santos de Costa
aef5725901 fix overflow fixes 2008-10-08 13:15:09 +01:00
Vítor Santos de Costa
444fc8fb7f fix overflow bug 2008-10-07 23:52:26 +01:00
Vítor Santos de Costa
681d0f186d fix bad type for p_number_y 2008-10-07 22:00:38 +01:00
Vitor Santos Costa
09ccb295c2 FIX: in tabling mode _trust_me was being assembled as _retry_me (obs from Chris Mungali) 2008-09-26 18:52:29 +01:00
Vítor Santos Costa
770e838ddd fix cast warnings in heapgc.c 2008-09-24 20:45:12 +01:00
Vítor Santos Costa
abcb8f99fe FIX: InitCPred and friends should check for overflow. 2008-09-24 00:59:41 +01:00
Vítor Santos Costa
30900bd61f go back to only doing gc when needed.wq 2008-09-24 00:11:22 +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
1e8de3f86c fix ) in arity 0 predicates 2008-09-23 22:49:44 +01:00
Vitor Santos Costa
bcb6edfb8a include PtoAtomHashEntryAdjust to reduce casts 2008-09-18 17:59:16 +01:00
Vitor Santos Costa
20e8924bba fix type warning in EnvPreg/error.c 2008-09-18 17:48:31 +01:00
Vitor Santos Costa
5db95de67d first cut at making GPROF work on Leopard
based on Ocaml macport.
2008-09-18 17:34:46 +01: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
Vitor Santos Costa
537dbb19fa "single" indexing cannot disable wait nodes for LU predicates.
Otherwise, memory recovery breaks down.
2008-09-14 05:11:51 +01:00
Vitor Santos Costa
473012316a put tracer.c back to normal. 2008-09-14 05:11:35 +01:00
Vítor Santos Costa
d70cb39c1d fix answer_trie compilation and execution:
- YapOpcodes.h should have do/trust/try/trust: force this order in
tab.tries.insts.i
- retry and trust instructions should not trust YENV
2008-09-05 18:34:26 +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
0fc361d331 indexer was going bad on _pop instruction. 2008-08-30 23:59:09 +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
05f93cd4e6 be more careful about marking attributed variables:
- only mark unbound attributed variables in first step.
- remove deterministic bindings for those variables.
- mark non-deterministic bindings at mark_trail.
2008-08-28 17:41:07 +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
3a7b3e15c6 include type information in mark_delays. 2008-08-27 17:12:03 +01:00
Vitor Santos Costa
d5d5a6c95f escape from NULL pointer. 2008-08-26 01:08:52 +01:00
Vitor Santos Costa
a6b9d096a6 make sure we always close intermediate memory streams on exit. 2008-08-25 15:19:00 +01:00
Vitor Santos Costa
e1544a0358 genarg is at arg module, not at globals module! 2008-08-24 14:18:32 +01:00
Vitor Santos Costa
33af161136 add // operator for SWI compatibility. 2008-08-24 00:46:20 +01:00
Vitor Santos Costa
b6409fc980 fix weird instruction with tabling and new optypes;
fix a stray ld.
2008-08-22 03:54:10 +01:00
Vítor Santos Costa
f499115573 redo lost updates 2008-08-21 13:38:25 +01:00
vsc
82efc8fb2c small fixes to compile in Windows again.
Trust _isatty


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2311 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-22 01:59:48 +00:00
vsc
16d0f2e749 fix TopLevelGoal to handle correctly undefined predicates. Make sure that
undefined predicated will not force the boot process to loop.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2310 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-19 13:33:45 +00:00
vsc
df22b925b5 fix thread messages
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2309 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-19 00:44:37 +00:00
vsc
7db64c5e1c more locking fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2306 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-13 01:16:26 +00:00
vsc
d170b34624 MaxOS fixes
Avoid a thread deadlock
improvements to SWI predicates.
make variables_in_term system builtin.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2304 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-12 01:27:23 +00:00
vsc
b3a0b412f1 fix threads/0.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2302 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-08 16:05:10 +00:00
vsc
5776abb31c more thread fixes.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2301 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-08 14:05:34 +00: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
6d23a23a81 fix debugging info
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2299 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-06 23:05:49 +00:00
vsc
85d7d39dbf more thread fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2297 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-06 17:32:22 +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
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
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
e90f744e5e fix stack growth in globals
fix compilation messages


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2277 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-16 21:22:15 +00:00
vsc
1340bc6f05 fix debugging message.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2276 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-13 14:10:27 +00:00
vsc
ac6ddd5005 fix syntax error messages
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2275 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-12 10:55:52 +00:00
vsc
02565ae625 some nice extra predicatesy
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2273 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-11 11:08:25 +00:00
vsc
87fcf6233c put chr back to life
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2265 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-08 08:05:11 +00:00
vsc
e26d72905e fix trim_trail on 64 bit machines and non x86
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2261 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-05 18:29:52 +00:00
vsc
5d49f14545 fix rbtrees built from ordered lists
fix jt
be more flexible about unbound parents


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2260 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-05 16:24:08 +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
02497c1172 fix manual and message handling
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2253 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-03 09:24:28 +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
214644aed4 fix null pointer reference
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2247 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-23 21:06:44 +00:00
vsc
7c24afa0f2 handle SIGPIPE and improve USR1 and USR2
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2242 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-23 10:02:13 +00:00
vsc
511181b472 debugging fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2238 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-15 18:31:02 +00:00
vsc
316811d2cd user:goal_expand should be called before import
add extra apply_macros and apply stuff; fix unexisting definitions.
add forall/2 and ignore/1 to system stuff.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2237 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-15 13:41:48 +00:00
vsc
a25234a2da fix -(2<<100).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2236 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-13 10:37:27 +00:00
vsc
897224b36e fix previous fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2235 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-12 22:31:37 +00:00
vsc
f4173813ff updates to restore
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2234 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-12 14:04:23 +00:00
vsc
257c3a2cbc fix threads and LU
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2233 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-10 23:24:13 +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
vsc
89bdffe91e make static_clause only commit to a lause if it is sure that is the true
clause. Otherwise, search for the clause.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2220 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-16 17:16:47 +00:00
vsc
d8488ec48e fix CR in read_line_to_codes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2219 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-15 11:08:10 +00:00
vsc
3edc72b4c1 fixed a bug in static_clause (thanks to Jose Santos)
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2218 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-14 21:20:36 +00:00
vsc
3c3d0de2de partial fix to predicate_property trouble (obs from Nicos).
fix core dump when writing arrays without bignum support.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2217 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-14 17:30:18 +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
516a349aad only evaluate lists with a single character.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2214 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-08 15:36:53 +00:00
vsc
12e18227bb more small fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2213 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-06 12:06:48 +00:00
vsc
0c4388a66b fix some restore bugs
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2212 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-06 11:53:02 +00:00
vsc
6da72b2c9f yapor had gotten broken with recent thread changes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2210 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-04 16:11:40 +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
282ba60852 fix some overflows in integer handling and ~r option.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2203 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 22:27:29 +00:00
vsc
a1327cfe9b fix small bug in compilation
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2202 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 15:15:21 +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
708e69a670 fix restorebb in cases entry key is not an atom (obs from Nicos
Angelopoulos)


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2200 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 11:34:47 +00:00
vsc
92d26f604e term_variables could store local variable in global.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2199 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 10:50:28 +00:00
pmoura
48e8101a87 Added new flag "max_workers". It uses a C function, "p_max_workers" that is currently defined in the *wrong* place ("threads.c").
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2193 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-02 22:59:52 +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
70b3438293 separate MAX_WORKERS and MAX_THREADS (obs from Paulo Moura)
MAX_AGENTS can be used in all cases


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2189 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-02 15:41:50 +00:00
vsc
0dd21aab71 put YAPOR back to life.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2187 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-01 22:28:41 +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
f37bc03304 improve restore
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2184 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-01 14:09:43 +00:00
vsc
c23cce1cc1 fix restore and small VISTA thingies
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2177 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-01 08:42:46 +00:00