java.lang.Object
com.ibm.j9ddr.vm29.view.dtfj.java.DTFJJavaRuntime
- All Implemented Interfaces:
JavaRuntime,ManagedRuntime
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.This is short cut method.Get the 'full' version information for this runtime.getHeapFromAddress(ImagePointer address) Get the set of object and class roots known to the VM.getHeaps()Get the set of heaps known by the VMGet the set of class loaders active in this VMGet the object that represents the virtual machineFetch the JavaVMInitArgs which were used to create this VM.Get any vendor specific properties in use by the JIT for this Java runtimeIterator<?> Returns iterator of the top-level memory categories used by this Java runtime.Iterator<?> getMemorySections(boolean includeFreed) Returns an iterator of JavaRuntimeMemorySection objects corresponding to the blocks of memory allocated by the JavaRuntime.Provides access to the collection of monitors used in the JavaVM.getNestedPackedArrayObject(JavaClass jc, ImagePointer i, int arrayLength) getNestedPackedObject(JavaClass jc, ImagePointer packedDataAddress) getObjectAtAddress(ImagePointer address) Gets the object located at addressaddressin the heap.longReturn the JVM start time.longReturn the value of the system nanotime (high resolution timer) at JVM start.Get the set of Java threads known by the VMgetTraceBuffer(String arg0, boolean arg1) Fetches implementation specific trace buffers, like the verbose GC buffer or the Universal Trace Engine (UTE) bufferGet the version data available for this runtime instance.inthashCode()Answers an integer hash code for the receiver.booleanDetermine if the JIT was enabled for this Java runtime.Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface com.ibm.dtfj.java.JavaRuntime
getSystemProperty
-
Constructor Details
-
DTFJJavaRuntime
public DTFJJavaRuntime()
-
-
Method Details
-
equals
Description copied from class:java.lang.ObjectCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison. The implementation in Object answers true only if the argument is the exact same object as the receiver (==).- Specified by:
equalsin interfaceJavaRuntime- Overrides:
equalsin classObject- Parameters:
other- Object the object to compare with this object.- Returns:
- boolean
trueif the object is the same as this objectfalseif it is different from this object. - See Also:
-
hashCode
public int hashCode()Description copied from class:java.lang.ObjectAnswers an integer hash code for the receiver. Any two objects which answertruewhen passed to.equalsmust answer the same value for this method.- Specified by:
hashCodein interfaceJavaRuntime- Overrides:
hashCodein classObject- Returns:
- the receiver's hash.
- See Also:
-
getCompiledMethods
Description copied from interface:JavaRuntimeThis is short cut method. The same result can be found by iterating over all methods in all class loaders in all classes.- Specified by:
getCompiledMethodsin interfaceJavaRuntime- Returns:
- an iterator over all of the JavaMethods in the JavaRuntime which have been compiled
- See Also:
-
getHeapRoots
Description copied from interface:JavaRuntimeGet the set of object and class roots known to the VM. Stack frame roots are not included in the set, they can be retrieved using JavaStackFrame.getHeapRoots().- Specified by:
getHeapRootsin interfaceJavaRuntime- Returns:
- an iterator over the collection of JavaReferences representing the known global heap roots within this runtime.
- See Also:
-
isJITEnabled
Description copied from interface:JavaRuntimeDetermine if the JIT was enabled for this Java runtime.- Specified by:
isJITEnabledin interfaceJavaRuntime- Returns:
- true if the JIT was enabled, false if not
- Throws:
CorruptDataException
-
getJITProperties
Description copied from interface:JavaRuntimeGet any vendor specific properties in use by the JIT for this Java runtime- Specified by:
getJITPropertiesin interfaceJavaRuntime- Returns:
- the set of properties, which may be empty if none were set.
- Throws:
DataUnavailable- if the JIT was not enabled for this runtimeCorruptDataException
-
getHeaps
Description copied from interface:JavaRuntimeGet the set of heaps known by the VM- Specified by:
getHeapsin interfaceJavaRuntime- Returns:
- an iterator for all of the Java heaps within this runtime. Heaps may be specific to this JavaVM instance, or may be shared between multiple JavaVM instances
- Throws:
UnsupportedOperationException- See Also:
-
getJavaClassLoaders
Description copied from interface:JavaRuntimeGet the set of class loaders active in this VM- Specified by:
getJavaClassLoadersin interfaceJavaRuntime- Returns:
- an iterator of all of the class loaders within this JavaVM
- See Also:
-
getJavaVM
Description copied from interface:JavaRuntimeGet the object that represents the virtual machine- Specified by:
getJavaVMin interfaceJavaRuntime- Returns:
- the address of the JavaVM structure which represents this JVM instance in JNI
- Throws:
CorruptDataException
-
getJavaVMInitArgs
Description copied from interface:JavaRuntimeFetch the JavaVMInitArgs which were used to create this VM. See JNI_CreateJavaVM in the JNI Specification for more details.- Specified by:
getJavaVMInitArgsin interfaceJavaRuntime- Returns:
- the JavaVMInitArgs which were used to create this VM.
- Throws:
DataUnavailable- if the arguments are not availableCorruptDataException
-
getMonitors
Description copied from interface:JavaRuntimeProvides access to the collection of monitors used in the JavaVM. This collection includes both monitors associated with managed objects (e.g. object monitors) and monitors associated with internal control structures (e.g. raw monitors)- Specified by:
getMonitorsin interfaceJavaRuntime- Returns:
- an iterator over the collection of monitors
- See Also:
-
getObjectAtAddress
public JavaObject getObjectAtAddress(ImagePointer address) throws CorruptDataException, IllegalArgumentException, MemoryAccessException, DataUnavailable Description copied from interface:JavaRuntimeGets the object located at addressaddressin the heap.- Specified by:
getObjectAtAddressin interfaceJavaRuntime- Parameters:
address- theImagePointerinstance representing the start address of object in the heap;- Returns:
- the
JavaObjectinstance representing the located object. - Throws:
CorruptDataException- if any data needed to build the returned instance ofJavaObjectis corrupt.IllegalArgumentException- ifaddressis outside the heap's boundaries, or if it doesn't point to the start location of an object;MemoryAccessException- ifaddressis in the heap but it's not accessible from the dump;DataUnavailable- if any data needed to build the returned instance ofJavaObjectis not available.- See Also:
-
getHeapFromAddress
-
getThreads
Description copied from interface:JavaRuntimeGet the set of Java threads known by the VM- Specified by:
getThreadsin interfaceJavaRuntime- Returns:
- an iterator of the JavaThreads in the runtime
- See Also:
-
getTraceBuffer
Description copied from interface:JavaRuntimeFetches implementation specific trace buffers, like the verbose GC buffer or the Universal Trace Engine (UTE) buffer- Specified by:
getTraceBufferin interfaceJavaRuntime- Parameters:
arg0- a String naming the buffer to be fetchedarg1- true if formatting should be performed on the buffer, or false if the raw buffer contents should be returned- Returns:
- an implementation specific result, depending on the parameters
- Throws:
CorruptDataException
-
getFullVersion
Description copied from interface:ManagedRuntimeGet the 'full' version information for this runtime.- Specified by:
getFullVersionin interfaceManagedRuntime- Returns:
- a string representation of the version information for this runtime instance
- Throws:
CorruptDataException- If the runtime presents no understandable version data- See Also:
-
getVersion
Description copied from interface:ManagedRuntimeGet the version data available for this runtime instance.- Specified by:
getVersionin interfaceManagedRuntime- Returns:
- a string representing all the version data available for this runtime instance.
- Throws:
CorruptDataException- If the runtime presents no understandable version data
-
getMemoryCategories
Description copied from interface:JavaRuntimeReturns iterator of the top-level memory categories used by this Java runtime.- Specified by:
getMemoryCategoriesin interfaceJavaRuntime- Returns:
- Iterator of memory categories
- Throws:
DataUnavailable- See Also:
-
getMemorySections
Description copied from interface:JavaRuntimeReturns an iterator of JavaRuntimeMemorySection objects corresponding to the blocks of memory allocated by the JavaRuntime.- Specified by:
getMemorySectionsin interfaceJavaRuntime- Parameters:
includeFreed- If true, iterator will iterate over blocks of memory that have been freed, but haven't been re-used yet.- Returns:
- Iterator of memory sections.
- Throws:
DataUnavailable- See Also:
-
getNestedPackedObject
public JavaObject getNestedPackedObject(JavaClass jc, ImagePointer packedDataAddress) throws DataUnavailable - Throws:
DataUnavailable
-
getNestedPackedArrayObject
public JavaObject getNestedPackedArrayObject(JavaClass jc, ImagePointer i, int arrayLength) throws DataUnavailable - Throws:
DataUnavailable
-
getStartTime
Return the JVM start time.- Specified by:
getStartTimein interfaceJavaRuntime- Returns:
- long - JVM start time (milliseconds since 1970)
- Throws:
DataUnavailable- if the JVM start time is not availableCorruptDataException- if the JVM start time is corrupted
-
getStartTimeNanos
Return the value of the system nanotime (high resolution timer) at JVM start.- Specified by:
getStartTimeNanosin interfaceJavaRuntime- Returns:
- long - system nanotime at JVM start
- Throws:
DataUnavailable- if the JVM start time is not availableCorruptDataException- if the JVM start time is corrupted
-