The logic for handling upcalls and downcalls makes specific assumptions on the fact that the layouts being handled are internal layout objects, created via the Util::makeType method.
This assumption works, as long as we work with binder annotated class, but if we step outside (see recent effort for adding low level SystemABI interface), it will be likely for users to want to plug in the upcall/downcalll logic into their own custom LayoutTypes.
This assumption works, as long as we work with binder annotated class, but if we step outside (see recent effort for adding low level SystemABI interface), it will be likely for users to want to plug in the upcall/downcalll logic into their own custom LayoutTypes.