Vitor Santos Costa
b5dc71d080
is_list/1 is now a builtin.
2009-04-24 10:31:53 -05:00
Vitor Santos Costa
6acf7eeb0a
fix bad ordering in tests
2009-04-23 10:36:11 -05:00
Vitor Santos Costa
35f38c93be
declare nw function
2009-04-22 17:34:08 -05:00
Vitor Santos Costa
700ea83b17
array name should $array, not array
2009-04-22 11:34:23 -05:00
Vitor Santos Costa
9ef1b5cb4f
shift vesion number.
2009-04-08 00:49:54 +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
a2b6c0c529
allow YAP to compile without GMP.
2009-03-27 15:32:22 +00:00
Vitor Santos Costa
4044684dea
prototype UDI initializer.
2009-03-27 15:28:50 +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
0d64daa393
fix thread complaints.
2009-03-26 00:39:57 +00:00
Vitor Santos Costa
4b65b063ca
fixes for threads to compile and boot.
2009-03-24 13:27:36 +00:00
Vitor Santos Costa
77eaff31b8
cleanup stack shifting when inserting holes (growglobal).
2009-03-16 17:30:13 +00:00
Vitor Santos Costa
4ab17198b7
fix eval (quick fix).
2009-03-14 09:42:35 +00:00
Vitor Santos Costa
add296ba37
fix handling of holds.
2009-03-13 21:57:15 +00:00
Vitor Santos Costa
a1b58f61e0
conditional compilation of thread inlines
2009-03-13 12:06:57 +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
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
d4eb240c41
try to get some more wiggle room.
2009-02-27 12:57:08 +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
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
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
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
8a3978e3e1
rename BinaryTestPredFlag to BinaryPredFlag
...
get rid of small annoying arithmetic bugs
2009-02-09 21:56:40 +00:00
Vítor Santos Costa
76e521f3ff
fix bad call of float/GMP routines.
2009-01-05 14:32:21 +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
331d1830dd
fix throw (it should undo bindings).
2008-12-29 00:11: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
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
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
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
Vitor Santos Costa
e62ae6be36
improve handling of local stack expansion.
2008-11-14 14:54:25 +00:00
Vítor Santos de Costa
7f365f7377
make GC happen when we have 1/4 of total memory free.
...
There was a problem of not having enough room to put 10% of the heap.
2008-10-24 10:35:53 +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
Vítor Santos de Costa
2cdcf87044
fix yxn instruction type.
2008-10-07 22:32:15 +01:00
Vitor Santos Costa
bcb6edfb8a
include PtoAtomHashEntryAdjust to reduce casts
2008-09-18 17:59:16 +01:00
Vitor Santos Costa
02893cc83f
Ricardo Rocha's code for user managed suspension.
...
changed code from absmi.c to tab.macros.h
2008-09-18 17:35:21 +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
f4100a8095
small update to instruction name
2008-09-12 14:09:29 +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
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
6063c019de
generate rclause.h automaticallywq
2008-08-29 05:25:36 +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
ff12e2bdbf
use inlines instead of macros;
...
add ENV_Parent function, to walk an environment chain
2008-08-28 04:37:18 +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
258796098e
fix d optype
...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2313 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-22 02:03:39 +00:00
vsc
27c1f89dca
small change to c* optypes
...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2312 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-22 02:01:27 +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
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
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
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
dc53522604
small fixes
...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2289 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-07-16 10:58:59 +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
82d9ed1521
upgrade to 5.1.4
...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2282 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-18 10:02:27 +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
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
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
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
ricroc
4677a5ba10
yapor: seq_def initialization
...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2216 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-11 16:58:17 +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
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
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
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