cvsuser 03/01/31 08:41:38
Modified: languages/imcc pbc.c
languages/imcc/t/syn eval.t
Log:
some comments
Revision Changes Path
1.20 +6 -1 parrot/languages/imcc/pbc.c
Index: pbc.c
===================================================================
RCS file: /cvs/public/parrot/languages/imcc/pbc.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -w -r1.19 -r1.20
--- pbc.c 31 Jan 2003 15:14:03 -0000 1.19
+++ pbc.c 31 Jan 2003 16:41:23 -0000 1.20
@@ -279,10 +279,15 @@
*
* if a compile command was found, write global fixup records
* for all local labels
+ * and write fixup records for global _labels.
*/
for (ins = instructions; ins ; ins = ins->next) {
SymReg *addr, *label;
- if ((ins->type & ITLABEL) && has_compile) {
+ if ((ins->type & ITLABEL) &&
+ (has_compile || *ins->r[0]->name == '_')) {
+ /* XXX labels should be mangled with current subroutine name
+ * they should only be reachable from eval's in current sub
+ */
PackFile_FixupTable_new_entry_t0(interpreter,
ins->r[0]->name, ins->r[0]->color + oldsize);
}
1.5 +0 -1 parrot/languages/imcc/t/syn/eval.t
Index: eval.t
===================================================================
RCS file: /cvs/public/parrot/languages/imcc/t/syn/eval.t,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -w -r1.4 -r1.5
--- eval.t 27 Jan 2003 17:07:14 -0000 1.4
+++ eval.t 31 Jan 2003 16:41:38 -0000 1.5
@@ -30,7 +30,6 @@
compile P0, $P0, $S1
invoke
print "back\n"
- noop # filler to avoid realloc of code ;-)
end
.end
CODE