Commit Graph

2327 Commits

Author SHA1 Message Date
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
139f591458 fix catch and throw: make sure we have an environment.
use $notrace consistently: note that it only matters if ran from the
debugger, otherwise it is just a meta-call.
2008-09-24 00:13:02 +01:00
Vítor Santos Costa
6747cb21de do not allow backtracking to a frozen CP. 2008-09-24 00:12:32 +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
ebbefd71ce debugger fixes:
fix $execute0 and $call: they should be handled explicitely
fix missing ! for builtins in debugger meta-call
2008-09-23 22:50:25 +01:00
Vítor Santos Costa
1e8de3f86c fix ) in arity 0 predicates 2008-09-23 22:49:44 +01:00
Vitor Santos Costa
895e29d444 FIX: '$execute0' should be invisible to creep processing 2008-09-22 18:07:50 +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
7f51339a97 fix syntax error in current_predicate 2008-09-18 17:48:01 +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
e35af2a352 experiments with early completion. 2008-09-15 04:29:26 +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
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
65ccd336b2 fix a stupid threads bug 2008-09-04 16:58:45 +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
Vitor Santos Costa
83ebf097df add support for dbusage 2008-09-01 04:45:55 +01:00
Vitor Santos Costa
236ffa0718 add useful debugging info on data base usage. 2008-09-01 04:45:16 +01:00
Vitor Santos Costa
2a53a46d12 document lineutils 2008-09-01 04:44:54 +01:00
Vítor Santos Costa
6062b1c738 document lineutils library 2008-09-01 02:41:09 +01:00
Vítor Santos Costa
ff75b8ff85 document 3 statistics/2 option. 2008-09-01 02:01:01 +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
Vitor Santos Costa
2ae9677f4b Added shlib as git module 2008-08-30 14:43:25 +01:00
Vítor Santos Costa
882178c02f support paths like the term a/b. 2008-08-30 04:34:27 +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
04c944972b -L swi compatibility had broken standard -L usage in YAP :(wq 2008-08-29 05:19:36 +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
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
3a7b3e15c6 include type information in mark_delays. 2008-08-27 17:12:03 +01:00
Vitor Santos Costa
24c2650472 get rid of suprious definition of $message 2008-08-27 00:43:40 +01:00
Vitor Santos Costa
d5d5a6c95f escape from NULL pointer. 2008-08-26 01:08:52 +01:00
Vitor Santos Costa
9821770ce4 remove original CHR from tree. 2008-08-26 00:45:53 +01:00
Vitor Santos Costa
42bed282b4 Updated to Working CHR 2008-08-26 00:18:06 +01:00
Vitor Santos Costa
6f0b3cf2f5 fix flatten/2: it would not create variable elements. 2008-08-25 20:41:09 +01:00
Vitor Santos Costa
8169ef0343 fix stack_dump 2008-08-25 15:20:18 +01:00
Vitor Santos Costa
a6b9d096a6 make sure we always close intermediate memory streams on exit. 2008-08-25 15:19:00 +01:00