|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.runtime.BootRecord
public class BootRecord
Information required to start the virtual machine and communicate with the outside world.
The virtual machine image consists entirely of java objects. The first java-object, the boot record, is the communication area between the host operating system and the virtual machine. It consists of read-only fields containing startup information used by the assembler bootstrap loader, by the virtual machine's initializer methods, and by the virtual machine's operating system call interface methods.
See also: BootImageWriter.main(), RunBootImage.C
The boot record looks like this (note that fields are layed out "backwards"):
lo-mem +---------------+ | fieldN-1 | +---------------+ | ... | +---------------+ | field1 | +---------------+ | field0 | +---------------+ \ | tib pointer | | +---------------+ | object header | lock word | | +---------------+ / hi-memThe "spRegister" field of the boot record points to the word immediately preceeding the top of a stack object (ie. it's ready to accept a "push" instruction). The stack object is an array of words that looks like this:
lo-mem +---------------+ \ | tib pointer | | +---------------+ | array | lock word | | object +---------------+ | header | .length | | +---------------+ / || +---------------+ | ... | +---------------+ | | +---------------+ spRegister -> hi-mem
The "ipRegister" field of the boot record points to the first word of an array of machine instructions comprising the virtual machine's startoff code -- see "VM.boot()".
The "tocRegister" field of the boot record points to an array of words containing the static fields and method addresses of the virtual machine image -- see "Statics.slots[]".
The remaining fields of the boot record serve as a function linkage area between services residing in the host operating system and services residing in the virtual machine.
Constructor Summary | |
---|---|
BootRecord()
|
Method Summary | |
---|---|
void |
setHeapRange(int id,
Address start,
Address end)
|
void |
showHeapRanges()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static BootRecord the_boot_record
public Address bootImageDataStart
public Address bootImageDataEnd
public Address bootImageCodeStart
public Address bootImageCodeEnd
public Address bootImageRMapStart
public Address bootImageRMapEnd
public Extent initialHeapSize
public Extent maximumHeapSize
public AddressArray heapRanges
public int verboseBoot
public int tiRegister
public Address spRegister
public Address ipRegister
public Address tocRegister
int bootCompleted
public Address sysJavaVM
int hardwareTrapMethodId
Offset deliverHardwareExceptionOffset
public Offset dumpStackAndDieOffset
public Offset bootThreadOffset
Offset debugRequestedOffset
int externalSignalFlag
public Address sysConsoleWriteCharIP
public Address sysConsoleWriteIntegerIP
public Address sysConsoleWriteLongIP
public Address sysConsoleWriteDoubleIP
public Address sysExitIP
public Address sysArgIP
public Address sysGetenvIP
public Address sysCopyIP
public Address sysMallocIP
public Address sysCallocIP
public Address sysFreeIP
public Address sysZeroNTIP
public Address sysZeroIP
public Address sysZeroPagesIP
public Address sysSyncCacheIP
public Address sysStatIP
public Address sysReadByteIP
public Address sysWriteByteIP
public Address sysReadBytesIP
public Address sysWriteBytesIP
public Address sysBytesAvailableIP
public Address sysSyncFileIP
public Address sysSetFdCloseOnExecIP
public Address sysAccessIP
public Address sysMMapIP
public Address sysMMapErrnoIP
public Address sysMProtectIP
public Address sysGetPageSizeIP
public Address sysNumProcessorsIP
public Address sysThreadBindSupportedIP
public Address sysThreadBindIP
public Address sysThreadCreateIP
public Address sysThreadYieldIP
public Address sysGetThreadIdIP
public Address sysSetupHardwareTrapHandlerIP
public Address sysStashVMThreadIP
public Address sysThreadTerminateIP
public Address sysMonitorCreateIP
public Address sysMonitorDestroyIP
public Address sysMonitorEnterIP
public Address sysMonitorExitIP
public Address sysMonitorTimedWaitAbsoluteIP
public Address sysMonitorWaitIP
public Address sysMonitorBroadcastIP
public Address sysLongDivideIP
public Address sysLongRemainderIP
public Address sysLongToFloatIP
public Address sysLongToDoubleIP
public Address sysFloatToIntIP
public Address sysDoubleToIntIP
public Address sysFloatToLongIP
public Address sysDoubleToLongIP
public Address sysDoubleRemainderIP
public Address sysPrimitiveParseFloatIP
public Address sysPrimitiveParseIntIP
public Address sysParseMemorySizeIP
Address sysCurrentTimeMillisIP
Address sysNanoTimeIP
Address sysNanoSleepIP
Address sysDlopenIP
Address sysDlsymIP
public Address sysCreateThreadSpecificDataKeysIP
public Address sysVMMathSinIP
public Address sysVMMathCosIP
public Address sysVMMathTanIP
public Address sysVMMathAsinIP
public Address sysVMMathAcosIP
public Address sysVMMathAtanIP
public Address sysVMMathAtan2IP
public Address sysVMMathCoshIP
public Address sysVMMathSinhIP
public Address sysVMMathTanhIP
public Address sysVMMathExpIP
public Address sysVMMathLogIP
public Address sysVMMathSqrtIP
public Address sysVMMathPowIP
public Address sysVMMathIEEEremainderIP
public Address sysVMMathCeilIP
public Address sysVMMathFloorIP
public Address sysVMMathRintIP
public Address sysVMMathCbrtIP
public Address sysVMMathExpm1IP
public Address sysVMMathHypotIP
public Address sysVMMathLog10IP
public Address sysVMMathLog1pIP
public Address sysEnableAlignmentCheckingIP
public Address sysDisableAlignmentCheckingIP
public Address sysReportAlignmentCheckingIP
public Address gcspyDriverAddStreamIP
public Address gcspyDriverEndOutputIP
public Address gcspyDriverInitIP
public Address gcspyDriverInitOutputIP
public Address gcspyDriverResizeIP
public Address gcspyDriverSetTileNameRangeIP
public Address gcspyDriverSetTileNameIP
public Address gcspyDriverSpaceInfoIP
public Address gcspyDriverStartCommIP
public Address gcspyDriverStreamIP
public Address gcspyDriverStreamByteValueIP
public Address gcspyDriverStreamShortValueIP
public Address gcspyDriverStreamIntValueIP
public Address gcspyDriverSummaryIP
public Address gcspyDriverSummaryValueIP
public Address gcspyIntWriteControlIP
public Address gcspyMainServerAddDriverIP
public Address gcspyMainServerAddEventIP
public Address gcspyMainServerInitIP
public Address gcspyMainServerIsConnectedIP
public Address gcspyMainServerOuterLoopIP
public Address gcspyMainServerSafepointIP
public Address gcspyMainServerSetGeneralInfoIP
public Address gcspyMainServerStartCompensationTimerIP
public Address gcspyMainServerStopCompensationTimerIP
public Address gcspyStartserverIP
public Address gcspyStreamInitIP
public Address gcspyFormatSizeIP
public Address gcspySprintfIP
public Address sysPerfEventInitIP
public Address sysPerfEventCreateIP
public Address sysPerfEventEnableIP
public Address sysPerfEventDisableIP
public Address sysPerfEventReadIP
Constructor Detail |
---|
public BootRecord()
Method Detail |
---|
public void showHeapRanges()
public void setHeapRange(int id, Address start, Address end)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |