[pypy-dev] Help (v.concretetype is NOT lltype.Void)

Léonard de Haro leonard.de.haro at ens.fr
Wed Aug 8 21:52:55 CEST 2012


Hi everyone,

For those who don't remember, I'm an undergrad stutent doing an 
internship about writing textbook interpreters and turn them into JITing 
VMs using the pypy translation toolchaine.

I'm facing a little problem I don't understand.

I've written a version of my interpreter using Map as described in the 
paper Runtime feedback (http://dl.acm.org/citation.cfm?id=2069181 ) to 
replace dictionnaries I used to use, but when I try to translate I get
"assert v.concretetype is lltype.Void"
Assertion Error

I know this error, I already faced it and going into Pypy's code, I 
found out this was about the order of variables in 
jitdriver.jit_merge_point and jitdriver.can_enter_jit . Previously 
changing approprietly the order of variables solved the problem, but 
this time even bruteforcely testing every permutation didn't solve the 
problem and I'm stuck.

If you could help, I'll be very grateful.

You can find the file here: 
https://github.com/zebign1/RPython-internship/blob/master/Interpreters/ifF1WAE/properOnes/withMap/JITRPinterpretIter.py

Map implementation can be found in the file treeClass.py in the parent 
directory, all along with the parser file.

Thanks for your help
Leonard.



More information about the pypy-dev mailing list