aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Changelog.md8
-rw-r--r--README.md2
-rw-r--r--src/inpla.y9
3 files changed, 14 insertions, 5 deletions
diff --git a/Changelog.md b/Changelog.md
index 57b90c8..55f4115 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,10 +1,16 @@
# Change log
+### v0.10.5 (released on 3 Feruary 2023)
+
+#### Bug fix
+
+- **Code generation for Tail Call Optimisation**: Tail Call Optimisation turns an active pair execution into a loop operation. When the loop is executed, each port information needs to be updated, but some were skipped if the names in the ports were the same, and some computation failed. This is now fixed.
+
### v0.10.4 (released on 28 January 2023)
#### Bug fix
-- **A reuse annotation with the abbreviation `<<`**: The abbreviation `<<` could not be parsed with a reuse annotation. It is now fixed, and we can write it as follows:
+- **A reuse annotation with the abbreviation `<<`**: The abbreviation `<<` could not be parsed with a reuse annotation. This is now fixed, and we can write it as follows:
```
foo(r) >< (int n)
diff --git a/README.md b/README.md
index bcb7392..8a737c7 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
Inpla is a multi-threaded parallel interpreter of interaction nets. Once you write programs for sequential execution, it works also in multi-threaded parallel execution. Each thread is managed on each CPU-core with POSIX-thread library.
-* The current version is 0.10.4 (a bug fix), released on **28 January 2023**. (See [Changelog.md](Changelog.md) for details.)
+* The current version is 0.10.5 (bug fix), released on **3 February 2023**. (See [Changelog.md](Changelog.md) for details.)
* The below graph shows speed-up ratio to threads numbers for programs in the following benchmark table.
![speedup-ratio](pic/benchmark_reuse_v0.10.0.png)
diff --git a/src/inpla.y b/src/inpla.y
index e396a79..a0901e2 100644
--- a/src/inpla.y
+++ b/src/inpla.y
@@ -22,8 +22,8 @@
// ----------------------------------------------
-#define VERSION "0.10.4"
-#define BUILT_DATE "28 January 2023"
+#define VERSION "0.10.5"
+#define BUILT_DATE "3 February 2023"
// ------------------------------------------------------------------
@@ -4132,13 +4132,16 @@ int CmEnv_Optimise_VMCode_CopyPropagation(int target_imcode_addr) {
IMCode[target_imcode_addr].opcode = OP_DEAD_CODE;
return 1;
}
+
+ /*
// When the given line is: LOAD_META src1 src1
if ((load_from == load_to) &&
(IMCode[target_imcode_addr].opcode == OP_LOAD_META)) {
IMCode[target_imcode_addr].opcode = OP_DEAD_CODE;
return 1;
}
-
+ */
+
for (int line_num=target_imcode_addr+1; line_num<IMCode_n; line_num++) {
imcode = &IMCode[line_num];