Vítor Santos Costa
c95045e14c
improve support for floating point exceptions.
2014-10-14 01:13:31 +01:00
Vítor Santos Costa
11b957f5fe
protect from tracing.
2014-10-05 10:19:42 +01:00
Vítor Santos Costa
7a577a72ff
stdbool.
2014-09-22 18:08:39 +01:00
Vítor Santos Costa
99713d81a6
replace locks by critical sections in interrupt handling
2014-09-02 14:19:23 -05:00
Vítor Santos Costa
19d0f56f2d
fix arena initialization
2014-08-23 14:47:40 -05:00
Vítor Santos Costa
6f88083d38
fix inityaamregs not to destroy global structures.
2014-08-18 01:25:55 -05:00
Vítor Santos Costa
a76b6d23dc
Fix: eclipse >u. into >y_u.
2014-05-30 01:06:09 +01:00
Andreas Becker
dc37d76e8b
Merge branch 'github.com/master'
...
Conflicts:
Makefile.in
2014-05-29 12:19:45 +02:00
Andreas Becker
72b9ec59b7
Fix: Win32 defines Bind, so change Bind to YapBind.
2014-05-29 11:32:28 +02:00
Vítor Santos Costa
a719c19d03
fix interrupt handling, especially for ! and ;
...
avoid using S.
2014-05-25 20:43:52 +01:00
Vitor Santos Costa
aba5f3d88b
handle locking more carefully (especially protect gc and stack shifting).
2014-04-23 22:41:12 +01:00
Vitor Santos Costa
f39ed68fe8
check for mistypes
2014-04-06 17:06:19 +01:00
Vitor Santos Costa
2c89aadb11
WIN64 support (sill needs improvement)
2014-03-06 02:09:48 +00:00
David Vaz
3cad9c37b1
removed unnecessary cut_c macros (always on)
2014-02-11 07:15:39 -08:00
Vitor Santos Costa
d648375412
make MYDDAS into its own module.
2014-01-24 19:59:42 +00:00
Vitor Santos Costa
6b2e1973ab
Windows fixes, mainly H -> HB
2014-01-19 21:15:05 +00:00
Vitor Santos Costa
a4b130ff1b
do wake up before \!
2013-12-16 12:34:41 +00:00
Vitor Santos Costa
2410cd3862
fixes to new signal handling/debugging code
2013-12-13 08:42:57 +00:00
Vitor Santos Costa
44d28aa0c9
cleanup on exception handling
2013-12-12 14:24:40 +00:00
Vítor Santos Costa
fba3c34e50
trace fixes
2013-12-11 09:34:43 +00:00
Vítor Santos Costa
e768a7e7be
small improvements to debugger, prolog mode and meta-call (*->)
2013-12-10 22:58:02 +00:00
Vitor Santos Costa
6ba13c7b88
yaam knows not about handles, and they do not know about the yaam
2013-11-20 22:23:29 +00:00
Vítor Santos Costa
84bd55df0d
continue cleanup
2013-11-16 00:27:02 +00:00
Vitor Santos Costa
4e4f21e1dc
upgrade to latest swi
2013-11-15 01:10:25 +00:00
Vitor Santos Costa
f0bc4fb458
cut point should be initialised when bootrapping a new goal
2013-04-26 16:38:54 -05:00
Vitor Santos Costa
743c9c69fb
get rid of PROTO
2013-04-25 17:15:04 -05:00
Vítor Santos Costa
8cadc14ed4
Merge branch 'master' of ssh://yap.git.sourceforge.net/gitroot/yap/yap-6.3
...
Conflicts:
C/exec.c
2013-02-17 07:03:38 -06:00
Vítor Santos Costa
4dc28bc48a
add missing predicate.
2013-02-17 07:02:03 -06:00
Vítor Santos Costa
ec7158eb99
debugger progress
2013-02-13 09:06:06 -06:00
Vítor Santos Costa
046cb5f8d6
debugging
2013-02-08 10:36:45 -06:00
Vitor Santos Costa
33da88be5b
fix SWI exec issues and try to clean up the code a bit
2013-02-05 14:22:17 +00:00
Vitor Santos Costa
14d4386e5a
inf depth limit
2013-01-28 23:21:54 +00:00
Vítor Santos Costa
014a0ec5bc
CurSlot maintenance
2013-01-19 22:13:43 +00:00
Vitor Santos Costa
0f362ae77f
term and goal expansion should actually call the goal
2013-01-18 14:27:06 +00:00
Vítor Santos Costa
14b67dc76d
fix threads
2012-12-20 21:33:20 +00:00
Vítor Santos Costa
45b6263f85
have a separator cell not to confuse the gc.
2012-12-15 00:40:11 +00:00
Vitor Santos Costa
f329b5f06b
fix compilation without threads
2012-12-14 22:54:00 +00:00
Vitor Santos Costa
e648d197a8
fix worker_id assignment in threads
2012-12-14 19:58:07 +00:00
Vitor Santos Costa
9107af2e3d
improve thread startup
2012-12-13 18:12:50 +00:00
Vitor Santos Costa
e41f821d67
improve multi-threading support from C-interface. Still not quite there.
2012-12-11 22:07:10 +00:00
Vitor Santos Costa
556937195d
avoid meta-call in system; improve goal/pred expansion
2012-12-07 08:08:32 +00:00
Vitor Santos Costa
88f2dc7730
change the way predicates are hidden
2012-10-19 18:10:48 +01:00
Vítor Santos Costa
2cfb744b07
fix bad frame pointer.
2012-04-17 00:21:08 +01:00
Vítor Santos Costa
683377b520
buffer output when exiting absmi.
2012-04-12 23:52:25 +01:00
Vítor Santos Costa
2f17b25885
improve error handling.
2012-02-06 11:41:58 +00:00
Vítor Santos Costa
123ef47171
fix longjmp RestartEnv to be performed by a single function.
2012-02-05 12:04:29 +00:00
Vítor Santos Costa
6c98e37e18
make sure to save absmi registers before longjmp.
2012-02-05 10:51:40 +00:00
Vítor Santos Costa
8c7d0af032
Merge branch 'master' of ssh://yap.git.sourceforge.net/gitroot/yap/yap-6.3
2011-12-22 11:44:48 +00:00
Vítor Santos Costa
551df1c70a
handle blob overflows.
2011-12-22 10:27:56 +00:00
Vítor Santos Costa
18190a4633
fix types for return absmi and friends.
2011-12-13 23:09:05 +00:00
Vítor Santos Costa
32ebfe00fd
use module in RunOnce.
2011-12-13 22:20:28 +00:00
Vítor Santos Costa
66ae65fe09
small look at compilation.
2011-10-02 19:55:22 -03:00
Vítor Santos Costa
36d20477fb
small fixes to avoid using global reg.
2011-10-02 16:18:09 -03:00
Joao
1a6aff8aa1
Merge branch 'master' of git://yap.git.sourceforge.net/gitroot/yap/yap-6.3
2011-09-15 15:44:26 +01:00
Joao
64ae3cdf52
fix YAPOR incremental copy.
2011-09-15 15:40:47 +01:00
Vitor Santos Costa
9993ca2f3a
syntax change
2011-08-31 13:54:19 -07:00
Vitor Santos Costa
991d85edf0
fixes to interrupt handling in readline.
2011-07-22 22:48:30 +01:00
ubu32
11a74236dc
fix slots: have slots ready at init, even if we don't have a Prolog top-level;
...
don't get lost after pruning.
2011-07-11 22:12:32 -07:00
Vitor Santos Costa
6863a43e76
fix handling of backtrackable C-code in longjmp and other long range cuts.
2011-07-09 07:56:11 -04:00
Joao
971ad94311
moved several global variables to misc/GLOBALS
2011-05-25 16:40:36 +01:00
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
Ricardo Rocha
026616963c
remove FOREIGN_ macros and use REMOTE_ instead
2011-05-09 20:19:49 +01:00
Ricardo Rocha
a532b6cff3
struct local_optyap_data is now part of struct worker_local (generated from the file LOCALS)
2011-05-09 19:36:51 +01:00
Joao
65a514349f
Remove LOCAL_WPP.
2011-05-05 09:32:04 +01:00
Joao
dc3c54c164
change LOCALS macros.
2011-05-04 10:11:41 +01:00
Vítor Santos Costa
0b0d887275
initialise H0[-1]: avoid complaints from valgrind during gc.
2011-04-15 23:07:56 +01:00
Vítor Santos Costa
7a78d5c200
initialise initial ENV fully.
2011-04-15 23:05:03 +01:00
Joao
3e148c3541
change define SBA to YAPOR_SBA
2011-03-30 15:32:59 +01:00
Vítor Santos Costa
0d8aed7971
new implementation of corourining...
2011-03-18 19:34:58 +00:00
Vítor Santos Costa
92d2152aa7
fix bad lookout for handler choicepoint.
2011-03-11 19:47:58 +00:00
Vítor Santos Costa
90d93fdbdd
cache abstra machine register in threaded mode.
2011-03-07 16:02:55 +00:00
Vitor Santos Costa
6617a63b7e
attempt to improve error handliong in SWI emulation.
2011-02-11 14:17:27 +00:00
Vítor Santos Costa
eb82f5fa2a
more fixes to recursive call execution and backtracking from within C-mode.
...
semweb java example now working.
2010-12-14 09:30:40 +00:00
Vítor Santos Costa
3933ee4053
fix slot initialization problem.
2010-12-13 20:39:12 +00:00
Vítor Santos Costa
8db05c883b
make sure we separate betwen async exceptions and synchroneous.
2010-12-04 19:05:13 +00:00
Vítor Santos Costa
c6f41e2970
YAP_FAIL_ERROR in case a fail has been requested, but not accepetd yet.
2010-12-04 18:45:09 +00:00
Vitor Santos Costa
4aee4df719
single initialization for top frame.
2010-11-28 11:51:31 +00:00
Vitor Santos Costa
07907f1839
fix breakage in ball access
...
fix unnecuessary --ASP (why?)
2010-07-27 23:21:15 +01:00
Vitor Santos Costa
5b7f04b4b6
fix typo.
2010-07-27 23:12:16 +01:00
Vítor Santos Costa
08627579fc
try to maintain a valid ASP even after a longjmp to top-level
2010-07-27 17:27:47 +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
3dd68aa8bd
fix EX: it cannot be a term and it should be a placeholder for BallTerm,
...
so the twp can never be alive at the same time.
2010-07-21 12:49:06 +01:00
Vítor Santos Costa
0ccb607f19
FIX: initslots could destroy environment
2010-06-18 00:25:24 +01:00
Vítor Santos Costa
247d59f0ef
- slots should be considered as always live for gc.
...
- make sure slots do not die when they should be live, and vice-versa.
- improve a little on foreign_frame
2010-06-01 00:40:58 +01:00
Vitor Santos Costa
d5e1ff38f4
new interface to access globals. They are not in a file called GLOBALS, from which
...
we generate several files automatically.
2010-03-21 22:12:42 +00:00
Vitor Santos Costa
3c6a4435d8
Merge branch 'new_atts'
2010-03-15 15:05:42 +00:00
Ricardo Rocha
ee0022bb47
checking for frozen segments in the trail stack in now done using the
...
macro IN_BETWEEN(Yap_TrailBase, ref, Yap_TrailTop)
2010-03-12 20:02:32 +00:00
Vitor Santos Costa
43a822b41f
IsAttVar
2010-03-08 09:21:16 +00:00
Vitor Santos Costa
3070e4ce9d
fix locking issues with dynamic predicates and threads (obs from Paulo Moura).
2010-03-03 22:11:50 +00:00
Vitor Santos Costa
361c54bed8
execute0 has no access to the third argument.
2010-02-26 10:04:33 +00:00
Vítor Santos Costa
5e1f8ff84f
Merge branch 'master' of gitosis@yap.dcc.fc.up.pt:yap-6
2010-02-25 17:52:30 +00:00
Vítor Santos Costa
6a7e584e94
protect better call
2010-02-25 17:52:11 +00:00
Vitor Santos Costa
7b89916c43
C-code may mess up with environment: we cannot afford to just jump
...
there from anywhere (obs from Stefano Ferili).
2010-02-21 00:45:49 +00:00
Vítor Manuel de Morais Santos Costa
5ef31fbfd2
experiment in or-parallel threads.
2010-01-14 15:58:19 +00:00
Vítor Manuel de Morais Santos Costa
48861db34e
fix bad testing of choice-point in throw (tabling bug?)
2009-12-12 23:22:10 +00:00
Vítor Manuel de Morais Santos Costa
1176f71f3a
support for making sure exceptions are reset when they should be reset (obs from Nuno Fonseca, #159 )
2009-12-03 17:48:25 +00:00
Vitor Santos Costa
d2da5bfe26
fix setup_call_cleanup and friends.
2009-12-03 02:13:22 +00:00
Vitor Santos Costa
06d30b9fc9
Jump and Throw need to store the term away, if they try to use arena
...
the term will hang in the stack (#152 ).
2009-12-02 21:59:41 +00:00
Vítor Manuel de Morais Santos Costa
98f79484ae
change throw mechanism to fit better with cleanup mechanism:
...
- balls are now stored off line and recovered by Prolog code when everything
is safe.
- if a ball exists, throw uses the *existing* one (be careful not to have one
laying around).
- Jump routine cleans up every cp except ones for setup_call handling, backtracking simply calls setup handlers.
2009-11-27 11:21:24 +00:00
Vítor Manuel de Morais Santos Costa
7f5da32c08
fix trail when you do a jumpenv (Ulrich Neumerkel #152 )
2009-11-25 09:47:38 +00:00
Vitor Santos Costa
d637451bd6
make sure to put TR correctly (fixes copying DB terms with att vars #148 )
2009-11-21 00:23:03 +00:00
Vitor Santos Costa
945fff50a2
we should only recover H after we backtrack, never before.
2009-11-17 10:03:14 +00:00
Vítor Manuel de Morais Santos Costa
8f46f3d71d
fix bad passing of ! destination if we were running at an exec: affected debugger.
2009-11-04 12:17:17 +00:00
Costa Vitor
869671fb1b
make sure to have trail entries reset on setjump (obs from Jose Santos).
2009-07-17 19:31:20 -05: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
f5a72828a0
fix SPARC register allocation bugs (not verified) #130
2009-06-15 10:29:31 -05:00
Vitor Santos Costa
b4ff9b492a
make sure to recover stack before copying exception term.
2009-06-14 11:17:12 -05:00
Vitor Santos Costa
826b45d21c
fix handling of out stack while throwing an exception.
2009-06-13 15:21:13 -05:00
Vitor Santos Costa
475e681907
do fetch and remove a the same time: PopFromDB
2009-06-13 13:06:02 -05:00
Vitor Santos Costa
4de6e48a33
save exception term in database, so that it is clean separate from stacks. #116
2009-06-12 14:35:15 -05:00
Costa Vitor
15519fa3cd
tightenn conditions on JumpExec
2009-06-05 18:45:41 -05:00
Costa Vitor
7f54acb536
separate standard alarm from virtual alarm. timeout uses virtual alarm #112
2009-06-03 10:09:14 -05:00
Costa Vitor
b72345cc97
handle correctly throws within the scope of a call_cleanup. This is implemented
...
by using an extra argument to verify if the catcher is the current call_cleanup.
If it is, we allow the exception to go forth.
2009-06-02 19:46:41 -05:00
Vitor Santos Costa
b5e5a671a8
restore stack on JumpExec
2009-05-23 15:51:50 -05:00
Vitor Santos Costa
f79d79e926
replace TYPE_ERROR_VARIABLE for attributes #57
2009-05-22 21:51:48 -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
94e740ae31
reduce the initail amount of space for globals
2009-05-17 09:41:34 -07:00
Vitor Santos Costa
de1fb3e2c5
copy exception term early on to avoid dangling pointers.
2009-05-17 08:02:34 -07:00
Vitor Santos Costa
6d8649226c
fix tabling code.
2009-05-13 17:11:46 -05:00
Vitor Santos Costa
21fa27526c
generate error if module is unspecified (obs from Ulrich Neumerkel).
2009-05-07 23:14:28 -04:00
Vitor Santos Costa
0cd9009132
remove debugging message.
2009-05-05 10:15:34 -05:00
Vitor Santos Costa
32b08082f7
fix clean_trail: with threads, objects may be above stack, not just below.
2009-05-05 09:56:47 -05:00
Vitor Santos Costa
10c38f8164
1. catch should not catch outside of scope!
...
2. when we are catching check for the first cleanup we can find; and while
doing that going on rewinding variables, for SICStus compatibility.
2009-05-04 18:12:33 -05:00
Vitor Santos Costa
ee44706d37
fix bad initialization of H0 in tabling
2009-05-01 12:09:49 -05:00
Vitor Santos Costa
5baaf79916
fix call_with_args/.. (obs from Jose Santos).
2009-04-26 11:16:40 -05:00
Vitor Santos Costa
2b79d5aada
fix case where we call YAP with very large arities (obs from Ulrich Neumerkel).
2009-04-26 10:47:41 -05:00
Vitor Santos Costa
7628c875e8
make sure to be compatible with non-gcc/old gcc
2009-04-25 10:58:42 -05:00
Vitor Santos Costa
9624026beb
locking fixes.
2009-04-16 11:19:26 -05:00
Vitor Santos Costa
3a213d7029
get rid of debugging message.
2009-03-27 15:28:08 +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
c9c097b32d
improve implementation of call_with_args/*
2009-03-13 11:11:04 +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
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
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 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
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
vsc
16d0f2e749
fix TopLevelGoal to handle correctly undefined predicates. Make sure that
...
undefined predicated will not force the boot process to loop.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2310 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-19 13:33:45 +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
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
511181b472
debugging fixes
...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2238 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-15 18:31:02 +00:00
vsc
af0fb4f4d9
SWI-portability changes
...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2088 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-02-12 17:03:59 +00:00
vsc
637f381d94
valgrind it!
...
enable atom garbage collection.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2055 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-01-23 17:57:56 +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
d908c8633f
implement sophisticated operations with matrices.
...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2022 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-11-16 14:58:41 +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
vsc
642b498728
fix garbage collector and fix LeaveGoal
...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1945 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-10-05 18:24:30 +00:00