pike.git/
lib/
master.pike.in
Branch:
Tag:
Non-build tags
All tags
No tags
2003-03-08
2003-03-08 17:23:22 by Henrik Grubbström (Grubba) <grubba@grubba.org>
ab9d6799b9254fe63d4aa2f71473bf56121b3e8a (
46
lines) (+
37
/-
9
)
[
Show
|
Annotate
]
Branch:
7.9
Improved MODULE_TRACE debug.
Rev: lib/master.pike.in:1.261
6:
// Pike is distributed under GPL, LGPL and MPL. See the file COPYING // for more information. //
-
// $Id: master.pike.in,v 1.
260
2003/03/
07
17:
16
:
45
grubba Exp $
+
// $Id: master.pike.in,v 1.
261
2003/03/
08
17:
23
:
22
grubba Exp $
#pike __REAL_VERSION__
531:
{ if(!zero_type (ret=programs[fname])) { #ifdef RESOLV_DEBUG
-
werror ("low_findprog: %s returning cached (no autoreload)\n", fname);
+
werror ("low_findprog: %s returning cached (no autoreload)\n"
+
" %O\n"
, fname
, ret
);
#endif return ret; }
608:
} #ifdef RESOLV_DEBUG
-
werror ("low_findprog: %s
compiling\n
", fname);
+
werror ("low_findprog: %s
compiling, mkobj:%O\n
", fname
, mkobj
);
#endif programs[fname]=ret=__empty_program(0, fname); if ( mixed e=catch {
618:
mkobj? (objects[ret]=__null_program()) : 0); } ) {
-
ret=programs[fname]=0;
+
m_delete(objects,
ret
);
+
ret
=programs[fname]=0;
// Negative cache.
throw(e); } break;
1021:
index = dirname+"/"+index; #ifdef MODULE_TRACE werror("%*nDirnode(%O) findmodule(%O)\n",
-
sizeof(backtrace()), dirname,
dirname+"/"+index
);
+
sizeof(backtrace()), dirname,
index
);
#endif
-
if(
object o=findmodule(index, handler))
+
object o
;
+
if(objectp(o
=findmodule(index, handler))
)
{ if(mixed tmp=o->_module_value) o=tmp;
-
+
#ifdef MODULE_TRACE
+
werror("%*nDirnode(%O) findmodule(%O) ==> %O\n",
+
sizeof(backtrace()), dirname, index, o);
+
#endif
return o; } if (program p=cast_to_program( index, 0, handler )) {
-
+
#ifdef MODULE_TRACE
+
werror("%*nDirnode(%O) cast_to_program(%O) ==> %O\n",
+
sizeof(backtrace()), dirname, index, p);
+
#endif
return p; }
-
+
#ifdef MODULE_TRACE
+
werror("%*nDirnode(%O)->`[](%O) FAILED\n",
+
sizeof(backtrace()), dirname, index);
+
#endif
return UNDEFINED; }
1045:
if(!zero_type(ret=cache[index])) { #ifdef MODULE_TRACE
-
werror("%*nDirnode(%O) cache[%O] -> %
O\n
",
-
sizeof(backtrace()),dirname,index, ret);
+
werror("%*nDirnode(%O) cache[%O] -> %
O%s\n
",
+
sizeof(backtrace()),dirname,index, ret
,
+
(ret != ZERO_TYPE
)
?"":" (zero_type)")
;
#endif if (ret != ZERO_TYPE) return ret;
-
+
#ifdef MODULE_TRACE
+
werror("%*nDirnode(%O) ZERO_TYPE!\n",
+
sizeof(backtrace()),dirname);
+
#endif
return UNDEFINED; } ret=ind(index); // We might have gotten placeholder objects in the first pass // which must not be cached to the second.
-
if(ret == predef::__placeholder_object) return ret;
+
if(ret == predef::__placeholder_object)
{
+
#ifdef MODULE_TRACE
+
werror("%*nDirnode(%O) PLACE_HOLDER.\n",
+
sizeof(backtrace()),dirname);
+
#endif
+
return ret;
+
}
cache[index] = zero_type(ret) ? ZERO_TYPE : ret; return ret;
1260:
if(!zero_type(o=fc[fullname])) { // werror("fc[%O] -> %O\n",fullname, o);
+
if (objectp(o)) return o;
if (o == 0) return UNDEFINED; return o; }