├── .classpath ├── .gitignore ├── .project ├── .settings └── org.eclipse.jdt.core.prefs ├── JVM Mechanics.pdf ├── lib └── does-not-exist.jar └── src ├── example01a └── SimpleProgram.java ├── example01b └── LessSimpleProgram.java ├── example02 └── InvocationCounter.java ├── example03 └── BackedgeCounter.java ├── example04 └── BothCounters.java ├── example05 └── TieredCompilation.java ├── example06 └── Intrinsics.java ├── example07 └── DirectInlining.java ├── example08a └── NullCheck.java ├── example08b └── HotException.java ├── example09 └── Unreached.java ├── example10 └── support │ ├── AlsoSquare.java │ ├── AnotherSquare.java │ ├── Func.java │ ├── IFunc.java │ ├── Sqrt.java │ ├── Square.java │ └── YetAnotherSquare.java ├── example10a └── Monomorphic.java ├── example10b └── ChaStorm.java ├── example10c └── ClassDevirtualization.java ├── example10d └── InterfaceDevirtualization.java ├── example11a └── UnloadedForever.java ├── example11b └── UninitializedForever.java └── support ├── GenSh.java ├── NullOutputStream.java ├── NullPrintStream.java ├── Output.java └── RunWith.java /.classpath: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/.classpath -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | scripts 3 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/.project -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/.settings/org.eclipse.jdt.core.prefs -------------------------------------------------------------------------------- /JVM Mechanics.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/JVM Mechanics.pdf -------------------------------------------------------------------------------- /lib/does-not-exist.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/lib/does-not-exist.jar -------------------------------------------------------------------------------- /src/example01a/SimpleProgram.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example01a/SimpleProgram.java -------------------------------------------------------------------------------- /src/example01b/LessSimpleProgram.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example01b/LessSimpleProgram.java -------------------------------------------------------------------------------- /src/example02/InvocationCounter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example02/InvocationCounter.java -------------------------------------------------------------------------------- /src/example03/BackedgeCounter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example03/BackedgeCounter.java -------------------------------------------------------------------------------- /src/example04/BothCounters.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example04/BothCounters.java -------------------------------------------------------------------------------- /src/example05/TieredCompilation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example05/TieredCompilation.java -------------------------------------------------------------------------------- /src/example06/Intrinsics.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example06/Intrinsics.java -------------------------------------------------------------------------------- /src/example07/DirectInlining.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example07/DirectInlining.java -------------------------------------------------------------------------------- /src/example08a/NullCheck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example08a/NullCheck.java -------------------------------------------------------------------------------- /src/example08b/HotException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example08b/HotException.java -------------------------------------------------------------------------------- /src/example09/Unreached.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example09/Unreached.java -------------------------------------------------------------------------------- /src/example10/support/AlsoSquare.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example10/support/AlsoSquare.java -------------------------------------------------------------------------------- /src/example10/support/AnotherSquare.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example10/support/AnotherSquare.java -------------------------------------------------------------------------------- /src/example10/support/Func.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example10/support/Func.java -------------------------------------------------------------------------------- /src/example10/support/IFunc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example10/support/IFunc.java -------------------------------------------------------------------------------- /src/example10/support/Sqrt.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example10/support/Sqrt.java -------------------------------------------------------------------------------- /src/example10/support/Square.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example10/support/Square.java -------------------------------------------------------------------------------- /src/example10/support/YetAnotherSquare.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example10/support/YetAnotherSquare.java -------------------------------------------------------------------------------- /src/example10a/Monomorphic.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example10a/Monomorphic.java -------------------------------------------------------------------------------- /src/example10b/ChaStorm.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example10b/ChaStorm.java -------------------------------------------------------------------------------- /src/example10c/ClassDevirtualization.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example10c/ClassDevirtualization.java -------------------------------------------------------------------------------- /src/example10d/InterfaceDevirtualization.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example10d/InterfaceDevirtualization.java -------------------------------------------------------------------------------- /src/example11a/UnloadedForever.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example11a/UnloadedForever.java -------------------------------------------------------------------------------- /src/example11b/UninitializedForever.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/example11b/UninitializedForever.java -------------------------------------------------------------------------------- /src/support/GenSh.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/support/GenSh.java -------------------------------------------------------------------------------- /src/support/NullOutputStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/support/NullOutputStream.java -------------------------------------------------------------------------------- /src/support/NullPrintStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/support/NullPrintStream.java -------------------------------------------------------------------------------- /src/support/Output.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/support/Output.java -------------------------------------------------------------------------------- /src/support/RunWith.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dougqh/jvm-mechanics/HEAD/src/support/RunWith.java --------------------------------------------------------------------------------