ShareJIT - JIT Code Cache Sharing across Processes and its Practical Implementation
summary
Builds a global shared JIT cache inside Android Runtime (ART) using a file-backed shared memory region and a global share map keyed by a hash of signature+bytecode that stores entry points and reference counts; compiled code is write-once, executable-by-many and GC evicts entries with zero refs. The implementation disables process-specific optimizations (e.g., absolute-method-addressing and app-only inlining), uses a 5000 sharing threshold vs 10000 hot threshold, and across 30 runs on 8 popular apps reports 9% faster runtime, 16% less JIT memory, and 37% less compilation time.
AI-written summary · about
