Practical partial evaluation for high-performance dynamic language runtimes