# New Ticket Created by  Adam Thomason 
# Please include the string:  [perl #31771]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=31771 >


Sometime recently the 'testexec' Makefile target stopped working.  It 
turns out that imcc/main.c:569 resets the runcore (should be 
PARROT_EXEC_CORE) immediately before "running" the pbc object.  That 
process is supposed to eventually call exec_save and write the .o file.  
Long story short, rather than writing the .o file for the input pbc, it 
gets run with the slow core instead.

Removing the offending line has no impact that I can see on the test 
suite (test, testj, or testP), so the attached patch removes it and the 
variable declaration which is orphaned by its removal.  If it turns out 
that the save/restore logic isn't just cruft, a better fix is required.  
But in any case, the "hello" exec example works again with this patch 
applied.

Adam
Index: imcc/main.c
===================================================================
RCS file: /cvs/public/parrot/imcc/main.c,v
retrieving revision 1.77
diff -u -3 -p -r1.77 main.c
--- imcc/main.c 4 Aug 2004 11:55:22 -0000       1.77
+++ imcc/main.c 30 Sep 2004 05:24:51 -0000
@@ -413,7 +413,6 @@ main(int argc, char * argv[])
 {
     struct PackFile *pf;
     int obj_file, ast_file = 0;
-    Run_Cores core;
 
     Interp *interpreter = Parrot_new(NULL);
 
@@ -427,8 +426,6 @@ main(int argc, char * argv[])
     IMCC_ast_init(interpreter);
 
     sourcefile = parseflags(interpreter, &argc, &argv);
-    /* can't run JIT or prederefed yet */
-    core = interpreter->run_core;
     interpreter->run_core = 0;
 
     if (Interp_flags_TEST(interpreter, PARROT_PYTHON_MODE))
@@ -566,7 +563,6 @@ main(int argc, char * argv[])
     }
     if (run_pbc) {
 
-        interpreter->run_core = core;
         if (interpreter->imc_info->imcc_warn)
             PARROT_WARNINGS_on(interpreter, PARROT_WARNINGS_ALL_FLAG);
         else

Reply via email to