fix breakage in module system

disable stack writing in error for now


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2155 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc 2008-03-17 18:31:16 +00:00
parent 19a9340011
commit 1090771c90
6 changed files with 25 additions and 15 deletions

View File

@ -11,8 +11,13 @@
* File: cdmgr.c * * File: cdmgr.c *
* comments: Code manager * * comments: Code manager *
* * * *
* Last rev: $Date: 2008-02-22 15:08:33 $,$Author: vsc $ * * Last rev: $Date: 2008-03-17 18:31:16 $,$Author: vsc $ *
* $Log: not supported by cvs2svn $ * $Log: not supported by cvs2svn $
* Revision 1.219 2008/02/22 15:08:33 vsc
* Big update to support more SICStus/SWI like message handling
* fix YAPSHAREDIR
* fix yap.tex (Bernd)
*
* Revision 1.218 2008/01/23 17:57:44 vsc * Revision 1.218 2008/01/23 17:57:44 vsc
* valgrind it! * valgrind it!
* enable atom garbage collection. * enable atom garbage collection.
@ -5934,7 +5939,6 @@ p_choicepoint_info(void)
taddr = MkIntegerTerm((Int)cptr); taddr = MkIntegerTerm((Int)cptr);
while (go_on) { while (go_on) {
op_numbers opnum = Yap_op_from_opcode(ipc->opc); op_numbers opnum = Yap_op_from_opcode(ipc->opc);
go_on = FALSE; go_on = FALSE;
switch (opnum) { switch (opnum) {
#ifdef TABLING #ifdef TABLING
@ -6065,8 +6069,6 @@ p_choicepoint_info(void)
break; break;
case _Ystop: case _Ystop:
default: default:
pe = NULL;
t = TermNil;
return FALSE; return FALSE;
} }
} }

View File

@ -164,6 +164,8 @@ low_level_trace(yap_low_level_port port, PredEntry *pred, CELL *args)
LOCK(Yap_heap_regs->low_level_trace_lock); LOCK(Yap_heap_regs->low_level_trace_lock);
sc = Yap_heap_regs; sc = Yap_heap_regs;
vsc_count++; vsc_count++;
if (vsc_count < 2064000LL)
return;
#ifdef COMMENTED #ifdef COMMENTED
//*(H0+(0xb65f2850-0xb64b2008)/sizeof(CELL))==0xc || //*(H0+(0xb65f2850-0xb64b2008)/sizeof(CELL))==0xc ||
//0x4fd4d //0x4fd4d

View File

