path: root/support
AgeCommit message (Collapse)Author
2019-10-23Add a new match compiler implementationMura Li
References: "When Do Match-Compilation Heuristics Matter?" by Kevin Scott and Norman Ramsey Stats: Sample count: 506 Dtree Size avg: 5.38 95th percentile: 3.00 maximum: 100 Dtree Height avg: 1.39 95th percentile: 1.00 maximum: 12 Sample generation: $ MATCH_STATS=1 make bootstrap && mbld -R support/matchstats.myr ./match.csv
2019-07-13Oops, mangled something with git9.Ori Bernstein
2019-07-14Fix memory leak in bigparse. (Thanks, Mike)Ori Bernstein
2019-01-12Keep partial indents better.Ori Bernstein
Align to what I want it to align to.
2019-01-09Fix vim syntax highlightingiriri
One line function literals and nested comments were broken. The keyword list is probably overkill but I don't use it so I just brought it up to date.
2018-10-18Add thread-local storage for POSIX-y platforms.iriri
This patch implements thread-local storage by using a segment register to store pointers to regions of memory unique to each thread. In spawned threads, this region starts above the top of the stack, while in the main thread, this region is initially statically allocated so it can be used in `__init__` functions and dynamically reallocated if it needs to grow beyond 8 slots. The api consists of 3 functions: `tlsalloc()`, which must be called from the main thread, allocates a slot and returns a key to be used with `settls(k, v)` and `gettls(k)`. Each thread inherits its tls slots from the thread that spawned it and any slot added after a given thread is spawned is not available in that thread. Adding tls regions gives threads an easy way to get their own tids, allowing us to add some basic correctness checks to the mutex code. A pointer to the base of the stack and the size of the mapping are also stored in the tls region, making it easy to support user-specified stack sizes in the future. Changes from previous version: - Fixed size of main tls static allocation. - More comments, less magic. - Fixed typo in start+osx-x64.s exit+{freebsd,linux,openbsd}-x64.s - `gettlskey` renamed to `tlsalloc`. - `key` is now `tlskey(@a#)`, improving safety. - Test is slightly less bad.
2018-08-19Fix futex timeouts and handle futex error codes.iriri
2018-08-19Make timespec/timeval struct members signed to simplify arithmetic.iriri
2018-08-14Make timespec/timeval struct members signed to simplify arithmetic.iriri
Every single conversion except for one for OS X is uint64 to int64.
2018-05-12Move nix packaging to the appropriate place.Ori Bernstein
2018-03-24Add support for OpenBSD's MAP_STACK mmap flags, use it in libthreadOri Bernstein
2018-03-24Add OpenBSD 6.3 system call support.Ori Bernstein
2018-02-15Be a bit better about cleaning up fds on error.Ori Bernstein
2018-01-06Rename cache => bigcache.Ori Bernstein
We have two unrelated caches. Let's not make the naming unnecessarily confusing.
2017-12-02Fix myrddin acid code.Ori Bernstein
2017-11-14Use new traits to implement hash tablesLucas Gabriel Vuotto
Signed-off-by: Lucas Gabriel Vuotto <>
2017-09-30Replace bio.status(@t) with std.result(@t, bio.err)Ori Bernstein
It's more consistent.
2017-09-23Implement OpenBSD 6.2 futex mutexes.Ori Bernstein
2017-09-22Missing an FD.Ori Bernstein
2017-09-12Add syscalls for OpenBSD 6.2Ori Bernstein
2017-09-13Fix off by one for FreeBSD/OpenBSDOri Bernstein
2017-09-13Fix missing syscall args.Ori Bernstein
Shit, bug in the code gen.
2017-09-04Improve sampling of benchmark.Ori Bernstein
2017-08-13Add full Linux support, generated from Linux syscall tables.Ori Bernstein
2017-08-06Bring back memfd.Ori Bernstein
2017-08-06Add system call generation scripts.Ori Bernstein
Should start to make life easier. Maybe.
2017-07-17Convert from `in` to `:`.Ori Bernstein
The winds of change are a-blowin.
2017-07-06Don't lose the topmost stack frame in acid stack traces.Ori Bernstein
2017-03-19Add acid debug file for MyrddinOri Bernstein
2017-03-10Reset --hard before tarring.Ori Bernstein
We don't want to tar the wrong commit, or trailing junk.
2017-03-03Add a release generation rule to the makefile.Ori Bernstein
2017-01-30Don't capture characters around {}.Ori Bernstein
2017-01-22Fix up type inference section a bit.Ori Bernstein
2016-10-21Missed some renames.Ori Bernstein
2016-09-06Add in support for dumping a summary of leaks.Ori Bernstein
Thanks to Andrew Chambers for writing the initial draft of this code.
2016-08-28Use the libs from the current build.Ori Bernstein
Fixes the dependency for myrddin on an installed myrddin.
2016-08-28Add bld.sub for support/ directory.Ori Bernstein
2016-08-28Add support for leak tracing.Ori Bernstein
2016-02-07Be a bit more specific in the patterns for chars.Ori Bernstein
Don't allow {} to show up, since this will confuse things with two \u{...} in the same line.
2016-02-06Recognize '//' comments.Ori Bernstein
They're supported now.
2015-12-11Fix code to disallow use before definition.Ori Bernstein
At least in some cases.
2015-12-04Update error format to recognize new mbld output.Ori Bernstein
Several improvements to detecting locations.
2015-10-01Update indenting for mbld files.Ori Bernstein
2015-09-30Recognize current string interpolation syntax.Ori Bernstein
We don't want to highlight '%s' specially -- we now use {}. This change highlights "{foo}" within a string, but skips escaped versions.
2015-09-30Add support for indenting labels in vim script.Ori Bernstein
2015-07-14Clamp indentation delta.Ori Bernstein
We don't want to indent/outdent by more than one level at a time.
2015-07-14Remove debug prints in the indent scriptOri Bernstein
2015-07-14Improve indentation script.Ori Bernstein
Simpler code, more consistency in the indentation. We no longer outdent after something like: foo([ ])
2015-06-28Implement '__init__' functions.Ori Bernstein
2015-06-20Fix up indent scripts.Ori Bernstein