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