Commit Graph

1551 Commits

Author SHA1 Message Date
Costa Vitor
9b7d2b1cd4 if the compiler has ommited the instructions, it means we should the
argument set up there by the compiler.
2009-06-08 20:08:21 -05:00
Costa Vitor
15519fa3cd tightenn conditions on JumpExec 2009-06-05 18:45:41 -05:00
Costa Vitor
5e4be93491 able to commit 64 bits 2009-06-05 12:18:10 -05:00
Vitor Santos Costa
7e108201b0 fix memory leak in mod. 2009-06-05 10:55:28 -05:00
Vitor Santos Costa
ecb03a61c0 fix memory leak in min/2 and max/2. 2009-06-05 10:38:07 -05:00
Vitor Santos Costa
a1b621507a max of bignums would always return the first bignum #118 2009-06-05 09:49:00 -05:00
Vitor Santos Costa
4b91f13ee1 allow easy shunting, but make sure we do not shunt chains below the current CP. 2009-06-05 09:47:17 -05:00
Vitor Santos Costa
b455f057a8 fix writing of atributed variables. 2009-06-04 10:18:28 -05:00
Vitor Santos Costa
cd63a1f493 temporary disable easy shunting until I understand trouble with aattributed variables #80 2009-06-04 10:14:27 -05:00
Vitor Santos Costa
ea4f3f6447 always count gc calls #93 2009-06-03 20:36:15 -05:00
Costa Vitor
5da51d615d fix crashes in 64-bit mode with unknown predicates. 2009-06-03 15:27:53 -05:00
Costa Vitor
efb72f7d0e make sure we send unsigned chars to writing routine (obs from Simon Strobl) 2009-06-03 10:25:21 -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
Costa Vitor
2daccab1cb avoid setjmp if we can do it. 2009-06-02 18:08:40 -05:00
Costa Vitor
adb25ff96f growglobal would core dump over holes. 2009-06-02 18:08:18 -05:00
Costa Vitor
f10dde5b90 make sure garbage collector goes to FAILCODE, not do a hard reset. 2009-06-02 16:36:00 -05:00
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
Vitor Santos Costa
0a2c90a919 fix warning 2009-04-22 16:41:33 -05:00
Vitor Santos Costa
3c84466d05 asserting on a spied predicate might make it loop for ever :( 2009-04-21 18:51:01 -05:00
Vitor Santos Costa
e204a8b7a3 display({A}) should not display as an operator. 2009-04-21 18:04:36 -05:00
Vitor Santos Costa
e2d3e66632 fix native_op 2009-04-18 17:55:18 -05:00
Vitor Santos Costa
c92765d962 SREG and S could be different; also S might be in use if there is an
overflow and the index code is jumping to the middle.
2009-04-18 15:22:51 -05:00
Vitor Santos Costa
7e98e5acdb fix another internal deadlock. 2009-04-17 14:17:43 -05:00
Vitor Santos Costa
c685991119 fix self-deadlock in empty IDB entries. 2009-04-16 12:55:47 -05:00
Vitor Santos Costa
9624026beb locking fixes. 2009-04-16 11:19:26 -05:00
Vitor Santos Costa
43ae55f5f2 thread_local is also dynamic. 2009-04-14 01:24:58 +01:00
Vitor Santos Costa
b92b026c90 more patches to support Anderson's JIT. 2009-04-08 00:32:36 +01:00
Vitor Santos Costa
b2ad3bd000 first cut at Anderson's JIT code. 2009-04-07 23:55:16 +01:00
Vitor Santos Costa
f97bc596b9 do not use int for modules, use Term. 2009-04-07 15:44:46 +01:00
Vitor Santos Costa
94b2b181a7 do not deref because you may want to pass a pointer. 2009-04-04 23:56:42 +01:00
Vitor Santos Costa
9e8db82391 updates to UDI package 2009-04-02 17:34:42 +01:00
Vitor Santos Costa
cc7ff82275 term_hash non non_ground terms: ignoring the variables. 2009-03-31 21:56:12 +01:00
Vitor Santos Costa
18eca09bd0 multiple assignment variables should always be globalised. 2009-03-31 21:55:17 +01:00
Vitor Santos Costa
67eddb5a5b arity may be a long int 2009-03-27 15:28:32 +00:00
Vitor Santos Costa
4b5c07192a get rid of debugging message. 2009-03-27 15:28:22 +00:00
Vitor Santos Costa
3a213d7029 get rid of debugging message. 2009-03-27 15:28:08 +00:00
Vitor Santos Costa
91fd215d3d fix bad types. 2009-03-27 15:23:54 +00:00
Vitor Santos Costa
099edc1520 get rid of compilation warning. 2009-03-27 15:19:30 +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
751426c610 fix unallocated variable in overflow. 2009-03-27 14:05:27 +00:00
Vitor Santos Costa
f46ff06f38 get rid of broken $clause/3: fixes listing of dynamic predicates. 2009-03-26 08:12:24 +00:00
Vitor Santos Costa
8a0b7312e4 get rid of thread warnings.. 2009-03-26 00:39:44 +00:00
Vitor Santos Costa
2a6869bf28 just planning for the future... 2009-03-26 00:38:46 +00:00
Vitor Santos Costa
5c2e5c524b recognise exceptions within comparisons. 2009-03-26 00:37:57 +00:00
Vitor Santos Costa
2e807fc5c7 fix static_growglobal. 2009-03-24 14:15:40 +00:00
Vitor Santos Costa
4b65b063ca fixes for threads to compile and boot. 2009-03-24 13:27:36 +00:00
Vitor Santos Costa
b198de2272 patch from master 2009-03-24 01:02:44 +00:00
Vitor Santos Costa
7769c33be7 fix shunting where it breaks variable order. 2009-03-24 00:17:59 +00:00
Vitor Santos Costa
1b238d62ec fix bad copy and paste from master 2009-03-17 22:29:24 +00:00