Commit Graph

1484 Commits

Author SHA1 Message Date
Vitor Santos Costa
a2a8f8e40e stop writing at very long lists. 2009-06-01 22:54:56 -05:00
Costa Vitor
8870a1e661 define virtual timer and use it for timeout (#96) 2009-06-01 19:49:03 -05:00
Costa Vitor
8e55611d90 fix bad test for space overflow 2009-06-01 19:28:30 -05:00
Costa Vitor
00c9194014 fix reference to Yap_regp 2009-06-01 15:46:37 -05:00
Vitor Santos Costa
0bd3c910dd step towards better emulation of SWI in backtrackable predicates. 2009-06-01 15:32:36 -05:00
Vitor Santos Costa
45a1544307 use Int for 32 bit flags (int would be ok, though). 2009-06-01 15:32:07 -05:00
Vitor Santos Costa
95f28228f6 - separate user_try and user_retry
- make sure we have slots inited in retrying user C code.
2009-06-01 15:30:22 -05:00
Vitor Santos Costa
e84ecf2eaf fix #37: give resource error if trying to create a functor with bignum arity
also, allow meta-call to create large functors > Int.
2009-05-29 22:34:50 -05:00
Vitor Santos Costa
0cd72ad258 changes to compile YAP in WIN32 2009-05-29 14:36:49 -05:00
Vitor Santos Costa
a45da5f722 check for memory overflows in format (very long double, say) obs from Ingo Thon. 2009-05-29 10:26:48 -05:00
Costa Vitor
43e9e9f337 alarm(0) should be careful to kill existing signals. 2009-05-26 17:31:21 -05:00
Vitor Santos Costa
3c57286531 make sure we disable disabling interrupts on error handler. 2009-05-25 09:58:27 -05:00
Vitor Santos Costa
a6f0b8cc9f ignore specific limit for max write depth on lists. Use same limit everywhere. 2009-05-24 19:37:07 -05:00
Vitor Santos Costa
a0750ff5b7 handle heap overflows when constructing new predicates. 2009-05-24 19:25:26 -05:00
Vitor Santos Costa
9a9767d73c cannot just do error when user does crazy things. 2009-05-24 19:20:00 -05:00
Vitor Santos Costa
46dc2b1a49 should exit if interrupts *are* disabled. 2009-05-24 19:19:22 -05:00
Vitor Santos Costa
de3c042143 just update, no interesting change. 2009-05-24 15:17:23 -05:00
Vitor Santos Costa
09216a70b8 fix unprotected calls to plwrite. 2009-05-24 15:15:36 -05:00
Vitor Santos Costa
81970013ed allow storing a pointer. 2009-05-24 15:14:44 -05:00
Vitor Santos Costa
b94baf1e5f try not to loop in infinite terms. 2009-05-24 15:14:23 -05:00
Vitor Santos Costa
b5e5a671a8 restore stack on JumpExec 2009-05-23 15:51:50 -05:00
Vitor Santos Costa
b9a7d24e8b avoid too long messages
back to top level if Yap_Error is called in a critical region.
2009-05-23 15:51:00 -05:00
Vitor Santos Costa
4d497193b6 fix garbage collection on attributed variables with lots of choice points. 2009-05-23 12:41:37 -05:00
Vitor Santos Costa
04c419b3b0 not always throw an error when it is not a variable. 2009-05-22 22:35:40 -05:00
Vitor Santos Costa
9a2dbdcb24 one extra warning goes away. 2009-05-22 21:53:24 -05:00
Vitor Santos Costa
f79d79e926 replace TYPE_ERROR_VARIABLE for attributes #57 2009-05-22 21:51:48 -05:00
Vitor Santos Costa
264d9322b9 fix compiler warning messages. 2009-05-22 21:33:09 -05:00
Costa Vitor
7304fbda13 fix lack of streams message (Ulrich Neumerkel #60) 2009-05-22 19:55:18 -05:00
Costa Vitor
c00facdd17 exception at fail could loop with bad env. #59 2009-05-22 19:43:17 -05:00
Costa Vitor
e611e1061a fix annoying int cast problems (64 bit only) 2009-05-22 19:09:18 -05:00
Costa Vitor
8fcc534a19 fix bad error propagation in term comparison #53 2009-05-22 18:44:05 -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
Costa Vitor
75e08846fe vargs needs include. 2009-05-22 14:44:32 -05:00
Vitor Santos Costa
23301fb19a avoid warning on malloc 2009-05-22 14:01:22 -05:00
Vitor Santos Costa
51e669dcfb support for passing priority as argument to write. (Ulrich's #45).
fixes on making write handle infinite loops
2009-05-22 13:24:27 -05:00
Vitor Santos Costa
e1421f207e use DebugPlWrite for debugging writes 2009-05-22 13:23:51 -05:00
Vitor Santos Costa
328e2f5c22 don't loop on cyclic terms. 2009-05-22 12:24:30 -05:00
Vitor Santos Costa
8e1c8d723e never do P=FAILCODE directly in the code. 2009-05-22 11:24:44 -05:00
Vitor Santos Costa
9852f7781d - simplify error handling in arithmetic and handle infinite terms (#46) 2009-05-22 11:21:39 -05:00
Vitor Santos Costa
3a3220d1a1 make sure we don't generate an heapexpansion in the middle of a write. 2009-05-21 01:04:13 -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
a59a434d66 use interrupts_disabled
make onerrupts disabled recursive (not quite needed, but maybe one day).
2009-05-21 00:38:35 -05:00
Vitor Santos Costa
aaec9ddceb fix overflow while dumping very large big ints (Ulrich #18) 2009-05-20 08:12:18 -07: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
a1203e56dd we don't always expand stack on attvar overflow. 2009-05-17 22:51:34 -07:00
Vitor Santos Costa
17e36dbda1 keep things right if there is a temporary overflow in loopy term checking. 2009-05-17 12:39:51 -07:00
Vitor Santos Costa
a52317b9c2 fix Yap_shift_visit for malloc: a few miscalculations... 2009-05-17 12:26:09 -07:00
Vitor Santos Costa
44f7e67394 make sure we reset global variables when exiting a thread 2009-05-17 10:38:39 -07:00
Vitor Santos Costa
ae5bf4d6e7 support resource errors for out of memory conditions.
improve stack dump message.
2009-05-17 09:42:56 -07:00
Vitor Santos Costa
d8590f2587 return error message if no room available. 2009-05-17 09:42:40 -07:00
Vitor Santos Costa
55e37020a4 return copy when copying term 2009-05-17 09:41:59 -07: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
8e7695a42c make Yap_Eval only on entry. 2009-05-16 22:41:44 -07:00
Vitor Santos Costa
7953004610 fix unused variable warning. 2009-05-13 17:12:12 -05:00
Vitor Santos Costa
6d8649226c fix tabling code. 2009-05-13 17:11:46 -05:00
Vitor Santos Costa
13e2febd30 stack overflow instructions could be wiped out by Restore. 2009-05-12 17:01:53 -05:00
Vitor Santos Costa
39ccbd345d make options -T -L -G work as SWI: they impose a maximum size limit 2009-05-10 13:36:55 -04:00
Vitor Santos Costa
b177a9e333 / is legal in Prolog, why did I comment that out? 2009-05-09 23:49:10 -04:00
Vitor Santos Costa
61973a2be6 be careful: error handling may have changed PC in call_c_with_fail! 2009-05-09 23:40:17 -04:00
Vitor Santos Costa
5b527e7eeb just make things prettier. 2009-05-09 23:39:57 -04:00
Vitor Santos Costa
f53c741d96 improve low-level tracer. 2009-05-09 23:30:20 -04:00
Vitor Santos Costa
5b537ef7e2 fix error handling. 2009-05-09 23:30:08 -04:00
Vitor Santos Costa
e4fdf5a1ff fix (??) X^N, N< 0. When does this make sense? 2009-05-07 23:42:16 -04: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
c2e6456c25 wait until sending out the abort message. 2009-05-04 22:30:47 -05:00
Vitor Santos Costa
c31737fe3d make sure that a meta-call to functor/3 has an environment so that
it can do garbage collection.
2009-05-04 21:57:08 -05:00
Vitor Santos Costa
a077500795 should always be ENV 2009-05-04 21:56:49 -05:00
Vitor Santos Costa
780b629bff fix bad handling of trail overflow. 2009-05-04 21:26: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
35c1cb6338 put future environment when waking up goals before failure. 2009-05-04 18:11:43 -05:00
Vitor Santos Costa
8385f4bea6 saved state should be startup.yss, not startup.yss, in case YAP looks up
saved state in current directory (obs from Ulrich Neumerkel).
2009-05-02 14:06:24 -05:00
Vitor Santos Costa
2016e118b3 Ulrich Neumerkel's patch so that variables are declared in front of a block. 2009-05-02 10:54:09 -05:00
Vitor Santos Costa
58838b7838 fix attributed variable space allocation 2009-05-01 12:11:52 -05:00
Vitor Santos Costa
ee44706d37 fix bad initialization of H0 in tabling 2009-05-01 12:09:49 -05:00
Vitor Santos Costa
91b3e4359d handle tabling errors where CP->AP==NULL 2009-05-01 12:09:22 -05:00
Vitor Santos Costa
8275f2232c fix handling of multiassignment variables with tabling;
fix bad overflow handling when copying terms from tries.
2009-05-01 11:53:59 -05:00
Vítor Santos Costa
04f3b32a9a clean code a little bit. 2009-04-29 14:22:20 +01:00
Vítor Santos Costa
8c3406adac don't forget to globalise variables before making them global. 2009-04-29 14:21:52 +01:00
Vitor Santos Costa
5baaf79916 fix call_with_args/.. (obs from Jose Santos). 2009-04-26 11:16:40 -05:00
Vitor Santos Costa
bb80c8d61c should use YENV, not ENV. 2009-04-26 10:51:18 -05:00
Vitor Santos Costa
e7b01f64d0 don't add minimums, compare them for memory overflows. 2009-04-26 10:50:56 -05:00
Vitor Santos Costa
e06ee4d4fa avoid over enthusiastic stack expansion. 2009-04-26 10:50:10 -05:00
Vitor Santos Costa
4cdfbae62a allow garbage collection when we store error term. 2009-04-26 10:48:32 -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
c5ba7e3854 fix non GMP code (obs from Tony Wilson). 2009-04-26 10:46:00 -05:00
Vitor Santos Costa
c132e7e6ec fix gmp support to give out of resource error if the bignum is too big. 2009-04-25 11:01:33 -05:00
Vitor Santos Costa
09d33c6cad try to give more helpful message in console aborts 2009-04-25 11:00:39 -05:00
Vitor Santos Costa
d02e14415b another fix to FileFromStream 2009-04-25 10:59:05 -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
450123d5c6 fix FileNoFromStream 2009-04-25 10:28:34 -05:00
Vitor Santos Costa
291997ad77 fix FileDescriptorFromStream 2009-04-25 10:27:55 -05:00
Vitor Santos Costa
fadec66d2c gmp_should always recover space for the temporary bignum. 2009-04-24 19:10:53 -05:00
Vitor Santos Costa
2503805aff support 2^2 is 4 and not 4.0: complicated if we have to deal with bignums. 2009-04-24 19:03:00 -05:00
Vitor Santos Costa
b5dc71d080 is_list/1 is now a builtin. 2009-04-24 10:31:53 -05:00
Vitor Santos Costa
08320410cb fix missing comma in declarations. 2009-04-23 09:12:03 -05:00
Vitor Santos Costa
1ea4a27dd1 YAP_FileNoFromStream for Nf 2009-04-22 21:42:15 -05:00
Vitor Santos Costa
7ed3b456ac add Yap_FileDescriptorFromStream at request from NF. 2009-04-22 16:41:41 -05:00