News
Tanger 0.7.1 for LLVM 2.5
We released a new snapshot of Tanger (version 0.7.1), which works with LLVM release 2.5 (and with 2.4).
Changes:¶
- LLVM intrinsics (built-in functions) are now transformed according to wrapper/pure decls (see include/tanger-stm-std-math.h for examples).
- Added intrinsic wrapper/pure decls for memset, memcpy, memmove, log
- Makefile for tests report an error if Tanger pass or STM are missing (fixes bug 62)
- Fix detection of potential indirect call targets (fixes bug 57)
- Improved warnings / debug msgs in auto-indirect-call-handling
- Several other bug fixes
If you see any issues, please file a bug report at https://se01.inf.tu-dresden.de/bugzilla.
New releases of Tanger, TinySTM++, and STAMP patches
We (the TM group at Dresden University of Technology, Systems Engineering group (http://se.inf.tu-dresden.de)) just released a new version of the Tanger STM Compiler, TinySTM++ (a C++ port of TinySTM), and support patches for STAMP.
You can download the releases at http://tm.inf.tu-dresden.de, more related software can be found at http://tmware.org and http://tinystm.org. To make it easier for you to test the software, you can also download a virtual machine image with all the new releases installed and ready to run.
Tanger¶
- Several bug fixes, code cleanup.
- Programmers / libraries can now declaring txnal wrapper functions and txnal-pure functions (similar to what's described in Intel's OOPSLA paper). See include/tanger-stm-std*.h and lib/stmsupport/std-*.c for examples how to use this.
- Only the functions that are potentially executed in transactions are actually transformed. This also reduces the debug output to messages about functions that really matter.
- Txnal wrappers for a few libc functions (eg, memset, memcpy, ...). See lib/stmsupport/std-*.c.
- Based on new LLVM 2.4. Tanger is not backwards-compatible to older LLVM versions because of changes in LLVMs internal APIs.
TinySTM++¶
- C++ port/fork of TinySTM (no virtual functions/exceptions/etc, but uses templates, namespaces, ... to make it easier to maintain the code)
- Source code gets slightly bigger but also more modular.
- Has some features that TinySTM doesn't have (eg, region load/store), and vice versa (eg, several contention managers, -wb/CTL variants)
- Some internal changes compared to TinySTM.
STAMP support files (http://stamp.stanford.edu)¶
Support files for version 0.9.10 for Tanger-based transactification, and for TinySTM and TinySTM++. These consist of a few small changes to STAMP (see the releases README file) and Makefiles to build the applications with Tanger, TinySTM++, and TinySTM.
Also available in: Atom