MCPcopy Index your code
hub / github.com/AdoptOpenJDK/jitwatch

github.com/AdoptOpenJDK/jitwatch @1.5.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.5.0 ↗ · + Follow
7,979 symbols 21,661 edges 343 files 2 documented · 0% 1 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

JITWatch

Log analyser and visualiser for the HotSpot JIT compiler.

  • Video introduction to JITWatch video
  • Slides from my LJC lightning talk on JITWatch slides

For instructions and screenshots see the wiki

https://github.com/AdoptOpenJDK/jitwatch/wiki

The JITWatch user interface is built using JavaFX which is downloaded as a maven dependency for JDK11+.

For pre-JDK11 you will need to use a Java runtime that includes JavaFX.

maven

mvn clean package && java -jar ui/target/jitwatch-ui-shaded.jar

Build an example HotSpot log

# Build the code and then run
cd scripts && ./makeDemoLogFile.sh

Extension points exported contracts — how you extend this code

Coin (Interface)
(no doc) [6 implementers]
core/src/main/resources/examples/PolymorphismTest.java
IRedrawable (Interface)
(no doc) [12 implementers]
ui/src/main/java/org/adoptopenjdk/jitwatch/ui/resize/IRedrawable.java
Coin (Interface)
(no doc) [6 implementers]
core/src/main/resources/examples/MegamorphicBypass.java
ICompilationChangeListener (Interface)
(no doc) [7 implementers]
ui/src/main/java/org/adoptopenjdk/jitwatch/ui/main/ICompilationChangeListener.java
ICompilationVisitable (Interface)
(no doc) [15 implementers]
core/src/main/java/org/adoptopenjdk/jitwatch/compilation/ICompilationVisitable.java
IStageClosedListener (Interface)
(no doc) [6 implementers]
ui/src/main/java/org/adoptopenjdk/jitwatch/ui/stage/IStageClosedListener.java
ITreeVisitable (Interface)
(no doc) [6 implementers]
core/src/main/java/org/adoptopenjdk/jitwatch/treevisitor/ITreeVisitable.java
ILineListener (Interface)
(no doc) [4 implementers]
ui/src/main/java/org/adoptopenjdk/jitwatch/ui/triview/ILineListener.java

Core symbols most depended-on inside this repo

size
called by 421
core/src/main/java/org/adoptopenjdk/jitwatch/model/bytecode/LineTable.java
add
called by 322
core/src/main/java/org/adoptopenjdk/jitwatch/model/bytecode/LineTable.java
getChildren
called by 306
core/src/main/java/org/adoptopenjdk/jitwatch/model/Tag.java
put
called by 210
core/src/main/java/org/adoptopenjdk/jitwatch/model/bytecode/BCParamSwitch.java
equals
called by 102
core/src/main/java/org/adoptopenjdk/jitwatch/model/Tag.java
getName
called by 99
core/src/main/java/org/adoptopenjdk/jitwatch/model/Tag.java
getAttributes
called by 98
core/src/main/java/org/adoptopenjdk/jitwatch/model/Tag.java
getValue
called by 83
core/src/main/java/org/adoptopenjdk/jitwatch/model/bytecode/IBytecodeParam.java

Shape

Method 7,593
Class 325
Interface 30
Enum 26
Function 5

Languages

Java100%
TypeScript1%
Kotlin1%

Modules by API surface

core/src/main/resources/examples/CodeCacheBuster.java5,002 symbols
core/src/main/java/org/adoptopenjdk/jitwatch/core/JITWatchConfig.java89 symbols
core/src/test/java/org/adoptopenjdk/jitwatch/test/TestParseUtil.java59 symbols
ui/src/main/java/org/adoptopenjdk/jitwatch/ui/main/JITWatchUI.java51 symbols
core/src/main/java/org/adoptopenjdk/jitwatch/util/ParseUtil.java47 symbols
ui/src/main/java/org/adoptopenjdk/jitwatch/ui/triview/TriView.java44 symbols
core/src/main/java/org/adoptopenjdk/jitwatch/model/JITStats.java44 symbols
core/src/main/java/org/adoptopenjdk/jitwatch/model/Compilation.java40 symbols
core/src/main/java/org/adoptopenjdk/jitwatch/demo/MakeHotSpotLog.java40 symbols
core/src/main/java/org/adoptopenjdk/jitwatch/model/AbstractMetaMember.java39 symbols
core/src/main/java/org/adoptopenjdk/jitwatch/parser/AbstractLogParser.java36 symbols
core/src/main/java/org/adoptopenjdk/jitwatch/parser/zing/ZingLine.java35 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

For agents

$ claude mcp add jitwatch \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact