Pharo compiler

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

Pharo compiler

abergel
Hi Folks!

What are the different optimizations Pharo compiler offers? Is there more than a mere message inlining (class, ifTrue:ifFalse:, timesRepeat:, to:do:) ?

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






Reply | Threaded
Open this post in threaded view
|

Re: Pharo compiler

Marcus Denker-4

On Mar 10, 2011, at 2:37 PM, Alexandre Bergel wrote:

> Hi Folks!
>
> What are the different optimizations Pharo compiler offers? Is there more than a mere message inlining (class, ifTrue:ifFalse:, timesRepeat:, to:do:) ?
>
As Pharo uses right now the standard or Squeak compiler, this is exactly the same.
(And this will be true for the new one, too).
       
MessageNode>>#initialize

has:

        MacroSelectors := #( ifTrue: ifFalse: ifTrue:ifFalse: ifFalse:ifTrue: and: or: whileFalse: whileTrue: whileFalse whileTrue to:do: to:by:do: caseOf: caseOf:otherwise: ifNil: ifNotNil: ifNil:ifNotNil: ifNotNil:ifNil:).

What else do you mean? There is of course the special bytecode (send plus...)


        Marcus



--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


Reply | Threaded
Open this post in threaded view
|

Re: Pharo compiler

abergel
Excellent. Thanks Marcus,

Cheers,
Alexandre


On 10 Mar 2011, at 13:21, Marcus Denker wrote:

>
> On Mar 10, 2011, at 2:37 PM, Alexandre Bergel wrote:
>
>> Hi Folks!
>>
>> What are the different optimizations Pharo compiler offers? Is there more than a mere message inlining (class, ifTrue:ifFalse:, timesRepeat:, to:do:) ?
>>
> As Pharo uses right now the standard or Squeak compiler, this is exactly the same.
> (And this will be true for the new one, too).
>
> MessageNode>>#initialize
>
> has:
>
> MacroSelectors := #( ifTrue: ifFalse: ifTrue:ifFalse: ifFalse:ifTrue: and: or: whileFalse: whileTrue: whileFalse whileTrue to:do: to:by:do: caseOf: caseOf:otherwise: ifNil: ifNotNil: ifNil:ifNotNil: ifNotNil:ifNil:).
>
> What else do you mean? There is of course the special bytecode (send plus...)
>
>
> Marcus
>
>
>
> --
> Marcus Denker  -- http://www.marcusdenker.de
> INRIA Lille -- Nord Europe. Team RMoD.
>
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.