Ticket #1572 (closed bug: fixed)

Opened 5 years ago

Last modified 5 years ago

pbc_to_exe unusable after immutable_strings merge

Reported by: doughera Owned by:
Priority: normal Milestone:
Component: none Version: 2.4.0
Severity: medium Keywords:
Cc: Language:
Patch status: Platform:

Description

The default code generation path in tools/dev/pbc_to_exe.pir (i.e. the path not taken for gcc or msvc) can no longer process parrot-nqp.pbc. (Tested as of r45861, but probably broke as part of the immutable strings merge.) In the released version 2.3.0, I was able to run pbc_to_exe parrot-nqp.pbc in about 3 seconds. With r45861, it paniced after 35 minutes with

./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)

Looking at the diff of pbc_to_exe.pir between 2.3.0 and r45861, it looks like there were a number of tweaks made in the generate_code_gcc branch, but analogous tweaks were not made in the default generate_code branch. To test this, a user with gcc can simply change tools/dev/pbc_to_exe.pir to call the default generate_code branch.

Change History

Changed 5 years ago by bacek

Hello.

afair, all tweaks were made in r45562. Other codepaths have to be updated in same fashion.

-- Bacek

Changed 5 years ago by chromatic

  • status changed from new to closed
  • resolution set to fixed

r45866 and 45868 should fix this for MSVC and other non-GCC compilers. Good analysis.

Note: See TracTickets for help on using tickets.