Yuasa described a neat mechanism for placing a barrier on returns: hijack a return address with a jump (return) to a trampoline method (remembering the hijacked address). Barrier semantics can be performed from the trampoline before returning to the intended caller frame. The barrier may reestablish itself further down the stack. The nice property of this barrier is that it has no overhead except when the stack unwinds past it. By contrast, a naive return barrier would impose a cost on every return, which would most likely result in an unsustainable performance hit.