diff -bBr -I '$Id:' --exclude=CVS original.src/tools/bootImageRunner/GenerateInterfaceDeclarations.java rvm/src/tools/bootImageRunner/GenerateInterfaceDeclarations.java 10a11,13 > //-#if RVM_WITH_MARKING_COLLECT > import org.mmtk.plan.*; > //-#endif 652d654 < } 653a656,727 > //-#if RVM_WITH_MARKING_COLLECT > /* > * Added for BC support > */ > p("static const unsigned int Plan_LOS_START = 0x" + > Integer.toHexString(Plan.LOS_START.toInt()) + ";\n"); > p("static const unsigned int Plan_LOS_END = 0x" + > Integer.toHexString(Plan.LOS_END.toInt()) + ";\n"); > p("static const unsigned int Plan_IMMORTAL_START = 0x" + > Integer.toHexString(BasePlan.IMMORTAL_START.toInt()) + ";\n"); > p("static const unsigned int Plan_IMMORTAL_END = 0x" + > Integer.toHexString(BasePlan.IMMORTAL_END.toInt()) + ";\n"); > p("static const unsigned int Plan_META_DATA_START = 0x" + > Integer.toHexString(BasePlan.META_DATA_START.toInt()) + ";\n"); > p("static const unsigned int Plan_META_DATA_END = 0x" + > Integer.toHexString(BasePlan.META_DATA_END.toInt()) + ";\n"); > offset = VM_Entrypoints.pageMgrDiscardableField.getOffset(); > p("static const int PageMgr_discardableOffset = " + offset + ";\n"); > offset = VM_Entrypoints.pageMgrEvictedField.getOffset(); > p("static const int PageMgr_evictedOffset = " + offset + ";\n"); > offset = VM_Entrypoints.pageMgrFootprintField.getOffset(); > p("static const int PageMgr_footprintOffset = " + offset + ";\n"); > offset = VM_Entrypoints.pageMgrTargetField.getOffset(); > p("static const int PageMgr_targetOffset = " + offset + ";\n"); > offset = VM_Entrypoints.pageMgrSwapWordField.getOffset(); > p("static const int PageMgr_swapWordOffset = " + offset + ";\n"); > offset = VM_Entrypoints.pageMgrInUseField.getOffset(); > p("static const int PageMgr_inUseOffset = " + offset + ";\n"); > offset = VM_Entrypoints.markingLocalCellSizeField.getOffset(); > p("static const int MarkingLocal_cellSizeOffset = " + offset + ";\n"); > offset = VM_Entrypoints.markingLocalSPHeaderSizeField.getOffset(); > p("static const int MarkingLocal_spHeaderSizeOffset = " + offset + ";\n"); > offset = VM_Entrypoints.markingLocalCellsInSuperPageField.getOffset(); > p("static const int MarkingLocal_cellsInSuperPageOffset = " + offset + ";\n"); > offset = VM_Entrypoints.markingLocalScalarCurrentField.getOffset(); > p("static const int MarkingLocal_scalarCurrentOffset = " + offset + ";\n"); > offset = VM_Entrypoints.markingLocalArrayCurrentField.getOffset(); > p("static const int MarkingLocal_arrayCurrentOffset = " + offset + ";\n"); > offset = VM_Entrypoints.markingLocalScalarFreeListField.getOffset(); > p("static const int MarkingLocal_scalarFreeListOffset = " + offset + ";\n"); > offset = VM_Entrypoints.markingLocalArrayFreeListField.getOffset(); > p("static const int MarkingLocal_arrayFreeListOffset = " + offset + ";\n"); > offset = VM_Entrypoints.markingSpaceMarkStateField.getOffset(); > p("static const int MarkingSpace_markStateOffset = " + offset + ";\n"); > offset = VM_Entrypoints.planLOSField.getOffset(); > p("static const int Plan_losOffset = " + offset + ";\n"); > offset = VM_Entrypoints.planMSField.getOffset(); > p("static const int Plan_msOffset = " + offset + ";\n"); > offset = VM_Entrypoints.planImmortalField.getOffset(); > p("static const int Plan_immortalOffset = " + offset + ";\n"); > offset = VM_Entrypoints.planFullHeapGCField.getOffset(); > p("static const int Plan_fullHeapGCOffset = " + offset + ";\n"); > offset = VM_Entrypoints.pagingTreadmillLocalTreadmillField.getOffset(); > p("static const int PagingTreadmillLocal_treadmillOffset = " + offset + ";\n"); > offset = VM_Entrypoints.pagingTreadmillFromSpaceField.getOffset(); > p("static const int PagingTreadmill_fromSpaceOffset = " + offset + ";\n"); > offset = VM_Entrypoints.pagingTreadmillToSpaceField.getOffset(); > p("static const int PagingTreadmill_toSpaceOffset = " + offset + ";\n"); > offset = VM_Entrypoints.pagingDoublyLinkedListHeadField.getOffset(); > p("static const int PagingDoublyLinkedList_headOffset = " + offset + ";\n"); > offset = VM_Entrypoints.typeMMTypeField.getOffset(); > p("static const int Type_mmTypeOffset = " + offset + ";\n"); > offset = VM_Entrypoints.mmTypeIsReferenceArrayField.getOffset(); > p("static const int MMType_isReferenceArrayOffset = " + offset + ";\n"); > offset = VM_Entrypoints.mmTypeOffsetsField.getOffset(); > p("static const int MMType_offsetsOffset = " + offset + ";\n"); > offset = VM_Entrypoints.mmTypeArrayOffsetField.getOffset(); > p("static const int MMType_arrayOffsetOffset = " + offset + ";\n"); > offset = VM_Entrypoints.mmTypeIsDelegatedField.getOffset(); > p("static const int MMType_isDelegatedOffset = " + offset + ";\n"); > //-#endif > } diff -bBr -I '$Id:' --exclude=CVS original.src/tools/bootImageRunner/IA32/libvm.C rvm/src/tools/bootImageRunner/IA32/libvm.C 51a52,60 > #ifdef OS_PAGE_MANAGEMENT > #include "vmcomm.h" > #include "osPagingSupport.h" > #endif /* OS_PAGE_MANAGEMENT */ > > #ifdef RVM_WITH_CRAMM > #include "crammSupport.h" > #endif /* RVM_WITH_CRAMM */ > 108a118,126 > #define assertCRAMM(x) > > #ifdef RVM_WITH_CRAMM > #include "crammSupport.cc" > #endif /* RVM_WITH_CRAMM */ > > #ifdef OS_PAGE_MANAGEMENT > #include "osPagingSupport.cc" > #endif /* OS_PAGE_MANAGEMENT */ 291a307,315 > #ifdef OS_PAGE_MANAGEMENT > if (hardwareTrapHandlerHelper(signo, si, context)) { > #ifndef RVM_FOR_SINGLE_VIRTUAL_PROCESSOR > pthread_mutex_unlock(&exceptionLock); > #endif > return; > } > #endif /* OS_PAGE_MANAGEMENT */ > 332a357,358 > writeErr("instruction 0x%08x\n", localInstructionAddress); > writeErr("processor 0x%08x\n", localVirtualProcessorAddress); 750a777,780 > // Added by MHz for HC support > if (mlock(bootRegion, actualImageSize) != 0) { > fprintf (SysErrorFile, "%s: mlock failed (errno=%d)\n", Me, errno); > } 826c856 < stack.ss_sp = new char[SIGSTKSZ]; --- > stack.ss_sp = new char[SIGSTKSZ * 2]; 828c858 < stack.ss_size = SIGSTKSZ; --- > stack.ss_size = SIGSTKSZ * 2; 869a900,910 > #ifdef OS_PAGE_MANAGEMENT > action.sa_sigaction = &vmHandler; > if (sigaction(35, &action, 0)) { > fprintf(SysErrorFile, "%s: sigaction failed (errno=%d)\n", Me, errno); > return 1; > } > if (vm_register(1)) { > fprintf(SysErrorFile, "%s: vm_register failed (errno=%d)\n", Me, errno); > } > #endif /* OS_PAGE_MANAGEMENT */ > 895a937,940 > #ifdef RVM_WITH_CRAMM > bootCRAMM(VmToc); > #endif /* RVM_WITH_CRAMM */ > diff -bBr -I '$Id:' --exclude=CVS original.src/tools/bootImageRunner/powerPC/libvm.C rvm/src/tools/bootImageRunner/powerPC/libvm.C 189a190,198 > /* Code added to support BC */ > #ifdef OS_PAGE_MANAGEMENT > #include "vmcomm.h" > #include "osPagingSupport.h" > #endif /* OS_PAGE_MANAGEMENT */ > > #ifdef RVM_WITH_CRAMM > #include "crammSupport.h" > #endif /* RVM_WITH_CRAMM */ 357a367,375 > #define assertCRAMM(x) > > #ifdef RVM_WITH_CRAMM > #include "crammSupport.cc" > #endif /* RVM_WITH_CRAMM */ > > #ifdef OS_PAGE_MANAGEMENT > #include "osPagingSupport.cc" > #endif /* OS_PAGE_MANAGEMENT */ 693a712,718 > /* Code added to support BC */ > #ifdef OS_PAGE_MANAGEMENT > if (!isTrap && hardwareTrapHandlerHelper(signum, siginfo, arg3)) { > return; > } > #endif /* OS_PAGE_MANAGEMENT */ > 1129a1155,1158 > // Added for BC support > if (mlock(bootRegion, actualImageSize) != 0) { > fprintf (SysErrorFile, "%s: mlock failed (errno=%d)\n", Me, errno); > } 1214,1215c1243,1244 < char *bottomOfSignalStack = new char[SIGNAL_STACKSIZE]; < char *topOfSignalStack = bottomOfSignalStack + SIGNAL_STACKSIZE; --- > char *bottomOfSignalStack = new char[SIGNAL_STACKSIZE*2]; > char *topOfSignalStack = bottomOfSignalStack + (SIGNAL_STACKSIZE*2); 1225c1254 < altstack.ss_size = SIGNAL_STACKSIZE; --- > altstack.ss_size = SIGNAL_STACKSIZE*2; 1238,1239c1267 < #endif < #if (defined RVM_FOR_OSX) --- > #elif (defined RVM_FOR_OSX) 1293a1322,1332 > /* Install signal handler for OS VM signals. */ > #ifdef OS_PAGE_MANAGEMENT > action.sa_sigaction = &vmHandler; > if (sigaction(35, &action, 0)) { > fprintf(SysErrorFile, "%s: sigaction failed (errno=%d)\n", Me, errno); > return 1; > } > if (vm_register(1)) { > fprintf(SysErrorFile, "%s: vm_register failed (errno=%d)\n", Me, errno); > } > #endif /* OS_PAGE_MANAGEMENT */ 1322a1362,1370 > > > > > > #ifdef RVM_WITH_CRAMM > bootCRAMM(VmToc); > #endif /* RVM_WITH_CRAMM */ > diff -bBr -I '$Id:' --exclude=CVS original.src/tools/bootImageRunner/sys.C rvm/src/tools/bootImageRunner/sys.C 2183a2184,2225 > //--------------------------------// > // BC operations // > //--------------------------------// > extern int pages, actualEvictions, useEvicted; > void freeCRAMM(); > void returnPages(int pages); > > extern "C" void sysReturnPages(int pages) > { > #ifdef RVM_WITH_CRAMM > returnPages(pages); > #endif > } > > extern "C" void sysQuitPageMgr() > { > #ifdef OS_PAGE_MANAGEMENT > fprintf(SysErrorFile, "Client: %d discarded, %d evictions, %d faults.\n", > pages, actualEvictions, useEvicted); > #endif /* OS_PAGE_MANAGEMENT */ > } > > static unsigned int pid = 0; > extern "C" void sysPagingStart() > { > FILE *fin = fopen("pid.txt", "r"); > if (fin) { > fscanf(fin, "%d", &pid); > fclose(fin); > if (pid) { > kill(pid, SIGUSR1); > } > } > } > > extern "C" void sysPagingEnd() > { > if (pid) { > kill(pid, SIGUSR2); > } > } > 3569,3570d3610 < <