A notion of 'blocking'

My virtual machine is going to use a similar ‘constant pool’ to java and this can be linked dynamically or statically on load. Also I talk in the 2nd and 3rd person a lot… sorry. So with that in mind, this is the most recent question that I’ve asked myself.

We need a way of loading and unloading scripted bits of functionality faster than the complicated re-linking (or whatever I decide on) method. It would be very nice (ie I won’t settle for less) for this to be dynamic and automatically upkept. If a series of groups are written in such a way that reversing the order and unloading won’t change the offsets for any other part of the code base, this should happen automatically.

I think a good way to do this is for each class to have a stack of groups that have modified it, if the group that we are trying to unload is at the top of every stack of every class then we can unload it automatically. Also if we are the last group in the stack we should delete the class, but we need no instances of it in existance (may be hard for classes with static instances?).

I haven’t completely worked out the specifics yet (the class hierarchy will get in the way) but I think it will work.

0 Responses to “A notion of 'blocking'”


Comments are currently closed.