Maybe I misunderstood, but at one point you seemed to imply that the compiler will take care of preserving the registers. That's not true, as shown in the previous example.
I also think it's foolhardy to attempt to preserve the registers yourself---especially if you want your code to be (1/2)
I also think it's foolhardy to attempt to preserve the registers yourself---especially if you want your code to be (1/2)
Comments
Even if there was a module relationship that guaranteed that your approach worked without having to manually preserve, it can be extended in the future. Again, sounds like a recipe for a disaster.