JavaScript:Compiler References: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
* [http://kryptoslogic.com/download/JIT_Mitigations.pdf JIT spraying and mitigations] | * [http://kryptoslogic.com/download/JIT_Mitigations.pdf JIT spraying and mitigations] | ||
* [http://wingolog.org/archives/2011/06/21/security-implications-of-jit-compilation security implications of jit compilation] | * [http://wingolog.org/archives/2011/06/21/security-implications-of-jit-compilation security implications of jit compilation] | ||
* [http:// | * [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.78.1412&rep=rep1&type=pdf Fast, effective code generation in a just-in-time Java compiler | ||
== SSA == | == SSA == | ||
Line 19: | Line 19: | ||
* [http://www.lua.org/doc/jucs05.pdf The Implementation of Lua 5.0] | * [http://www.lua.org/doc/jucs05.pdf The Implementation of Lua 5.0] | ||
* Language-Independent Sandboxing of Just-In-Time Compilation and Self-Modifying Code (see http://groups.google.com/group/mozilla.dev.tech.js-engine.internals/browse_thread/thread/4a63ab71f6c50fce) | * Language-Independent Sandboxing of Just-In-Time Compilation and Self-Modifying Code (see http://groups.google.com/group/mozilla.dev.tech.js-engine.internals/browse_thread/thread/4a63ab71f6c50fce) | ||
* [http://www.usenix.org/events/woot10/tech/full_papers/Blazakis.pdf Interpreter Exploitation] | |||
* [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.39.4394&rep=rep1&type=pdf Representing type information in dynamically typed languages] | * [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.39.4394&rep=rep1&type=pdf Representing type information in dynamically typed languages] | ||
* [http://evilpie.github.com/sayrer-fatval-backup/cache.aspx.htm Mozilla’s New JavaScript Value Representation] (NaN boxing, mirrored by me) | * [http://evilpie.github.com/sayrer-fatval-backup/cache.aspx.htm Mozilla’s New JavaScript Value Representation] (NaN boxing, mirrored by me) |
Revision as of 10:27, 24 July 2011
JIT
- PyCon 2010:How to Compile Python x86 Assembly, the Python Way (3h talk)
- Tracing the meta-level: PyPy's tracing JIT compiler
- Trace-based Just-in-Time Type Specialization for Dynamic Languages
- JIT spraying and mitigations
- security implications of jit compilation
- [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.78.1412&rep=rep1&type=pdf Fast, effective code generation in a just-in-time Java compiler
SSA
- SSA-based Compiler Design Book
- SCC-Based Value Numbering
- Efficiently Computing Static Single Assignment Form and the Control Dependence Graph
- Value numbering
- Linear Scan Register Allocation on SSA Form
VM
- The Implementation of Lua 5.0
- Language-Independent Sandboxing of Just-In-Time Compilation and Self-Modifying Code (see http://groups.google.com/group/mozilla.dev.tech.js-engine.internals/browse_thread/thread/4a63ab71f6c50fce)
- Interpreter Exploitation
- Representing type information in dynamically typed languages
- Mozilla’s New JavaScript Value Representation (NaN boxing, mirrored by me)
- value-representation-in-javascript-implementations
- The Case for Virtual Register Machines
- Virtual Machine Showdown: Stack Versus Registers
- Ropes: an Alternative to Strings
Garbage Collection
- Waste Not, Want Not Resource-based Garbage Collection in a Shared Environment (see http://groups.google.com/group/mozilla.dev.tech.js-engine.internals/browse_thread/thread/4a63ab71f6c50fce)
- Myths & Realties The Performance Impact of Garbage Collection
- Pauseless GC in the Azul JVM
- GC FAQ
- Back to basic: Series on dynamic memory management
Assembly
- Optimizing subroutines in assembly language
- The microarchitecture of Intel, AMD and VIA CPUs An optimization guide for assembly programmers and compiler makers
- The PowerPC Compiler Writer’s Guide