|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jikesrvm.runtime.SysCall
public abstract class SysCall
Support for lowlevel (ie non-JNI) invocation of C functions with static addresses. All methods of this class have the following signature:
public abstractwhich will call the corresponding method in system call trampoline with the added function address from the boot image.NAME( )
NOTE: From the standpoint of the rest of the VM, an invocation to a method of SysCall is uninterruptible.
NOTE: There must be a matching field NAMEIP in BootRecord.java for each method declared here.
| Field Summary | |
|---|---|
static SysCall |
sysCall
Actual implementation of the SysCall class |
| Constructor Summary | |
|---|---|
SysCall()
|
|
| Method Summary | |
|---|---|
abstract Address |
gcspyDriverAddStream(Address driver,
int id)
|
abstract void |
gcspyDriverEndOutput(Address driver)
|
abstract void |
gcspyDriverInit(Address driver,
int id,
Address serverName,
Address driverName,
Address title,
Address blockInfo,
int tileNum,
Address unused,
int mainSpace)
|
abstract void |
gcspyDriverInitOutput(Address driver)
|
abstract void |
gcspyDriverResize(Address driver,
int size)
|
abstract void |
gcspyDriverSetTileName(Address driver,
int i,
Address start,
long value)
|
abstract void |
gcspyDriverSetTileNameRange(Address driver,
int i,
Address start,
Address end)
|
abstract void |
gcspyDriverSpaceInfo(Address driver,
Address info)
|
abstract void |
gcspyDriverStartComm(Address driver)
|
abstract void |
gcspyDriverStream(Address driver,
int id,
int len)
|
abstract void |
gcspyDriverStreamByteValue(Address driver,
byte value)
|
abstract void |
gcspyDriverStreamIntValue(Address driver,
int value)
|
abstract void |
gcspyDriverStreamShortValue(Address driver,
short value)
|
abstract void |
gcspyDriverSummary(Address driver,
int id,
int len)
|
abstract void |
gcspyDriverSummaryValue(Address driver,
int value)
|
abstract void |
gcspyFormatSize(Address buffer,
int size)
|
abstract void |
gcspyIntWriteControl(Address driver,
int id,
int tileNum)
|
abstract Address |
gcspyMainServerAddDriver(Address addr)
|
abstract void |
gcspyMainServerAddEvent(Address server,
int event,
Address name)
|
abstract Address |
gcspyMainServerInit(int port,
int len,
Address name,
int verbose)
|
abstract int |
gcspyMainServerIsConnected(Address server,
int event)
|
abstract Address |
gcspyMainServerOuterLoop()
|
abstract void |
gcspyMainServerSafepoint(Address server,
int event)
|
abstract void |
gcspyMainServerSetGeneralInfo(Address server,
Address info)
|
abstract void |
gcspyMainServerStartCompensationTimer(Address server)
|
abstract void |
gcspyMainServerStopCompensationTimer(Address server)
|
abstract int |
gcspySprintf(Address str,
Address format,
Address value)
|
abstract void |
gcspyStartserver(Address server,
int wait,
Address serverOuterLoop)
|
abstract void |
gcspyStreamInit(Address stream,
int id,
int dataType,
Address name,
int minValue,
int maxValue,
int zeroValue,
int defaultValue,
Address pre,
Address post,
int presentation,
int paintStyle,
int maxStreamIndex,
int red,
int green,
int blue)
|
abstract int |
sysAccess(byte[] name,
int kind)
|
abstract int |
sysArg(int argno,
byte[] buf,
int buflen)
|
abstract int |
sysBytesAvailable(int fd)
|
abstract Address |
sysCalloc(int length)
|
abstract void |
sysConsoleWriteChar(char v)
|
abstract void |
sysConsoleWriteDouble(double value,
int postDecimalDigits)
|
abstract void |
sysConsoleWriteInteger(int value,
int hexToo)
|
abstract void |
sysConsoleWriteLong(long value,
int hexToo)
|
abstract void |
sysCopy(Address dst,
Address src,
Extent cnt)
|
abstract void |
sysCreateThreadSpecificDataKeys()
|
abstract long |
sysCurrentTimeMillis()
|
abstract void |
sysDisableAlignmentChecking()
|
abstract Address |
sysDlopen(byte[] libname)
|
abstract Address |
sysDlsym(Address libHandler,
byte[] symbolName)
|
abstract double |
sysDoubleRemainder(double x,
double y)
|
abstract int |
sysDoubleToInt(double x)
|
abstract long |
sysDoubleToLong(double x)
|
abstract void |
sysEnableAlignmentChecking()
|
abstract void |
sysExit(int value)
|
abstract int |
sysFloatToInt(float x)
|
abstract long |
sysFloatToLong(float x)
|
abstract void |
sysFree(Address location)
|
abstract int |
sysGetenv(byte[] varName,
byte[] buf,
int limit)
|
abstract int |
sysGetPageSize()
|
abstract void |
sysInitializeStartupLocks(int howMany)
|
abstract long |
sysLongDivide(long x,
long y)
|
abstract long |
sysLongRemainder(long x,
long y)
|
abstract double |
sysLongToDouble(long x)
|
abstract float |
sysLongToFloat(long x)
|
abstract Address |
sysMalloc(int length)
|
abstract Address |
sysMMap(Address start,
Extent length,
int protection,
int flags,
int fd,
Offset offset)
|
abstract Address |
sysMMapErrno(Address start,
Extent length,
int protection,
int flags,
int fd,
Offset offset)
|
abstract int |
sysMProtect(Address start,
Extent length,
int prot)
|
abstract void |
sysNanosleep(long howLongNanos)
|
abstract long |
sysNanoTime()
|
abstract int |
sysNetSelect(int[] allFds,
int rc,
int wc,
int ec)
|
abstract int |
sysNetSocketAccept(int fd,
SocketImpl connectionObject)
|
abstract int |
sysNetSocketBind(int fd,
int family,
int localAddress,
int localPort)
|
abstract int |
sysNetSocketClose(int fd)
|
abstract int |
sysNetSocketConnect(int fd,
int family,
int remoteAddress,
int remotePort)
|
abstract int |
sysNetSocketCreate(int isStream)
|
abstract int |
sysNetSocketFamily(int fd)
|
abstract int |
sysNetSocketLinger(int fd,
int enable,
int timeout)
|
abstract int |
sysNetSocketListen(int fd,
int backlog)
|
abstract int |
sysNetSocketLocalAddress(int fd)
|
abstract int |
sysNetSocketNoBlock(int fd,
int enable)
|
abstract int |
sysNetSocketNoDelay(int fd,
int enable)
|
abstract int |
sysNetSocketPort(int fd)
|
abstract int |
sysNetSocketShutdown(int fd,
int how)
|
abstract int |
sysNetSocketSndBuf(int fd)
|
abstract int |
sysNumProcessors()
|
abstract long |
sysParseMemorySize(byte[] sizeName,
byte[] sizeFlag,
byte[] defaultFactor,
int roundTo,
byte[] argToken,
byte[] subArg)
Parse memory sizes passed as command-line arguments. |
abstract void |
sysPerfCtrInit(int metric)
|
abstract void |
sysPerfCtrRead(byte[] name)
|
abstract long |
sysPerfCtrReadCycles()
|
abstract long |
sysPerfCtrReadMetric()
|
abstract float |
sysPrimitiveParseFloat(byte[] buf)
Used to parse command line arguments that are doubles and floats early in booting before it is safe to call Float.valueOf or Double.valueOf. |
abstract int |
sysPrimitiveParseInt(byte[] buf)
Used to parse command line arguments that are bytes and ints early in booting before it is safe to call Byte.parseByte or Integer.parseInt. |
abstract void |
sysPthreadExit()
|
abstract int |
sysPthreadJoin(int pthread)
|
abstract int |
sysPthreadSelf()
|
abstract void |
sysPthreadSetupSignalHandling()
|
abstract int |
sysPthreadSignal(int pthread)
|
abstract int |
sysReadByte(int fd)
|
abstract int |
sysReadBytes(int fd,
Address buf,
int cnt)
|
abstract void |
sysRegisterStaticFieldOffsets(int gcStatusOffset,
int timerTickOffset,
int reportedTimerTickOffset)
|
abstract void |
sysReportAlignmentChecking()
|
abstract int |
sysSetFdCloseOnExec(int fd)
|
abstract int |
sysStashVmProcessorInPthread(Processor vmProcessor)
|
abstract int |
sysStat(byte[] name,
int kind)
|
abstract void |
sysSyncCache(Address address,
int size)
|
abstract int |
sysSyncFile(int fd)
|
abstract void |
sysVirtualProcessorBind(int cpuid)
Bind execution of current virtual processor to specified physical cpu. |
abstract int |
sysVirtualProcessorCreate(Address pr,
Address ip,
Address fp)
Create a virtual processor (aka "unix kernel thread", "pthread"). |
abstract void |
sysVirtualProcessorEnableTimeSlicing(int timeSlice)
Start interrupt generator for thread timeslicing. |
abstract void |
sysVirtualProcessorYield()
|
abstract void |
sysWaitForMultithreadingStart()
|
abstract void |
sysWaitForVirtualProcessorInitialization()
|
abstract void |
sysWaitPids(Address pidArray,
Address exitStatusArray,
int numPids)
|
abstract int |
sysWriteByte(int fd,
int data)
|
abstract int |
sysWriteBytes(int fd,
Address buf,
int cnt)
|
abstract void |
sysZero(Address dst,
Extent cnt)
|
abstract void |
sysZeroPages(Address dst,
int cnt)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final SysCall sysCall
| Constructor Detail |
|---|
public SysCall()
| Method Detail |
|---|
public abstract void sysConsoleWriteChar(char v)
public abstract void sysConsoleWriteInteger(int value,
int hexToo)
public abstract void sysConsoleWriteLong(long value,
int hexToo)
public abstract void sysConsoleWriteDouble(double value,
int postDecimalDigits)
public abstract void sysRegisterStaticFieldOffsets(int gcStatusOffset,
int timerTickOffset,
int reportedTimerTickOffset)
public abstract void sysExit(int value)
public abstract int sysArg(int argno,
byte[] buf,
int buflen)
public abstract int sysGetenv(byte[] varName,
byte[] buf,
int limit)
public abstract void sysCopy(Address dst,
Address src,
Extent cnt)
public abstract Address sysMalloc(int length)
public abstract Address sysCalloc(int length)
public abstract void sysFree(Address location)
public abstract void sysZero(Address dst,
Extent cnt)
public abstract void sysZeroPages(Address dst,
int cnt)
public abstract void sysSyncCache(Address address,
int size)
public abstract void sysPerfCtrInit(int metric)
public abstract void sysPerfCtrRead(byte[] name)
public abstract long sysPerfCtrReadMetric()
public abstract long sysPerfCtrReadCycles()
public abstract int sysStat(byte[] name,
int kind)
public abstract int sysReadByte(int fd)
public abstract int sysWriteByte(int fd,
int data)
public abstract int sysReadBytes(int fd,
Address buf,
int cnt)
public abstract int sysWriteBytes(int fd,
Address buf,
int cnt)
public abstract int sysBytesAvailable(int fd)
public abstract int sysSyncFile(int fd)
public abstract int sysSetFdCloseOnExec(int fd)
public abstract int sysAccess(byte[] name,
int kind)
public abstract Address sysMMap(Address start,
Extent length,
int protection,
int flags,
int fd,
Offset offset)
public abstract Address sysMMapErrno(Address start,
Extent length,
int protection,
int flags,
int fd,
Offset offset)
public abstract int sysMProtect(Address start,
Extent length,
int prot)
public abstract int sysGetPageSize()
public abstract int sysNumProcessors()
public abstract int sysVirtualProcessorCreate(Address pr,
Address ip,
Address fp)
pr - ip - fp -
public abstract void sysVirtualProcessorBind(int cpuid)
cpuid - physical cpu id (0, 1, 2, ...)public abstract void sysVirtualProcessorYield()
public abstract void sysVirtualProcessorEnableTimeSlicing(int timeSlice)
public abstract int sysPthreadSelf()
public abstract void sysPthreadSetupSignalHandling()
public abstract int sysPthreadSignal(int pthread)
public abstract void sysPthreadExit()
public abstract int sysPthreadJoin(int pthread)
public abstract int sysStashVmProcessorInPthread(Processor vmProcessor)
public abstract long sysLongDivide(long x,
long y)
public abstract long sysLongRemainder(long x,
long y)
public abstract float sysLongToFloat(long x)
public abstract double sysLongToDouble(long x)
public abstract int sysFloatToInt(float x)
public abstract int sysDoubleToInt(double x)
public abstract long sysFloatToLong(float x)
public abstract long sysDoubleToLong(double x)
public abstract double sysDoubleRemainder(double x,
double y)
public abstract float sysPrimitiveParseFloat(byte[] buf)
buf - a null terminated byte[] that can be parsed
by strtof()
public abstract int sysPrimitiveParseInt(byte[] buf)
buf - a null terminated byte[] that can be parsed
by strtol()
public abstract long sysParseMemorySize(byte[] sizeName,
byte[] sizeFlag,
byte[] defaultFactor,
int roundTo,
byte[] argToken,
byte[] subArg)
public abstract long sysCurrentTimeMillis()
public abstract long sysNanoTime()
public abstract void sysNanosleep(long howLongNanos)
public abstract Address sysDlopen(byte[] libname)
public abstract Address sysDlsym(Address libHandler,
byte[] symbolName)
public abstract int sysNetSocketCreate(int isStream)
public abstract int sysNetSocketPort(int fd)
public abstract int sysNetSocketSndBuf(int fd)
public abstract int sysNetSocketFamily(int fd)
public abstract int sysNetSocketLocalAddress(int fd)
public abstract int sysNetSocketBind(int fd,
int family,
int localAddress,
int localPort)
public abstract int sysNetSocketConnect(int fd,
int family,
int remoteAddress,
int remotePort)
public abstract int sysNetSocketListen(int fd,
int backlog)
public abstract int sysNetSocketAccept(int fd,
SocketImpl connectionObject)
public abstract int sysNetSocketLinger(int fd,
int enable,
int timeout)
public abstract int sysNetSocketNoDelay(int fd,
int enable)
public abstract int sysNetSocketNoBlock(int fd,
int enable)
public abstract int sysNetSocketClose(int fd)
public abstract int sysNetSocketShutdown(int fd,
int how)
public abstract int sysNetSelect(int[] allFds,
int rc,
int wc,
int ec)
public abstract void sysWaitPids(Address pidArray,
Address exitStatusArray,
int numPids)
public abstract void sysCreateThreadSpecificDataKeys()
public abstract void sysInitializeStartupLocks(int howMany)
public abstract void sysWaitForVirtualProcessorInitialization()
public abstract void sysWaitForMultithreadingStart()
public abstract void sysEnableAlignmentChecking()
public abstract void sysDisableAlignmentChecking()
public abstract void sysReportAlignmentChecking()
public abstract Address gcspyDriverAddStream(Address driver,
int id)
public abstract void gcspyDriverEndOutput(Address driver)
public abstract void gcspyDriverInit(Address driver,
int id,
Address serverName,
Address driverName,
Address title,
Address blockInfo,
int tileNum,
Address unused,
int mainSpace)
public abstract void gcspyDriverInitOutput(Address driver)
public abstract void gcspyDriverResize(Address driver,
int size)
public abstract void gcspyDriverSetTileNameRange(Address driver,
int i,
Address start,
Address end)
public abstract void gcspyDriverSetTileName(Address driver,
int i,
Address start,
long value)
public abstract void gcspyDriverSpaceInfo(Address driver,
Address info)
public abstract void gcspyDriverStartComm(Address driver)
public abstract void gcspyDriverStream(Address driver,
int id,
int len)
public abstract void gcspyDriverStreamByteValue(Address driver,
byte value)
public abstract void gcspyDriverStreamShortValue(Address driver,
short value)
public abstract void gcspyDriverStreamIntValue(Address driver,
int value)
public abstract void gcspyDriverSummary(Address driver,
int id,
int len)
public abstract void gcspyDriverSummaryValue(Address driver,
int value)
public abstract void gcspyIntWriteControl(Address driver,
int id,
int tileNum)
public abstract Address gcspyMainServerAddDriver(Address addr)
public abstract void gcspyMainServerAddEvent(Address server,
int event,
Address name)
public abstract Address gcspyMainServerInit(int port,
int len,
Address name,
int verbose)
public abstract int gcspyMainServerIsConnected(Address server,
int event)
public abstract Address gcspyMainServerOuterLoop()
public abstract void gcspyMainServerSafepoint(Address server,
int event)
public abstract void gcspyMainServerSetGeneralInfo(Address server,
Address info)
public abstract void gcspyMainServerStartCompensationTimer(Address server)
public abstract void gcspyMainServerStopCompensationTimer(Address server)
public abstract void gcspyStartserver(Address server,
int wait,
Address serverOuterLoop)
public abstract void gcspyStreamInit(Address stream,
int id,
int dataType,
Address name,
int minValue,
int maxValue,
int zeroValue,
int defaultValue,
Address pre,
Address post,
int presentation,
int paintStyle,
int maxStreamIndex,
int red,
int green,
int blue)
public abstract void gcspyFormatSize(Address buffer,
int size)
public abstract int gcspySprintf(Address str,
Address format,
Address value)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||