aboutsummaryrefslogtreecommitdiff
path: root/documentation/research/back-end
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/research/back-end')
-rw-r--r--documentation/research/back-end/native.md130
1 files changed, 130 insertions, 0 deletions
diff --git a/documentation/research/back-end/native.md b/documentation/research/back-end/native.md
new file mode 100644
index 000000000..53a87edaa
--- /dev/null
+++ b/documentation/research/back-end/native.md
@@ -0,0 +1,130 @@
+# Call stack
+
+1. http://stffrdhrn.github.io/software/embedded/openrisc/2018/06/08/gcc_stack_frames.html
+1. https://yurichev.com/blog/reg_alloc/
+
+# Memory Management
+
+1. https://uridiumauthor.blogspot.com/2018/06/memory-management.html
+1. https://github.com/mtrebi/memory-allocators
+1. http://www.newlisp.org/MemoryManagement.html
+1. http://gee.cs.oswego.edu/dl/html/malloc.html
+1. https://shipilev.net/blog/2014/jmm-pragmatics/
+1. https://floooh.github.io/2018/06/17/handles-vs-pointers.html
+1. https://www.codemag.com/Article/1807051/Introducing-.NET-Core-2.1-Flagship-Types-Span-T-and-Memory-T
+1. https://stefansf.de/post/pointers-are-more-abstract-than-you-might-expect/
+1. http://www.memorymanagement.org/
+1. [Pseudomonarchia jemallocum: The false kingdom of jemalloc, or On exploiting the jemalloc memory manager](http://phrack.com/issues/68/10.html#article)
+1. https://gankro.github.io/blah/rust-layouts-and-abis/
+1. https://paul.bone.id.au/2018/10/19/gc-falsehoods/
+1. [Safe Programming with Pointers through Stateful Views](https://www.cs.bu.edu/~hwxi/academic/papers/padl05.pdf)
+
+# Unicode
+
+1. http://manishearth.github.io/blog/2017/01/14/stop-ascribing-meaning-to-unicode-code-points/
+1. https://garbagecollected.org/2013/03/15/reverse-strings-like-a-pro/
+1. http://reedbeta.com/blog/programmers-intro-to-unicode/
+1. https://mathiasbynens.be/notes/javascript-unicode
+1. http://www.daemonology.net/blog/2008-06-05-faster-utf8-strlen.html
+1. https://haxe.org/blog/unicode/
+1. http://justinblank.com/notebooks/stringrepresentationsandstringapis.html
+
+# Shell
+
+1. https://github.com/dylanaraps/pure-bash-bible
+
+# Platforms
+
+1. https://github.com/neutralinojs/neutralinojs
+
+# Concurrency
+
+1. https://github.com/hnes/libaco
+
+# Numeric operation
+
+1. https://github.com/ridiculousfish/libdivide
+1. https://lemire.me/blog/2019/02/08/faster-remainders-when-the-divisor-is-a-constant-beating-compilers-and-libdivide/
+
+# Optimization
+
+1. http://ssw.jku.at/General/Staff/Leopoldseder/manlang2018-fast_path_unrolling_authorpreprint.pdf
+
+# Foreign function interface (FFI)
+
+1. https://github.com/swig/swig
+1. http://www.swig.org/
+1. http://www.swig.org/Doc2.0/Go.html
+1. https://begriffs.com/posts/2019-01-19-inside-c-standard-lib.html
+1. https://www.amazon.com/Standard-C-Library-P-J-Plauger/dp/0131315099
+
+# Graal
+
+1. https://www.newtv.co.th/video/video.php?v=topKYJgv6qA
+
+# Reference
+
+1. [C Is Not a Low-level Language: Your computer is not a fast PDP-11.](https://queue.acm.org/detail.cfm?id=3212479)
+1. http://www.ffconsultancy.com/ocaml/hlvm/
+1. https://nullprogram.com/blog/2018/05/27/
+1. https://github.com/dyu/ffi-overhead
+1. https://ivorylang.org/ivory-introduction.html
+1. http://blog.llvm.org/2018/03/dragonffi-ffijit-for-c-language-using.html
+1. https://internals.rust-lang.org/t/refactoring-std-for-ultimate-portability/4301
+1. https://blog.plan99.net/kotlin-native-310ffac94af2
+1. https://blog.jetbrains.com/kotlin/2017/12/kotlinnative-v0-5-released-calling-kotlin-from-swift-and-c-llvm-5-and-more/
+1. https://readytalk.github.io/avian/
+1. https://medium.com/@octskyward/kotlin-native-310ffac94af2#.xbcxqlm1w
+1. https://www.infoq.com/presentations/clojure-scheme
+1. https://github.com/ollef/sixten
+1. https://software.intel.com/sites/landingpage/IntrinsicsGuide/
+1. https://llvllatrix.wordpress.com/2016/12/31/system-calls-for-developers/
+1. http://www.cipht.net/2017/10/03/are-jump-tables-always-fastest.html
+1. https://github.com/libuv/libuv
+1. https://www.threadingbuildingblocks.org/
+1. https://cafbit.com/post/tokio_internals/
+1. https://medium.com/@unmeshvjoshi/how-java-thread-maps-to-os-thread-e280a9fb2e06
+1. http://pixielang.org/
+1. https://github.com/pixie-lang/pixie
+1. https://github.com/rust-lang/rust
+1. http://ziglang.org/#
+1. http://www.mpfr.org/
+1. http://www.mpfr.org/algorithms.pdf
+1. http://wilsonminesco.com/16bitMathTables/
+1. https://oded.ninja/2017/05/01/floating-point/
+1. [What Every Computer Scientist Should Know About Floating-Point Arithmetic](http://www.lsi.upc.edu/~robert/teaching/master/material/p5-goldberg.pdf)
+1. http://blog.veitheller.de/Fixed_Point_Division.html
+1. http://libdivide.com/
+1. [Modern Computer Arithmetic](https://members.loria.fr/PZimmermann/mca/mca-cup-0.5.9.pdf)
+1. [Division by Invariant Integers using Multiplication](https://gmplib.org/~tege/divcnst-pldi94.pdf)
+1. https://lion137.blogspot.com/2019/02/borneo-language-102.html
+1. https://www.youtube.com/watch?v=N0JTvyCxiv8
+1. http://robert.ocallahan.org/2017/02/what-rust-can-do-that-other-languages.html
+1. https://github.com/graalvm/truffleruby/blob/master/doc/user/svm.md
+1. http://bellard.org/libbf/
+1. http://paulcavallaro.com/blog/hashed-and-hierarchical-timing-wheels/
+1. http://speleotrove.com/decimal/
+1. https://lemire.me/blog/2017/11/16/fast-exact-integer-divisions-using-floating-point-operations/
+1. http://eli.thegreenplace.net/2013/07/09/library-order-in-static-linking
+1. [Skip the FFI!](http://llvm.org/devmtg/2014-10/Slides/Skip%20the%20FFI.pdf)
+1. http://www.infoworld.com/article/3187370/application-development/kotlin-compiles-directly-to-native-code-via-llvm.html
+1. https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-tech-preview-kotlin-without-a-vm/
+1. https://github.com/bugvm/bugvm
+1. https://github.com/rampantpixels/rpmalloc
+1. https://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/endian.html
+1. http://web.stanford.edu/group/sequoia/
+1. https://hackernoon.com/experimenting-with-small-buffer-optimization-for-c-lambdas-d5b703fb47e4
+1. https://www.microsoft.com/en-us/research/wp-content/uploads/2017/03/kedia2017mem.pdf
+1. https://github.com/tomhrr/dale
+1. [Fast String Searching](https://pdfs.semanticscholar.org/d991/2ea262986794e29e3f15e5f8930d42f2ced4.pdf)
+1. https://github.com/apple/swift/blob/master/docs/StringManifesto.md
+1. http://home.pipeline.com/~hbaker1/CheneyMTA.html
+1. [Position: Lightweight static resources 0Sexy types for embedded and systems programming](https://pdfs.semanticscholar.org/2368/ccf8c62ab981e2426cd698ba2229f3eca311.pdf?_ga=2.228359389.1990612643.1507689838-1658669397.1507689838)
+1. http://homes.soic.indiana.edu/ccshan/tfp2007/talk.pdf
+1. http://www.catb.org/esr/structure-packing/
+1. [Ahead Of Time (AOT) Internals](https://www.youtube.com/watch?v=n5DCg6M2MDM)
+1. [Polyglot Native: Java, Scala, Kotlin, & JVM languages](https://www.youtube.com/watch?v=5BMHIeMXTqA)
+1. https://ziviani.net/2017/functions-in-assembly
+1. https://ziviani.net/2017/functions-in-assembly-ii
+1. [Hashed and Hierarchical Timing Wheels: Data Structures for the Efficient Implementation of a Timer Facility](http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf)
+