[Newcompiler] Implementing bytecode for closur

Mathieu Suen mathieusuen at yahoo.fr
Sat Apr 28 08:42:56 UTC 2007


On Apr 28, 2007, at 12:51 AM, <bryce at kampjes.demon.co.uk>  
<bryce at kampjes.demon.co.uk> wrote:

> You may want to add a storeClosureEnvironment bytecode too.

> That way you can avoid accessing the context by the bytecode which
> reduces context recycling.
>

Yes

> With a storeClosureEnvironment methods like:
>
>    ifFalse
> 	1 to 100000 do: [self doSomethingIfFalse: [^ self]].
>
> May become faster than their equivalents in the current system.
>
> A simple bytecode that just implements:
>     pushThisContext:
>     pushConstant: 5
>     send: privStoreIn:instVar:
>
> Would be enough to allow for benchmarking.

Ok the benchmark I use it's from http://www.squeaksource.com/ 
SystemBenchmarks

>
> The aim is just to remove pushThisContext: which stops context
> recycling. The current system has to use pushThisContext to create
> the BlockContext. So the current system creates a BlockContext and
> stops any existing contexts being recycled. The closure compiler
> would then just create an environment.
>
> Do you have the tools to profile the VM?

No

>
> If you've got access to Linux (with root access, it may need a kernel
> module compiled) then I could explain how to use oprofile for
> profiling. If not, I can run a few benchmarks here.

I am running MacOSX

>
> Bryce


	

	
		
___________________________________________________________________________ 
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.
http://fr.mail.yahoo.com


More information about the Newcompiler mailing list