@ -11,7 +11,7 @@
* File: utilities for messing around in YAP internals. * * File: utilities for messing around in YAP internals. *
* comments: error messages for YAP * * comments: error messages for YAP *
* * * *
* Last rev: $Date: 2008-02-22 15:08:37 $,$Author: vsc $ * * Last rev: $Date: 2008-03-17 18:31:16 $,$Author: vsc $ *
* * * *
* * * *
*************************************************************************/ *************************************************************************/
@ -74,8 +74,7 @@ display_stack_info([],[Env|Envs],I,Cont) -->
{ I1 is I-1 }, { I1 is I-1 },
display_stack_info([], Envs, I1, NCont). display_stack_info([], Envs, I1, NCont).
display_stack_info([CP|LCPs],[Env|LEnvs],I,Cont) --> display_stack_info([CP|LCPs],[Env|LEnvs],I,Cont) -->
continuation(Env, _, NCont, CB), { yap_hacks:continuation(Env, _, NCont, CB), I1 is I-1 },
{ I1 is I-1 },
( { CP == Env, CB < CP } -> ( { CP == Env, CB < CP } ->
% if we follow choice-point and we cut to before choice-point % if we follow choice-point and we cut to before choice-point
% we are the same goal % we are the same goal
@ -91,7 +90,7 @@ display_stack_info([CP|LCPs],[Env|LEnvs],I,Cont) -->
). ).
show_cp(CP, Continuation) --> show_cp(CP, Continuation) -->
{ choicepoint(CP, Addr, Mod, Name, Arity, Goal, ClNo) }, { yap_hacks:choicepoint(CP, Addr, Mod, Name, Arity, Goal, ClNo) },
( { Goal = (_;_) } ( { Goal = (_;_) }
-> ->
[ '0x~16r~t*~16+ Cur~t~d~16+ ~q:~q/~d( ? ; ? )~n'- [ '0x~16r~t*~16+ Cur~t~d~16+ ~q:~q/~d( ? ; ? )~n'-
@ -106,8 +105,8 @@ show_cp(CP, Continuation) -->
show_env(Env,Cont,NCont) --> show_env(Env,Cont,NCont) -->
{ {
continuation(Env, Addr, NCont, _), yap_hacks:continuation(Env, Addr, NCont, _),
cp_to_predicate(Cont, Mod, Name, Arity, ClId) yap_hacks:cp_to_predicate(Cont, Mod, Name, Arity, ClId)
}, },
[ '0x~16r~t ~16+ Cur~t ~d~16+ ~q:' - [ '0x~16r~t ~16+ Cur~t ~d~16+ ~q:' -
[Addr, ClId, Mod] ], [Addr, ClId, Mod] ],
@ -121,9 +120,14 @@ clean_goal(G,_,G).
scratch_goal(N,A,Mod,NG) :- scratch_goal(N,A,Mod,NG) :-
list_of_qmarks(A,L), list_of_qmarks(A,L),
G=..[N|L], G=..[N|L],
beautify_hidden_goal(G,Mod,[NG],[]), !. (
beautify_hidden_goal(G,Mod,[NG],[])
;
G = NG
),
!.
list_of_qmarks(0,[]). list_of_qmarks(0,[]) :- !.
list_of_qmarks(I,[?|L]) :- list_of_qmarks(I,[?|L]) :-
I1 is I-1, I1 is I-1,
list_of_qmarks(I1,L). list_of_qmarks(I1,L).

View File

@ -11,7 +11,7 @@
* File: utilities for displaying messages in YAP. * * File: utilities for displaying messages in YAP. *
* comments: error messages for YAP * * comments: error messages for YAP *
* * * *
* Last rev: $Date: 2008-02-25 10:15:31 $,$Author: vsc $ * * Last rev: $Date: 2008-03-17 18:31:16 $,$Author: vsc $ *
* * * *
* * * *
*************************************************************************/ *************************************************************************/
@ -73,6 +73,7 @@ generate_message(M) -->
stack_dump(M). stack_dump(M).
stack_dump(error(_,_)) --> stack_dump(error(_,_)) -->
{ fail },
{ nb_getval(sp_info,local_sp(P,CP,Envs,CPs)) }, { nb_getval(sp_info,local_sp(P,CP,Envs,CPs)) },
{ Envs = [_|_] ; CPs = [_|_] }, !, { Envs = [_|_] ; CPs = [_|_] }, !,
[nl], [nl],

View File

@ -241,7 +241,7 @@ module(N) :-
% current module for fixing up meta-call arguments % current module for fixing up meta-call arguments
% current module for predicate % current module for predicate
% head variables. % head variables.
'$module_expansion'(V,call(G),call(MM:G),_M,MM,_TM,_) :- var(V), !. '$module_expansion'(V,call(MM:V),call(MM:V),_M,MM,_TM,_) :- var(V), !.
'$module_expansion'((A,B),(A1,B1),(AO,BO),M,MM,TM,HVars) :- !, '$module_expansion'((A,B),(A1,B1),(AO,BO),M,MM,TM,HVars) :- !,
'$module_expansion'(A,A1,AO,M,MM,TM,HVars), '$module_expansion'(A,A1,AO,M,MM,TM,HVars),
'$module_expansion'(B,B1,BO,M,MM,TM,HVars). '$module_expansion'(B,B1,BO,M,MM,TM,HVars).

View File

@ -38,5 +38,6 @@
'$hide'('$dbref') :- !, fail. /* not stream position */ '$hide'('$dbref') :- !, fail. /* not stream position */
'$hide'('$stream') :- !, fail. /* not $STREAM */ '$hide'('$stream') :- !, fail. /* not $STREAM */
'$hide'('$stream_position') :- !, fail. /* not stream position */ '$hide'('$stream_position') :- !, fail. /* not stream position */
'$hide'('$hacks') :- !, fail. /* not stream position */
'$hide'(Name) :- hide(Name), fail. '$hide'(Name) :- hide(Name), fail.