{
  "id": 6206,
  "title": "EIP-6206: EOF - JUMPF and non-returning functions",
  "status": "Stagnant",
  "type": "Standards Track",
  "category": "Core",
  "summary": "This introduces the JUMPF instruction for EOF contracts, enabling tail call optimization by jumping to code sections without adding return stack frames. It also introduces non-returning functions - sections that never return control to their caller. This is particularly efficient for error handling helpers that end with REVERT, allowing compilers to generate more optimal code with reduced gas costs and smaller bytecode size. Functions can jump to other functions with fewer outputs, and non-returning functions don't need to clean up extra stack items before terminating.",
  "impacts": [],
  "discussion_url": "https://ethereum-magicians.org/t/eip-4750-eof-functions/8195",
  "source_markdown_url": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-6206.md",
  "canonical_url": "/latest/eips/6206.json",
  "markdown_url": "/latest/eips/6206.md",
  "citations": [
    {
      "recordId": "eip-6206",
      "artifactPath": "normalized/6206.json",
      "url": "/records/proposal/eip-6206/normalized/6206.json",
      "label": "EIP-6206: EOF - JUMPF and non-returning functions",
      "snippet": "This introduces the JUMPF instruction for EOF contracts, enabling tail call optimization by jumping to code sections without adding return stack frames. It also introduces non-returning functions - sections that never re"
    }
  ]
}
