On 19.06.2012 22:01, Igor Stasenko wrote:
On 19 June 2012 14:33, Henrik Sperre Johansen <henrik.s.johansen@veloxit.no> wrote:
On 19.06.2012 11:46, Fernando Olivero wrote:
Thanks for the info, its a shame we cant easily change the vm.
Oh well, i should first ask for isCompiledMethod before isCollection now...
Fernando
Why? I mean, each CompiledMethod IS a collection of bytes, even though those bytes hold a special meaning. What do you do when you encounter normal ByteArrays?
i think CM inherit from Collection is abuse, and makes little sense:
(Object>>#yourself) do: collect: select: add: remove: detect:
so, only to reuse #at:/#at:put: ?
but it could live with basicAt:/basicAt:put: just well. Well, I tried changing it (proceeding all warnings not to do it) to a variableByteSubclass: of Object (which implements at:/at:put:). After recompileAll'ing, and then using a 1.4 image normally only a single sender of #last (CodeHolder>>#didCodeChangeElsewhere, seemed like a candidate to rewrite using trailer instead anyways) was encountered as user of collection methods.
At least it didn't crash the VM, so I guess it might be an option :) Cheers, Henry