Commit Graph

140 Commits

Author SHA1 Message Date
Vítor Santos Costa
0d6be2d858 improve string support
fix non-thread compilation.
2011-03-11 23:21:23 +00:00
Vítor Santos Costa
e05b84ce4e fix to thread support. 2011-03-11 19:49:32 +00:00
Vítor Santos Costa
90d93fdbdd cache abstra machine register in threaded mode. 2011-03-07 16:02:55 +00:00
Vítor Santos Costa
9c3041f1e3 support copying registers in SWI code. 2011-03-03 11:41:21 +00:00
ubu32
140318ff16 read works now. 2011-02-14 23:39:27 -08:00
Vitor Santos Costa
98684ba4bb remove YAP sockets interface. 2011-02-12 23:38:24 +00:00
Vitor Santos Costa
2d07a7730e remove YAP memory (string) streams. 2011-02-12 18:42:44 +00:00
Vitor Santos Costa
6617a63b7e attempt to improve error handliong in SWI emulation. 2011-02-11 14:17:27 +00:00
Vitor Santos Costa
168a6366f8 enable obtaining current stream_position from SWI.y 2010-12-19 21:32:13 +00:00
Vítor Santos Costa
4546a22101 SWI seems to use t=0 for user_input/output. Not very clear why... 2010-12-15 20:03:22 +00:00
Vitor Santos Costa
3c4da56af2 allow write to find out about SWI streams in SWI mode. 2010-12-13 12:38:37 +00:00
Vítor Santos Costa
388f4fb782 expand C-interface to allow access to common term operations (request from Ingo Molnar). 2010-08-02 19:48:17 +01:00
Vitor Santos Costa
68a1ab6ce7 make sure that we don't have tails of lists with local variables. 2010-07-19 14:39:52 +01:00
Vitor Santos Costa
b2184ecb00 term export and import routines 2010-07-15 17:19:37 +01:00
Vítor Santos Costa
cf90ace3e1 signal handling SWI style. 2010-06-17 08:20:34 +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
Vítor Santos Costa
293dadb003 support for rational numbers
make floor and friends return an integer (make it closer to SICStus).
2010-05-28 09:53:56 +01:00
Vítor Santos Costa
faeef37a03 long -> Int 2010-05-10 10:21:56 +01:00
Vitor Santos Costa
ecaf6aa713 lookup with max lentgth 2010-05-06 10:58:25 +01:00
Vítor Santos Costa
2be8bcb482 64 bit error 2010-05-04 14:53:05 +01:00
Vitor Santos Costa
31554991c8 better emulation of SWI atom_t and functor_t. 2010-05-03 14:26:56 +01:00
Vitor Santos Costa
55b464dace export Yap_WinError 2010-04-07 01:35:44 +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
53b4828000 new Atts Code. 2010-03-08 09:24:11 +00:00
Vitor Santos Costa
5778730b62 be less enthusiastsis about writing (op). 2010-02-26 14:14:10 +00:00
Vítor Manuel de Morais Santos Costa
9d1f0cd361 incremental copying with or-threads. 2010-02-01 20:05:01 +00:00
Vítor Manuel de Morais Santos Costa
139fc6c440 small fixes for CUT_C 2010-01-28 15:42:49 +00:00
Vitor Santos Costa
5cd85f4eaa export Yap_IsGroundTerm(t) 2010-01-25 12:28:49 +00:00
Vítor Manuel de Morais Santos Costa
5ef31fbfd2 experiment in or-parallel threads. 2010-01-14 15:58:19 +00:00
Vitor Santos Costa
6d1eec34db make atom locking compatible with SWI-Prolog. 2009-12-21 10:12:47 -02: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
Vítor Manuel de Morais Santos Costa
b16623d026 fix realloc and friends (obs from Nuno Fonseca). 2009-11-27 13:31:03 +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
Vitor Santos Costa
ffe1dfdfff support for module based operators. 2009-11-20 00:33:14 +00:00
Vitor Santos Costa
832f3d2e4a fix missing header for Yap_rational_tree_loop 2009-11-17 02:07:06 +00:00
Costa Vitor
15519fa3cd tightenn conditions on JumpExec 2009-06-05 18:45:41 -05:00
Costa Vitor
5da51d615d fix crashes in 64-bit mode with unknown predicates. 2009-06-03 15:27:53 -05:00
Vitor Santos Costa
dbfccfced5 fix flags from int to Int 2009-06-01 15:37:32 -05:00
Vitor Santos Costa
81970013ed allow storing a pointer. 2009-05-24 15:14:44 -05:00
Vitor Santos Costa
b5dc71d080 is_list/1 is now a builtin. 2009-04-24 10:31:53 -05:00
Vitor Santos Costa
f97bc596b9 do not use int for modules, use Term. 2009-04-07 15:44:46 +01:00
Vitor Santos Costa
4044684dea prototype UDI initializer. 2009-03-27 15:28:50 +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
901161a413 patches to remove ints and be able to allocate a lot of memory in 64 bit mode. 2009-03-27 14:45:40 +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
Vítor Santos Costa
a2744ed186 further changes to better support SWI interface. 2008-12-17 14:47:05 +00:00
Vítor Santos Costa
2b0c27deb6 Remove attempt to emulate SWI I/O
add YAP_getcwd and PL_cwd to interface
2008-12-13 16:07:55 +00: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
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