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

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


Hi Peter,
my guess, let say you want to prototype the u-opcodes of John's talk at JVMLS.
What would you do ?

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).

Rémi 


Le 23 août 2015 11:14:10 CEST, Peter Levart <peter.levart at gmail.com> a écrit :
>Hi,
>
>Very interesting. Are you prepared to give some hint as to what role
>the 
>metacircular interpreter will play in the valhalla project or is it 
>still a secret ?
>
>Regards, Peter
>
>On 08/21/2015 11:23 PM, brian.goetz at oracle.com wrote:
>> Changeset: f0a19269be37
>> Author:    briangoetz
>> Date:      2015-08-21 17:23 -0400
>> URL:      
>http://hg.openjdk.java.net/valhalla/valhalla/jdk/rev/f0a19269be37
>>
>> Initial implementation of metacircular interpreter
>>
>> + interpreter/src/valhalla/interpreter/Frame.java
>> + interpreter/src/valhalla/interpreter/Interpreter.java
>> + interpreter/src/valhalla/interpreter/InterpreterError.java
>> + interpreter/src/valhalla/interpreter/OpcodeHandler.java
>> + interpreter/test/valhalla/interpreter/FrameTest.java
>> + interpreter/test/valhalla/interpreter/InterpreterTest.java
>> ! src/java.base/share/classes/java/anyutil/Spliterator.java
>> ! src/java.base/share/classes/java/anyutil/stream/IntStream.java
>> ! src/java.base/share/classes/java/anyutil/stream/Streams.java
>>




More information about the valhalla-dev mailing list