JavaScript:Compiler References: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(17 intermediate revisions by 2 users not shown)
Line 4: Line 4:
* [http://people.mozilla.org/~gal/compressed.tracemonkey-pldi-09.pdf Trace-based Just-in-Time Type Specialization for Dynamic Languages]
* [http://people.mozilla.org/~gal/compressed.tracemonkey-pldi-09.pdf Trace-based Just-in-Time Type Specialization for Dynamic Languages]
* [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://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 11: Line 13:
* [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.36.8877&rep=rep1&type=pdf Value numbering]
* [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.36.8877&rep=rep1&type=pdf Value numbering]
* [http://www.christianwimmer.at/Publications/Wimmer10a/Wimmer10a.pdf Linear Scan Register Allocation on SSA Form]
* [http://www.christianwimmer.at/Publications/Wimmer10a/Wimmer10a.pdf Linear Scan Register Allocation on SSA Form]
* [http://citeseer.ist.psu.edu/viewdoc/download?doi=10.1.1.45.4503&rep=rep1&type=pdf Single-Pass Generation of Static Single Assignment Form for Structured Languages]


* http://llvm.cs.illinois.edu/~vadve/CS526/public_html/Papers/
* http://llvm.cs.illinois.edu/~vadve/CS526/public_html/Papers/
Line 17: Line 20:
* [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://wingolog.org/archives/2011/06/21/security-implications-of-jit-compilation security implications of jit compilation]
* [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)
Line 24: Line 27:
* [http://db.usenix.org/events/vee05/full_papers/p153-yunhe.pdf Virtual Machine Showdown: Stack Versus Registers]
* [http://db.usenix.org/events/vee05/full_papers/p153-yunhe.pdf Virtual Machine Showdown: Stack Versus Registers]
* [http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=181EEF66EB411F4277C009A1D492CF75?doi=10.1.1.14.9450&rep=rep1&type=pdf Ropes: an Alternative to Strings]
* [http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=181EEF66EB411F4277C009A1D492CF75?doi=10.1.1.14.9450&rep=rep1&type=pdf Ropes: an Alternative to Strings]
* [http://domino.research.ibm.com/library/cyberdig.nsf/papers/D08914EA5DED51398525739F000896EF/$File/RT0550.pdf Array Bounds Check Elimination Utilizing a Page Protection Mechanism]


== Garbage Collection ==
== 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)
* 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 this post])
* [http://www.cs.utexas.edu/users/mckinley/395Tmm/talks/May-4-MMTk.ppt Myths & Realties The Performance Impact of Garbage Collection]
* [http://www.cs.utexas.edu/users/mckinley/395Tmm/talks/May-4-MMTk.ppt Myths & Realities The Performance Impact of Garbage Collection]
* [http://www.research.ibm.com/mre05/Click.pdf Pauseless GC in the Azul JVM]
* [http://www.research.ibm.com/mre05/Click.pdf Pauseless GC in the Azul JVM]
* [http://www.usenix.org/events/vee05/full_papers/p46-click.pdf The Pauseless GC Algorithm]
* [http://www.iecc.com/gclist/GC-faq.html GC FAQ]
* [http://blogs.msdn.com/b/abhinaba/archive/2009/01/25/back-to-basic-series-on-dynamic-memory-management.aspx Back to basic: Series on dynamic memory management]
* [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.4370&rep=rep1&type=pdf A fast write barrier for generational garbage collectors]
* [http://www.cs.kent.ac.uk/people/staff/rej/gc.html#Book Garbage Collection: algorithms for automatic dynamic memory management] (the definitive book on GC as of 1996)
* [http://www.amazon.com/Garbage-Collection-Handbook-Management-Algorithms/dp/1420082795/#The Garbage Collection Handbook] (new GC book by Jones, Hosking and Moss, coming out at the end of August 2011)
* [http://www.cse.nd.edu/~dthain/courses/cse40243/spring2006/gc-survey.pdf Uniprocessor Garbage Collection Techniques]


== Assembly ==
== Assembly ==
* [http://www.agner.org/optimize/optimizing_assembly.pdf Optimizing subroutines in assembly language]
* [http://www.agner.org/optimize/optimizing_assembly.pdf Optimizing subroutines in assembly language]
* [http://www.agner.org/optimize/microarchitecture.pdf The microarchitecture of Intel, AMD and VIA CPUs An optimization guide for assembly programmers and compiler makers]
* [http://www.agner.org/optimize/microarchitecture.pdf The microarchitecture of Intel, AMD and VIA CPUs An optimization guide for assembly programmers and compiler makers]
* [https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF7785256996007558C6/$file/cwg.pdf The PowerPC Compiler Writer’s Guide]


== Other ==
== Other ==
* [http://www.cs.usfca.edu/~galles/compilerdesign/ Mordern Compiler Design]
* [http://www.cs.usfca.edu/~galles/compilerdesign/ Modern Compiler Design]
* http://www.hackersdelight.org/
* http://www.hackersdelight.org/
* http://reddit.com/r/compilers

Latest revision as of 23:14, 7 October 2011

JIT

SSA

VM

Garbage Collection

Assembly

Other