Introducing Huemul

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Introducing Huemul

huemul
I would be pleased if you could take a look at:

http://www.guillermomolina.com.ar/huemul/index.php

There you will find information to download a demo of the Smalltalk
implementation that translates st code directly to assembler, using
Exupery as the final compiler phase.

Please let me know what you think.

Regards, Guille



Reply | Threaded
Open this post in threaded view
|

Re: Introducing Huemul

Juan Vuletich-4
Hi Guille,

Looks very interesting and ambitious!

I'd like to know more about what you've done with integers, and its
possibilities for regular Squeak images. And about your exeperience with
Exupery, too.

Cheers,
Juan Vuletich
www.jvuletich.org

[hidden email] escribió:

> I would be pleased if you could take a look at:
>
> http://www.guillermomolina.com.ar/huemul/index.php
>
> There you will find information to download a demo of the Smalltalk
> implementation that translates st code directly to assembler, using
> Exupery as the final compiler phase.
>
> Please let me know what you think.
>
> Regards, Guille
>
>
>
>
>  


Reply | Threaded
Open this post in threaded view
|

RE: Introducing Huemul

Sebastian Sastre-2
In reply to this post by huemul
Welcome to squeak-dev Guille. Awsome results you archieved! I can imagine a
Squeak performig like that. Just awsome

        cheers,

Sebastian

> -----Mensaje original-----
> De: [hidden email]
> [mailto:[hidden email]] En
> nombre de [hidden email]
> Enviado el: Sábado, 26 de Mayo de 2007 11:52
> Para: [hidden email]
> Asunto: Introducing Huemul
>
> I would be pleased if you could take a look at:
>
> http://www.guillermomolina.com.ar/huemul/index.php
>
> There you will find information to download a demo of the
> Smalltalk implementation that translates st code directly to
> assembler, using Exupery as the final compiler phase.
>
> Please let me know what you think.
>
> Regards, Guille
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Introducing Huemul

huemul
In reply to this post by Juan Vuletich-4
> Hi Guille,
>
> Looks very interesting and ambitious!
>
> I'd like to know more about what you've done with integers, and its
> possibilities for regular Squeak images.

Hi Juan

If you mean what I've done with integers you are talking about the 0
tagging, this is the story:
I had been developing Huemul with 1 tagged integers (as Squeak does) [1].
But I asked Bryce (from Exupery) what would be advantageous for Exupery to
speed up things. He suggested to use 0 tagged ints.
It is easier to say than implement. As I had no idea how that should be
implemented, Klaus D. Witzel teach me how to do it, and then I implemented
that in Huemul.
The problem with 0 tagged int is not the arithmetic. There are similar
(easier) tricks than in 1 tagged. The problem is that every oop becomes 1
tagged, and every piece of code that accesses an oop should be replaced
with a relative to -1 displacement of the oop.

[1] Internally Squeaks represent Smallints shifting the number to the left
and adding one. That is why it is called 1 tagged integer, because if it's
last bit is 1, it is a Smallint, if it is not, it is an oop.

I am not an expert in Squeak internals, but I think that 0 tagged integers
could be implemented in Squeak. But there is always the problem of braking
backward compatibility.

Does this answer your question about integers?

> And about your exeperience with
> Exupery, too.
>

Experience with expuery:
Exupery has (at least) three layers,

one that translate Squeak bytecodes to an higher IR (intermediate
representation).
the second that translates higher to lower IR.
And the final phase that translates to x86 machine code.

I don't use the first two layers, because I use Squeaks New Compiler AST's
to generate the lower level IR of Exupery. I think I will implement the
second layer in the future, because it does some optimizations. But may be
I will do that when Exupery reaches version 1.0.
I implemented a lot of inlining code for bools and integers, but i can't
implement ALL the inlining that I want because I have a problem with
Exupery's ColouringRegisterAllocator. But all I have to do is to switch
off some inlining.

But Bryce is the expert, he will correct me if I am wrong.
Cheers, Guille

> Cheers,
> Juan Vuletich
> www.jvuletich.org
>
> [hidden email] escribió:
>> I would be pleased if you could take a look at:
>>
>> http://www.guillermomolina.com.ar/huemul/index.php
>>
>> There you will find information to download a demo of the Smalltalk
>> implementation that translates st code directly to assembler, using
>> Exupery as the final compiler phase.
>>
>> Please let me know what you think.
>>
>> Regards, Guille
>>
>>
>>
>>
>>
>
>
>