Java JIT analysis and code coverage
Home
Articles
Java
Speaking
Raspberry Pi
Calculators
FIX Protocol
Published June 12th, 2013
I am building a tool to visualise how much of a program's code is JIT compiled at runtime
Research Info:
https://wikis.oracle.com/display/HotSpotInternals/Home
http://blog.joda.org/2011/08/printcompilation-jvm-flag.html
https://gist.github.com/rednaxelafx/1165804#file_notes.md
http://blog.headius.com/2009/01/my-favorite-hotspot-jvm-flags.html
Enable JIT logging in HotSpot VM:
-XX:+UnlockDiagnosticVMOptions -XX:+PrintCompilation -XX:+LogCompilation -XX:+PrintInlining
I have now open-sourced my work on HotSpot logs at GitHub
https://github.com/chriswhocodes/jitwatch
Similar Articles
Cascading OpenJDK builds
Quickly find worst GC pauses in G1 and Parallel GC logs
Identify the Java Thread taking the most CPU
Run an IBM J9 VM in a docker container
DemoFX Part 3
More Bytecode Geekery with JarScan
DemoFX Part 2
OpenJFX Nightly Builds for Linux amd64 and armv6hf for Raspberry Pi
DemoFX Part 1
Add JavaFX support to Azul Systems' Zulu JDK using OpenJFX
JarScan comparison between 8u31 and 8u40 rt.jar
Development Goals for 2015
CPU pinning Java threads with jstack and taskset
The power of JIT inlining
Building OpenJDK 9 and OpenJFX from source on Debian
Building hsdis-amd64.dylib on Mac OSX
Java 7 and Java 8 core methods above the default hot method inlining threshold
Can splitting Java core class methods increase performance?
Java acronyms
Location of Java applet log on Windows XP
Examination of PerformanceTools using JITWatch
Building hsdis on Linux amd64 on Debian
Update Java plugin used by OSX
Understanding HotSpot logs
Raspberry Pi TFT hack and video glasses, wearable Pi project
Maven setup
Compiling JDK8 lambdas on Eclipse Luna using Ant
Reading and writing bytes between Java and Obj-C
Reference manual index, Java, PHP, JavaScript
Builder Pattern
Refactoring old style Java synchronized code with CopyOnWriteArrayList and Collections.unmodifiableList
JavaScript prototype idiom for OO design
Cross platform SWT dispatch loop idiom
[SOLVED] Java 7 update 21 mixed code warning dialog with signed applet
Clear Linux buffers, cache when benchmarking filesystem
JavaFX MediaPlayer crash (Debian amd64) playing mp3 and displaying graphics
Java on Mac OSX 10.8 Safari broken by XProtect.meta.plist whitelist update
Updated Tutorial for JDK8 early access on Raspberry Pi
Using Java jarsigner to check a jar signature
Eclipse can't find import javafx
JavaFX Ensemble sample won't run from Eclipse due to bad server config
Java applet deployment using deployJava.js
deployJava.js fails to install Java when Java not present
jusched.exe still running after Java uninstalled
High performance modulo operation
Applet graphics corruption in Java 7 update 10, 11, 13 on Mac OSX
ncurses type applications in Java on Raspberry Pi (Lanterna Console)
OpenJDK IcedTea plugin java debugging
Raspberry Pi Java Applets - Iceweasel OpenJDK IcedTea plugin (HardFloat)
[SOLVED] Debian ./java: No such file or directory
Objective C for Java Programmers
Java cheat sheet for angle plotting in degrees, radians, and Pi radians
[SOLVED] Eclipse Java autocomplete not working
Java trace memory leaks with hprof and verbose:gc
Java Unsupported major minor version 51.0
Java AWT Graphics2D anti-aliasing in a Java 1.1 compatible way using reflection
Getting started with Java on Raspberry Pi
Using the Java 1.5 ScheduledExecutorService for scheduling repeating tasks
Java wrapper around an external process
Map JDBC types to Java primitive and Object types
java.io.IOException: Too many open files
Low latency Java tips
Select correct SWT jar for your OS and JVM at runtime
Java can an int fit inside a float or a double without loss of precision?
Java concatenate null String with +=
Use 64 bit Sun Java plugin in Firefox on Ubuntu
openSSL convert PEM certificate and import to Java keystore
Java short form array iteration using for-loop
Java for loop syntax to replace Iterator
Java String.split include empty trailing strings
Java variable scope in switch statement
Java defensive programming - compare variable with constant
SWT Canvas plot centred text
FATAL: sorry, too many clients already (PostgreSQL)
Java numerical overflow
Business Insider's UBS Quant puzzle solution
Java return code in Linux shell script
Java primitives in size order
SWT literal ampersand instead of keyboard hotkey
Elegant use of Java's Math.max() to prevent negative numbers
Java remove non alphanumeric characters from String
SWT best practice - single Display multiple Shells
Ubuntu remove OpenJDK and use Sun Java as default
Java can't delete directory
Deadlock when 2 threads write to the same HashMap
Updated instructions for building hsdis on OSX
Run an IBM J9 VM in a docker container
JITWatch on ARM (Raspberry Pi)
JITWatch code cache visualisation
JITWatch hits 1000 stars on GitHub
JITWatch lock elision report
New JITWatch sandbox example - no partial escape analysis
New JITWatch sandbox example for reducing a megamorphic callsite
JITWatch escape analysis video
Bytecode size histograms for popular Java-based projects
More Bytecode Geekery with JarScan
Statistical Analysis of Core Libs Bytecode using JarScan
JarScan comparison between 8u31 and 8u40 rt.jar
Development Goals for 2015
The power of JIT inlining
Java 7 and Java 8 core methods above the default hot method inlining threshold
Examination of PerformanceTools using JITWatch
Understanding HotSpot logs
All content on this website is Copyright 2003 - 2024 Chris Newland
Privacy Policy