hg: valhalla/valhalla/jdk: Initial implementation of metacircular interpreter

Rémi Forax forax at univ-mlv.fr
Sun Aug 23 16:23:11 UTC 2015



Le 23 août 2015 17:12:02 CEST, Brian Goetz <brian.goetz at oracle.com> a écrit :
>> my guess, let say you want to prototype the u-opcodes of John's talk
>at JVMLS.
>
>Yep, that's basically the motivation.  (Plus, it was fun.)  

very true, everyone should try to write such interpreter at least once, with lambdas and method handles it's exhilarating !

Rémi 

> If we want to experiment with new bytecodes, its orders of magnitude cheaper to do
>
>the initial experiments in javac + metacircular interpreter than to do 
>it in HotSpot.
>
>> Btw, there is a complementary approach which is to use the existing
>bytecode interpreter and encode for every u-opcode a cascade of if/else
>on the type, the bytecode verifier will bark but you can deactivate it
>(the JIT may also crash if it is too curious a look the code of never
>executed branches).
>
>Yes.  This might end up being a "Phase II" experimental strategy, after
>
>the MCE-based Phase I experiment runs its course.  But we don't want to
>
>start there, in part for the reasons you cite (must disable verifier, 
>etc.)



More information about the valhalla-dev mailing list