Commit Graph

1232 Commits

Author SHA1 Message Date
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