On Wed, 21 Apr 2010, chromatic wrote:
> On Wednesday 21 April 2010 at 12:14, Andrew Dougherty wrote:
>
> > Anybody have any idea what happened to pbc_to_exe? With the released
> > version of 2.3.0, building with Sun's cc on i386 with 4 GB of memory,
> > pbc_to_exe parrot-nqp took me about 3 seconds. With
> > r45860, it took about 35 minutes before panicing with
> >
> > $ time make parrot-nqp
> > ./pbc_to_exe parrot-nqp.pbc
> > Failed allocation of 1064262424 bytes
> > Parrot VM: PANIC: Out of mem!
> > C file src/gc/alloc_memory.c, line 151
> > Parrot file (not available), line (not available)
>
> Did you run 'make realclean' before building? If we have a missing
> dependency
> and you're using a version of pbc_to_exe.pir from before the immutable
> strings
> branch merge, you'll see this behavior. You can probably test this easily by
> removing pbc_to_exe* from the root of the build directory and trying to build
> parrot-nqp again.
That wasn't it, but it did suggest what probably happened, and does lead
me to this suggestion:
I can reproduce the problem with gcc by applying the following patch (for
testing only!). This will force gcc to take the other code-generation
route. I suspect similar scrutiny of the generate_code_msvc branch is
probably appropriate.
I think I have enough of a sense of what's going on to open a useful
ticket. Thanks!
--- parrot/tools/dev/pbc_to_exe.pir 2010-04-21 15:37:48.853260304 -0400
+++ parrot-gcc/tools/dev/pbc_to_exe.pir 2010-04-21 15:43:57.740758824 -0400
@@ -43,7 +43,7 @@
if code_type == 'msvc' goto code_for_msvc
goto code_for_default
code_for_gcc:
- codestring = 'generate_code_gcc'(infile)
+ codestring = 'generate_code'(infile)
goto code_end
code_for_msvc:
codestring = 'generate_code_msvc'(infile)
--
Andy Dougherty [email protected]
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev