aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2019-12-23 08:57:48 +0100
committerdec05eba <dec05eba@protonmail.com>2020-07-25 14:37:00 +0200
commit902a81528b9d2edcf93226a2ca13da6fcc1839e5 (patch)
treeea868fae662aab61f1caa50b16a8b02fe1e6836b /README.md
parent111bd0c7cb4b446c4bfe192b1df82845de17c005 (diff)
wip: function pointers and other stuff
Diffstat (limited to 'README.md')
-rw-r--r--README.md9
1 files changed, 9 insertions, 0 deletions
diff --git a/README.md b/README.md
index 36997eb..110709f 100644
--- a/README.md
+++ b/README.md
@@ -59,6 +59,15 @@ should be in the bytecode before the files that they are used from, to reduce de
* Make function calls work for functions that return no value or returns multiple values.
* Some bytecode instructions take 3 operands. These should be optimized to operate directly on
the destination if the second or third operand is also the destination.
+* Align the instruction at the start of a function and the start of an expensive loop to 16-bytes. This improves performance
+and the block might even fit inside instruction cache.\
+From intel instruction manual:
+```
+3.4.1.5 - Assembly/Compiler Coding Rule 12. (M impact, H generality)
+All branch targets should be 16-byte aligned.
+```
+* Reduce the number of branches by making memory allocation/reallocation throw instead of returning error.
+* Implement pub for imports and show compile error when using non-pub symbols in pub closures/structs/etc.
# Documents
Documents are located under doc. The file doc/Documentation.md is generated from source files by running doc/doc_extract.py
but there is no need to run this script unless you are modifying documentation in the source.