0.2.0 Extended Concurrency Support
0.2.0 - 2017-03-07 Extended Concurrency Support
Concurrency Support
-
Added basic support for shared-memory multithreading and fork/join
programming (PR #52)- object model uses now a global safepoint to synchronize layout changes
- array strategies are not safe yet
-
Added Lee and Vacation benchmarks (PR #78)
-
Configuration flag for actor tracing, -atcfg=
example: -atcfg=mt:mp:pc turns off message timestamps, message parameters and promises -
Added Validation benchmarks and a new Harness.
-
Added basic Communicating Sequential Processes support.
See PR #84. -
Added CSP version of PingPong benchmark.
-
Added simple STM implementation. See
s.i.t.Transactions
and PR #81 for details. -
Added breakpoints for channel operations in PR #99.
-
Fixed isolation issue for actors. The test that an actor is only created
from a value was broken (issue #101, PR #102) -
Optimize processing of common single messages by avoiding allocation and
use of object buffer (issue #90)
Interpreter Improvements
-
Turn writes to method arguments into errors. Before it was leading to
confusing setter sends and 'message not understood' errors. -
Simplified AST inlining and use objects to represent variable info to improve
details displayed in debugger (PR #80). -
Make instrumentation more robust by defining number of arguments of an
operation explicitly. -
Add parse-time specialization of primitives. This enables very early
knowledge about the program, which might be unreliable, but should be good
enough for tooling. (See Issue #75 and PR #88) -
Added option to show methods after parsing in IGV with
-im
/--igv-parsed-methods
(issue #110)