[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