[pypy-dev] [pypy-sprint] AVM2 / Tamarin backend at the sprint

Toby Watson toby at thetobe.com
Fri Jan 4 01:06:18 CET 2008


Hi Antonio,

Thanks for the advice and pointers into the code.

Would you say this is still a fair assessment of the tasks that have  
to be done to target a new backend? : (pulled from PyPy[cli-backend])

	• map ootypesystem's types to CLI Common Type System's types;

	• map ootypesystem's low level operation to CLI instructions;

	• map Python exceptions to CLI exceptions;

	• write a code generator that translates a flow graph into a list of  
CLI instructions;

	• write a class generator that translates ootypesystem classes into  
CLI classes.

Was this pre or post the refactoring you describe?

cheers,
Toby


On 3 Jan 2008, at 23:29, Antonio Cuni wrote:

> Hi Toby,
>
> Toby Watson wrote:
>
>> I'm busy reading them now. I started with the recent some of the   
>> Google presentation and am now looking at http://codespeak.net/pypy/dist/pypy/doc/cli-backend.html 
>>    and Antonio Cuni's thesis on the CLI backend. I'll happily look  
>> at  any other recommendations.
>
> I was just writing you a mail pointing to that documents, but I see  
> you already found them :-).
>
> Be warn that my thesis is a bit outdated, because a lot of things  
> have been improved since then. In particular, we added a new backend  
> for the JVM which shares most of the code with the CLI backend; the  
> good news is that almost certainly such code can be reused also for  
> a new tamarin backend, meaning that writing it would be much easier  
> than what was writing gencli and genjvm.
>
> If you want to look at the source, the backend independent code is  
> located in translator/oosupport/; each of the files there contains  
> classes that are subclassed by the code in translator/{cli,jvm}.
>
> Feel free to ask questions either here or on #pypy, I'll be glad to  
> answer.
>
> ciao Anto




More information about the Pypy-dev mailing list