Random stupid category idea

· nat's blog


If category defined ivars or properties, these are added to the class via a mulle_vararg builder sort of. So now we only need the offset, as we have enough space in the instance. Where can we store the offset, well a category is a methodlist, so why not there. How do we get the methodlist. Change IMP from id, SEL, void * to id, method *, void *, now suddenly we can get at an offset cheaply.

A kind of downside is that, each cache lookup now needs an additional memory read, to get the method and then the IMP.