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.html >>> [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. >
