Commit Graph

182 Commits

Author SHA1 Message Date
Joao 8170f6d3cb Some global variables(Yap_thread_gl) in C/init.c are now declared in misc/LOCALS 2011-05-23 16:19:47 +01:00
Joao ebd0e8a7c0 change global_optyap_data macros to GLOBAL_. 2011-05-10 11:47:18 +01:00
Joao 676dd26c90 change macros in misc/GLOBALS to GLOBAL_. 2011-05-10 10:06:51 +01:00
Joao dc3c54c164 change LOCALS macros. 2011-05-04 10:11:41 +01:00
Joao f890a11377 change macros GLOBAL to Yap 2011-03-29 18:19:18 +01:00
Vítor Santos Costa ae702e6dd5 accept more version sof atom_length (SWI). 2011-03-14 20:53:48 +00:00
Vítor Santos Costa 0d6be2d858 improve string support
fix non-thread compilation.
2011-03-11 23:21:23 +00:00
Vítor Santos Costa 90d93fdbdd cache abstra machine register in threaded mode. 2011-03-07 16:02:55 +00:00
ubu32 57f5ef8cfc more bug fixes:
- make readline use packages, not old YAP code
- fix ! over backtrack cps
- fix write list
2011-02-15 05:54:19 -08:00
Vitor Santos Costa 3fe9b923cb more fixes to SWI emulation
integrate in main binary
2011-02-10 21:14:38 +00:00
Vitor Santos Costa 7e90e90239 fixes to number_codes and number_chars. 2010-10-29 10:28:25 +01:00
Vítor Santos Costa e031026a62 instrument PE locking
fix missing unlock in index_pred (if predicate had been indexed while we were
waiting).
2010-07-25 11:22:16 +01:00
Vítor Santos Costa 73c89b096d fix trouble with extension of latin1 characters. 2010-07-21 11:11:19 +01:00
Vítor Santos Costa d1599bca8d fix extra uses of mpz_ in external code. 2010-05-28 15:29:20 +01:00
Vítor Santos Costa c52dda489b be careful around 1L and friends 2010-05-11 00:18:12 +01:00
Vítor Santos Costa 11641c5f94 64 bit cleanups. 2010-05-06 15:00:44 +01:00
Ricardo Rocha 7eee5a5b56 new built-in predicates to access OPTYap statistics related to memory
usage.
2010-04-20 03:59:48 +01:00
Ricardo Rocha ddb1cd8604 adding two new modes to the yap_flag/2 and tabling_mode/2 built-in
predicates: 'local_trie' mode and 'global_trie' mode.
2010-04-16 02:08:06 +01:00
Vitor Santos Costa ccca051c48 avoid using ftell: it can be very slow on NFS. 2010-04-14 23:47:01 +01:00
Vítor Santos Costa II 9b3b304624 try again to get correct statistics on memory usage :(w 2010-04-10 21:18:35 +01:00
Vítor Santos Costa II 000f4524ea fix bad bracket 2010-03-26 16:16:05 +00:00
Vítor Santos Costa II 50b380c2aa make number_chars and atom_chars accept strings of numbers, unless if in strict iso. 2010-03-25 09:59:39 +00:00
U-Khasa\Vitor 46f0a0644c fix bad restore of operators (obs from Paulo Moura) 2010-03-01 11:52:42 -06:00
Vitor Santos Costa 5778730b62 be less enthusiastsis about writing (op). 2010-02-26 14:14:10 +00:00
Vitor Santos Costa 4355a94793 make syntax_error handling ISO compatible. 2010-02-26 13:08:38 +00:00
Vitor Santos Costa 0e9a98fa30 handle right cases where both argumnets to number_ are bound. 2010-02-26 12:01:24 +00:00
Vitor Santos Costa f4e734da34 make number_chars and atom_chars SWI/ISO compatible by default. 2010-02-26 10:04:08 +00:00
Vitor Santos Costa d78591f73c don't forget that we may have aaa and aa in substring. 2010-01-18 14:27:56 +00:00
Vitor Santos Costa 8f9f1223e7 fix sub_atom(xxx,_,_,_,'') (obs from David Vaz). 2010-01-17 00:04:17 +00:00
Vitor Santos Costa 7da431fe00 fix fix :( 2010-01-15 10:58:58 +00:00
Vitor Santos Costa 70c762c162 fix undefined predicate (made Logtalk loop). 2010-01-15 01:03:34 +00:00
Vitor Santos Costa 5b8dc25eff fix locking stuff. 2009-12-17 16:11:02 -02:00
Vitor Santos Costa ac2cf2434a prolog_flag executable (obs from Aubrey Barnard). 2009-12-10 01:16:29 +00:00
Vítor Manuel de Morais Santos Costa 506da0b1bf make write always protect operators when they are not used as operators so as to follow standard (#150). 2009-11-27 16:09:48 +00:00
Vitor Santos Costa 50d720a9c6 fix current_op/3 by walking over the chain of ops or properties and moving complex code to Prolog (obs from Paulo Moura). 2009-11-25 00:38:47 +00:00
Vitor Santos Costa 0179998d60 change Heap.h to YapHeap.h
rename $live to prolog/0 (for SWI compatibility).
2009-10-23 14:22:17 +01:00
Costa Vitor d8595221d0 optimise sub_atom when sub_atom is known. 2009-06-22 15:35:40 -05:00
Costa Vitor ec595374a6 fix allocation of temporary stack so that unification can work even for
very deep terms.
fix occur_unification_bug X = a(f(Y)).
2009-05-22 18:35:24 -05:00
Vitor Santos Costa 88b5f1a735 be careful to make sure we can hanle the interrupt. 2009-05-21 00:39:14 -05:00
Vitor Santos Costa c7066b43ec first try of setup_call_cleanup/3 and setup_call_catcher_cleanup/4 2009-05-19 23:53:14 -07:00
Vitor Santos Costa 94ebb90719 UDI patch: make it work with YAP. 2009-02-20 11:42:48 +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
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 a8ac9bfb43 generate known atoms and functors automatically 2008-12-23 01:53:52 +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 58d4442883 fixes for gcc-4.3 (same as stable) 2008-11-26 09:56:18 +00:00
Vitor Santos Costa 87987d0b85 fix extra arguments. 2008-10-17 12:37:39 +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
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