PERL CVS PARROT 5 CVS COMMIT PARROT SRC EXEC START C
Date: 19 Feb 2005 12:28:39 -0000

Subject: cvs commit: parrot/src exec_start.c
From: bernhard@no-spam (Bernhard Schmalhofer)

cvsuser 05/02/19 04:28:39

Modified: config/gen/makefiles root.in src exec_start.c Log:
Repair the creation of executables from Parrot ByteCode.
The PMC register P5 is now accesed via the macro REG_PMC.
'make testexec' and 'make hello' should work again.
The main task, testing execs for all testcase, remains to do.
Revision Changes Path 1.274 +20 -16 parrot/config/gen/makefiles/root.in Index: root.in ===================================================================
RCS file: /cvs/public/parrot/config/gen/makefiles/root.in,v retrieving revision 1.273
retrieving revision 1.274
diff -u -r1.273 -r1.274
--- root.in 2 Feb 2005 12:23:25 -0000 1.273
+++ root.in 19 Feb 2005 12:28:38 -0000 1.274
@@no-spam -1,5 +1,5 @@no-spam # Copyright: 2001-2005 The Perl Foundation. All Rights Reserved.
-# $Id: root.in,v 1.273 2005/02/02 12:23:25 leo Exp $
+# $Id: root.in,v 1.274 2005/02/19 12:28:38 bernhard Exp $
###############################################################################

#
@@no-spam -468,12 +468,16 @@no-spam .c$(O) :
@no-spam tools/dev/cc_flags.pl ./CFLAGS $(CC) "" $(CFLAGS) -I$(@no-spam ${cc_o_out}$@no-spam -c $<

-.imc.pbc:
+.imc.pbc :
.${slash}$(PARROT) -o $@no-spam $<
-.pir.pbc:
+.pir.pbc :
.${slash}$(PARROT) -o $@no-spam $<
+.pbc$(O) :
+ .${slash}$(PARROT) -o $@no-spam $<
+
+
###############################################################################

#
# USER TARGETS:
@@no-spam -596,7 +600,7 @@no-spam @no-spam ""
@no-spam "Misc:"
@no-spam " help: Print this help message."
- @no-spam " hello: 'Hello World' in PASM"
+ @no-spam " hello: 'Hello World' as an executable."
@no-spam " mops: Currently not working???"
@no-spam ""
@@no-spam -1385,23 +1389,23 @@no-spam # test the EXEC stuff -testexec: hello-parrot hello-clean +testexec: hello hello-clean:
- @no-spam hello.pasm hello$(O) hello + $(RM_F) hello.pasm hello.pbc hello$(O) hello -hello-parrot: hello +hello.pasm :
+ echo '# This is used for testing EXEC.' > hello.pasm + echo 'print "Hello World\n"' >> hello.pasm + echo 'end' >> hello.pasm -hello.pasm:
- echo 'print "Hello World\n"' > hello.pasm - echo 'end' >> hello.pasm +hello.pbc: hello.pasm + .${slash}$(PARROT) -o hello.pbc hello.pasm -hello.pbc: hello.pasm - ./parrot -o hello.pbc hello.pasm +hello$(O): hello.pbc + .${slash}$(PARROT) -o hello$(O) hello.pbc -hello$(O): hello.pbc - ./parrot -o hello$(O) hello.pbc -
-hello: hello$(O)
+hello: test_prep hello$(O)
$(MAKE) EXEC=hello exec ./hello +
1.14 +3 -3 parrot/src/exec_start.c Index: exec_start.c ===================================================================
RCS file: /cvs/public/parrot/src/exec_start.c,v retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- exec_start.c 18 Oct 2004 01:35:33 -0000 1.13
+++ exec_start.c 19 Feb 2005 12:28:39 -0000 1.14
@@no-spam -1,6 +1,6 @@no-spam /*
-Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-$Id: exec_start.c,v 1.13 2004/10/18 01:35:33 brentdax Exp $
+Copyright: 2001-2005 The Perl Foundation. All Rights Reserved.
+$Id: exec_start.c,v 1.14 2005/02/19 12:28:39 bernhard Exp $
=head1 NAME @@no-spam -59,7 +59,7 @@no-spam userargv = pmc_new_noinit(interpreter, enum_class_SArray);
/* immediately anchor pmc to root set */
- interpreter->pmc_reg.registers[5] = userargv;
+ REG_PMC(5) = userargv;
VTABLE_set_pmc_keyed_int(interpreter, interpreter->iglobals,
(INTVAL)IGLOBALS_ARGV_LIST, userargv);
VTABLE_init(interpreter, userargv);