Modifier and Type | Field and Description |
---|---|
static ForeignCallDescriptor |
VM_MESSAGE_C |
Constructor and Description |
---|
StubUtil() |
Modifier and Type | Method and Description |
---|---|
static boolean |
cAssertionsEnabled()
Determines if this is a HotSpot build where the ASSERT mechanism is enabled.
|
static void |
decipher(long value)
Analyzes a given value and prints information about it to the log stream.
|
private static ForeignCallDescriptor |
descriptorFor(Class<?> stubClass,
String name)
Looks for a
StubForeignCallNode node intrinsic named name in
stubClass and returns a ForeignCallDescriptor based on its signature and the
value of hasSideEffect . |
static void |
fatal(String message)
Exits the VM with a given error message.
|
static void |
fatal(String format,
long value)
Exits the VM with a given error message.
|
static void |
fatal(String format,
long v1,
long v2)
Exits the VM with a given error message.
|
static void |
fatal(String format,
long v1,
long v2,
long v3)
Exits the VM with a given error message.
|
static void |
handlePendingException(Word thread,
boolean isObjectResult) |
private static int |
hubOffset() |
static ForeignCallDescriptor |
newDescriptor(Class<?> stubClass,
String name,
Class<?> resultType,
Class<?>... argumentTypes) |
static void |
printf(String message)
Prints a message to the log stream.
|
static void |
printf(String format,
long value)
Prints a message to the log stream.
|
static void |
printf(String format,
long v1,
long v2)
Prints a message to the log stream.
|
static void |
printf(String format,
long v1,
long v2,
long v3)
Prints a message to the log stream.
|
static Object |
verifyObject(Object object)
Verifies that a given object value is well formed if
-XX:+VerifyOops is enabled. |
private static long |
verifyOopBits() |
private static long |
verifyOopCounterAddress() |
private static long |
verifyOopMask() |
private static void |
vmMessageC(ForeignCallDescriptor stubPrintfC,
boolean vmError,
Word format,
long v1,
long v2,
long v3) |
public static final ForeignCallDescriptor VM_MESSAGE_C
public StubUtil()
public static ForeignCallDescriptor newDescriptor(Class<?> stubClass, String name, Class<?> resultType, Class<?>... argumentTypes)
private static ForeignCallDescriptor descriptorFor(Class<?> stubClass, String name)
StubForeignCallNode
node intrinsic named name
in
stubClass
and returns a ForeignCallDescriptor
based on its signature and the
value of hasSideEffect
.public static void handlePendingException(Word thread, boolean isObjectResult)
public static boolean cAssertionsEnabled()
private static void vmMessageC(ForeignCallDescriptor stubPrintfC, boolean vmError, Word format, long v1, long v2, long v3)
public static void printf(String message)
Stubs must use this instead of Log.printf(String, long)
to avoid an object
constant in a RuntimeStub.
message
- a message stringpublic static void printf(String format, long value)
Stubs must use this instead of Log.printf(String, long)
to avoid an object
constant in a RuntimeStub.
format
- a C style printf format valuevalue
- the value associated with the first conversion specifier in format
public static void printf(String format, long v1, long v2)
Stubs must use this instead of Log.printf(String, long, long)
to avoid an object
constant in a RuntimeStub.
format
- a C style printf format valuev1
- the value associated with the first conversion specifier in format
v2
- the value associated with the second conversion specifier in format
public static void printf(String format, long v1, long v2, long v3)
Stubs must use this instead of Log.printf(String, long, long, long)
to avoid an
object constant in a RuntimeStub.
format
- a C style printf format valuev1
- the value associated with the first conversion specifier in format
v2
- the value associated with the second conversion specifier in format
v3
- the value associated with the third conversion specifier in format
public static void decipher(long value)
public static void fatal(String message)
Stubs must use this instead of VMErrorNode.vmError(String, long)
to avoid an
object constant in a RuntimeStub.
message
- an error messagepublic static void fatal(String format, long value)
Stubs must use this instead of Log.printf(String, long, long, long)
to avoid an
object constant in a RuntimeStub.
format
- a C style printf format valuevalue
- the value associated with the first conversion specifier in format
public static void fatal(String format, long v1, long v2)
Stubs must use this instead of Log.printf(String, long, long, long)
to avoid an
object constant in a RuntimeStub.
format
- a C style printf format valuev1
- the value associated with the first conversion specifier in format
v2
- the value associated with the second conversion specifier in format
public static void fatal(String format, long v1, long v2, long v3)
Stubs must use this instead of Log.printf(String, long, long, long)
to avoid an
object constant in a RuntimeStub.
format
- a C style printf format valuev1
- the value associated with the first conversion specifier in format
v2
- the value associated with the second conversion specifier in format
v3
- the value associated with the third conversion specifier in format
public static Object verifyObject(Object object)
-XX:+VerifyOops
is enabled.private static long verifyOopCounterAddress()
private static long verifyOopMask()
private static long verifyOopBits()
private static int hubOffset()