From: Wei H. <hua...@ia...> - 2003-05-24 08:10:07
|
Hi, The memory manager of Jikes RVM seems to have problem in running = fixed-sized Generation GC (using -X:nh). After looking through the code, = I found that the nursery size provided in command line can not be passed = to the memory manager as expected. The steps to fix it are provided as = follows. Similar procedure can also be used to fix the problem of = permanent heap size (-X:ph).=20 Hope the information is helpful to others who have encountered similar = problems. Wei Huang =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 1. Files need to be modifed=20 RunBootImage.c=20 VM_CommandLineArgs.java=20 2. How to modify VM_CommandLineArgs.java diff VM_CommandLineArgs.java ~/rvmRoot/rvm/src/tools/bootImageRunner/ 95a96 > public static final int NURSERY_HEAP_ARG =3D39; 167a169 > new Prefix("-X:nh=3D", NURSERY_HEAP_ARG), 625c627,631 < --- > case NURSERY_HEAP_ARG: > //-#if RVM_WITH_JMTK > VM_Interface.processCommandLineArg("nursery_size=3D" + arg); > //-#endif > break; =20 3. How to modify RunBootImage.c=20 There is a typo with this file. Authors seem to forget add the token of = nursery argument into the Arguments. What we need is to add the = following code -bash-2.05b$ diff RunBootImage.C = ~/rvmRoot/rvm/src/tools/bootImageRunner/RunBootImage.C 360a361 > JCLAs[n_JCLAs++]=3Dtoken; =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D |