Unreleased (0.5.0) v5
- Implement Newspeak setter send syntax and remove old assignment syntax
This release introduces concurrency-agnostic debugging based on Kómpos. It is realized by using a debugger protocol that abstracts from concurrency concepts and instead uses a uniform representation and meta data that instructs Kómpos how to understand and visualize breakpoints, stepping operations, and data visualization
- introduced a uniform trace format (PR #155)
- added process view
- refactor handling of breakpoints and stepping in interpreter and Kómpos
- added advanced stepping operations and breakpoints for STM, fork/join, actors, CSP, threads and locks
-
Switch to unified Truffle+Graal repo PR #149
-
Updated to Truffle 0.25 PR #132
-
Use precise array type check PR #128
-
Make Kómpos tests more robust, include more info on failures, and use ephemeral ports if necessary PR #144
-
Fix various single stepping issues PR #143
-
Fix
#perform:withArguments:
primitive PR #130 -
Make sure that
./som
without arguments does something useful PR #156
-
Added trace replay functionality (PR #109)
- Added
-r
flag to enable replay
- Added
-
Visualize all types of activities in system view (PR #116)
-
Block methods are named based on outer method's name
-
Enable display of code for unsuspended activities, i.e., activities not hitting a breakpoint
-
Revised design of promises and implemented erroring/breaking of promises (PR #118)
-
Updated to Truffle 0.24+patches, from pre-0.22+patches
-
Added
-J
flag for JVM flags, e.g.-JXmx2g
-
Removed Truffle Debug REPL support, i.e., the
-td
flag. Has been deprecated in Truffle for a long time, and maintaining it seems not useful. -
Added
-vmd
flag to enable debug output
-
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)
-
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)
This is the first tagged version. For previous changes, please refer to the pull requests from around that time.