Live briefing
Everything about Copy-and-patch
Compiler technique
In computing, copy-and-patch compilation is a simple compiler technique intended for just-in-time compilation that uses pattern matching to match pre-generated templates to parts of an abstract syntax tree (AST) or bytecode stream, and emit corresponding pre-written machine code fragments that are then patched to insert memory addresses, register addresses, constants and other parameters to produce executable code. Code not matched by templates can be either be interpreted in the normal way, or code created to directly call interpreter code. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Copy-and-patchA 5-minute orientation
- Pick up a classic book: Intelligence BulletinThe most-reprinted book on the subject
- Read the landmark paper: Copy-and-patch compilation: a fast compilation algorithm for high-level languages and bytecodeCited 28 times
- Go sideways: Just-in-time compilationA closely related topic
- Go sideways: Tracing just-in-time compilationA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
📚 Books worth reading
Intelligence BulletinUnited States. War Department. Military Intelligence Service · 1942
Version control with GitJon Loeliger · 2009
Advances in Multimedia ModelingShipeng Li · 2012
The Conspirators HierarchyJohn Coleman · 1992
Potassium channelsJonathan D. Lippiat · 2008
Intelligent Science and Intelligent Data EngineeringJian Yang · 2013- 📕Minutes of the proceedings before the Hon. John Sergeant of Philadelphia in the matter of the Pea Patch Island, referred to him as sole arbitrator between the United States on one side and James Humphrey on the otherJames Humphrey, Sergeant, John · 1848
The electric guitar handbookPaul Balmer · 2011
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Just-in-time compilation Just-in-time (JIT) compilation (also dynamic translation or run-time compilations) is compilation of computer code during execution of a program at run…
- Tracing just-in-time compilation Tracing just-in-time compilation is a technique used by virtual machines to optimize the execution of a program at runtime. This is done by recording a…
- Meta-tracing Meta-tracing is a mostly automatic transformation that takes an interpreter as input and produces a tracing just-in-time compiler as output. Since interpreters…
- Bytecode Bytecode (also called portable code or p-code) is an instruction set designed for efficient execution by a software interpreter. Unlike human-readable…
- LuaJIT LuaJIT is a tracing just-in-time compiler and interpreter for the Lua programming language. The LuaJIT project was started in 2005 by developer Mike Pall…
- PyPy PyPy (/ˈpaɪpaɪ/) is an implementation of the Python programming language. PyPy frequently runs much faster than the standard implementation CPython because…
- Ahead-of-time compilation In computer science, ahead-of-time compilation (AOT compilation) is the act of compiling an (often) higher-level programming language into an (often) lower-leve…
- GraalVM GraalVM is a Java Development Kit (JDK) written in Java. The open-source distribution of GraalVM is based on OpenJDK, and the enterprise distribution is…