The Design and Implementation of Hyperupcalls