MCPcopy Index your code
hub / github.com/aprz512/write-your-own-jvm

github.com/aprz512/write-your-own-jvm @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,860 symbols 4,713 edges 374 files 294 documented · 16%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Extension points exported contracts — how you extend this code

ConstantInfo (Interface)
Constant Type Value CONSTANT_Class 7 CONSTANT_Fieldref 9 CONSTANT_Methodref [26 implementers]
app/src/main/java/write/your/own/jvm/classfile/constantpool/ConstantInfo.java
Instruction (Interface)
每条指令都以一个单字节的操作码(opcode)开头,这就是字节码名称的由来。 由于只使用一字节表示操作码,显而易见,Java虚拟机最多只能支持256条指令。 和汇编语言类似,为了便于记忆,Java虚拟机规范给每个操作码都指定了一个助 [351 …
app/src/main/java/write/your/own/jvm/instruction/Instruction.java
NativeMethod (Interface)
(no doc) [84 implementers]
app/src/main/java/write/your/own/jvm/vnative/NativeMethod.java
Entry (Interface)
(no doc) [8 implementers]
app/src/main/java/write/your/own/jvm/classpath/Entry.java

Core symbols most depended-on inside this repo

getOperandStack
called by 380
app/src/main/java/write/your/own/jvm/runtimedata/StackFrame.java
popInt
called by 87
app/src/main/java/write/your/own/jvm/runtimedata/OperandStack.java
getLocalVariableTable
called by 85
app/src/main/java/write/your/own/jvm/runtimedata/StackFrame.java
nextU2ToInt
called by 79
app/src/main/java/write/your/own/jvm/classfile/ClassReader.java
pushInt
called by 77
app/src/main/java/write/your/own/jvm/runtimedata/OperandStack.java
getMyClass
called by 56
app/src/main/java/write/your/own/jvm/runtimedata/heap/MyObject.java
getInstance
called by 47
app/src/main/java/write/your/own/jvm/vnative/NativeRegistry.java
pushRef
called by 47
app/src/main/java/write/your/own/jvm/runtimedata/OperandStack.java

Shape

Method 1,416
Class 439
Interface 5

Languages

Java100%
Kotlin1%

Modules by API surface

app/src/main/java/write/your/own/jvm/runtimedata/heap/MyClass.java70 symbols
app/src/main/java/write/your/own/jvm/instruction/extended/Wide.java40 symbols
app/src/main/java/write/your/own/jvm/classfile/ClassFile.java27 symbols
app/src/main/java/write/your/own/jvm/vnative/java/lang/NClass.java22 symbols
app/src/main/java/write/your/own/jvm/runtimedata/heap/ClassMember.java22 symbols
app/src/main/java/write/your/own/jvm/runtimedata/heap/MyClassLoader.java21 symbols
app/src/main/java/write/your/own/jvm/vnative/sun/misc/NUnsafe.java20 symbols
app/src/main/java/write/your/own/jvm/runtimedata/OperandStack.java18 symbols
app/src/main/java/write/your/own/jvm/runtimedata/heap/MyMethod.java15 symbols
app/src/main/java/write/your/own/jvm/runtimedata/LocalVariableTable.java15 symbols
app/src/main/java/write/your/own/jvm/classfile/MemberInfo.java13 symbols
app/src/main/java/write/your/own/jvm/runtimedata/heap/MyObject.java12 symbols

For agents

$ claude mcp add write-your-own-jvm \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page