Commit Graph

91 Commits

Author SHA1 Message Date
David Vaz 3cad9c37b1 removed unnecessary cut_c macros (always on) 2014-02-11 07:15:39 -08:00
Vítor Santos Costa ccccf71ae1 support for tabling of bignums and strings 2014-01-17 09:39:29 +00:00
Vítor Santos Costa d7397b43af new text conversion and string code (big changes, take care please) 2013-12-02 14:49:41 +00:00
Vítor Santos Costa 6f9b8bfca8 fix bad instruction format 2013-11-01 08:26:06 +00:00
Vitor Santos Costa 90abff4f2f Exo compilation, the range example. 2013-04-16 20:04:53 -05:00
Vitor Santos Costa 504c2f3000 fix loop in restore 2013-01-22 16:01:37 +00:00
Vitor Santos Costa 2a44a0205b support backtracking with uninst args 2013-01-08 12:35:18 +00:00
Vítor Santos Costa f063a2bd52 exo first step. 2013-01-07 09:47:14 +00:00
Vitor Santos Costa f0b44b9b77 fix bad indexing (obs from Jos) 2012-12-07 23:43:00 +00:00
Ricardo Rocha c594d321ef Miguel's support for multi-threaded tabling 2011-12-22 16:50:20 +00:00
Vitor Santos Costa a56402303e first step for quick loader, and fix an instruction format. 2011-07-30 00:07:35 +01:00
Vítor Santos Costa e74a25d366 handle slowdown when retracting clauses. 2011-06-24 21:08:22 +01:00
ubu32 67d23051c2 fix pruning to handle backtrackable C-predicates in a much nicer way. 2011-02-14 11:29:20 -08:00
ubu32 1717b113b3 cut should know about environment size. 2011-02-14 06:57:16 -08:00
Vítor Santos Costa cfe0dda995 more bigint and dbterm fixes. 2010-12-16 22:21:46 +00:00
Vítor Santos Costa 5a2d908489 fix restore of instructions that manipulate bigints or db terms. 2010-12-16 20:39:53 +00:00
Vitor Santos Costa 80c38081da no need for special procceed instruction. 2010-10-12 22:02:51 +01:00
Vitor Santos Costa e5232bc8fc force system to check for overflows at end of procceed for clauses with body. 2010-10-11 14:45:15 +01:00
Vítor Santos Costa ffc094e25f make sure we have enough room before we enter a clause. 2010-08-02 18:20:03 +01:00
Vitor Santos Costa 3d6e223dae support for space reservation (goal: call gc before trying to insert very large terms). 2010-08-02 13:04:30 +01:00
Ricardo Rocha e122f2ca8d Global trie support: atomic terms (vars, integers and atoms) are now stored
in the local tries (and not in the global trie). This required major changes
to the trie instructions in order to unify the use of the auxiliary stack
organization for the terms in the local tries and in the global trie.
2010-04-15 01:09:59 +01:00
Vitor Santos Costa df2b11a6ec define Optype for xxc, for instructions whose constant argument is a term, like functor(a,X,T). 2009-12-06 00:37:48 +00:00
Ricardo Rocha 5e4d7078ab support for trie compact lists (version 2): this new version uses
different marks to distinguish the lists ending with the empty list
from the lists ending with a non-empty list term.
2009-07-05 05:14:08 +01:00
Ricardo Rocha c47da032a8 Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6 2009-06-24 20:06:00 +01:00
Ricardo Rocha eeb62b63b4 support for trie compact lists 2009-06-24 20:04:16 +01:00
Costa Vitor d47560342c more fixes to call_counter: try to keep on counting system builtins. 2009-06-22 12:40:55 -05:00
Costa Vitor 50f7a80546 transfer call and profiler to spy. 2009-06-22 11:12:56 -05:00
Vitor Santos Costa b2ad3bd000 first cut at Anderson's JIT code. 2009-04-07 23:55:16 +01: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
Vítor Santos Costa 8a6e0acedc compiler support for udi including user_index instruction 2009-02-12 21:35:31 +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
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
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 de Costa 2cdcf87044 fix yxn instruction type. 2008-10-07 22:32:15 +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 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 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 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 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 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 0c0826b938 fix some icc warnings
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2165 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-25 22:03:14 +00:00
vsc 3beda27d14 fixes to support threads and assert correctly, even if inefficiently.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2030 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-26 23:43:10 +00:00
vsc 42048570f3 speedup meta-calls
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1976 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-07 09:25:27 +00:00