On Apr 20, 2012, at 7:29 PM, Paul DeBruicker wrote:
If you were to integrate MethodWrappers into Pharo today would you still use these packages:
Compiler-eem.214 & Compiler-eem.215, Kernel-619 to Kernel-eem.6
what are the changes these packages introduce?
or use the latest from Squeak trunk?
I'm also trying to build a DTrace enabled unix VM based on Adrian Lienhards work here: http://www.adrian-lienhard.ch/blog?dialog=smalltak-meets-dtrace. Has anyone already made one for linux that I could just use?
Thanks
Eliot Miranda-2 wrote
On Wed, Sep 21, 2011 at 3:48 AM, Torsten Bergmann <astares@> wrote:
Hi Eliot,
at [1] you mentioned a port of MethodWrappers to Squeak 4.2. Is there also a port for Pharo available or do you plan to port it?
I was hoping someone with focus on Pharo would integrate the necessary compiler and kernel changes into Pharo. The Squeak trunk packages are Compiler-eem.214 & Compiler-eem.215, and Kernel-619 to Kernel-eem.623. I've attached the diffs. Notionally file in Compiler-213-214.st & Kernel-618-619.st, then file-in Compiler-214-215.st & Kernel-619-623.st. These are generally useful, a) restoring the ability to create subclasses of CompiledMethod, and b) fixing various subtle copying-related state-sharing bugs with AdditionalMethodState (the objects that add additional state to compiled methods, pragmas, properties and "extra inst vars").
The MethodWrappers4.2 package should then just load. It serves as a model for adding inst vars to CompiledMethod.
For those who dont know about MethodWrappers: look at [2]
Indeed. Yes, there's an alternative implementation above objects-as-methods, but that implementation is far from complete. It would be good to see he same kind of completeness. e.g. with MethodWrappers you can write
| indent wrapper | indent := 0. wrapper := MwBlockMethodWrapper on: #benchFib inClass: Integer. wrapper beforeBlock: [:rcvr :args| Transcript crtab: indent; print: rcvr; space; nextPutAll: #benchFib; flush. indent := indent + 1]; afterBlock: [:rcvr :args| indent := indent - 1]. [wrapper install. 7 benchFib] ensure: [wrapper uninstall]
whereas there are few if any examples with the objects-as-methods AFAICS.
Thanks Torsten
[1] http://lists.squeakfoundation.org/pipermail/squeak-dev/2011-September/161567... [2] http://www.refactory.com/Software/MethodWrappers/ -- NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zurück-Garantie! Jetzt informieren: http://www.gmx.net/de/go/freephone
-- best, Eliot
-- View this message in context: http://forum.world.st/MethodWrappers-tp3829576p4574768.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.