From 902a81528b9d2edcf93226a2ca13da6fcc1839e5 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 23 Dec 2019 08:57:48 +0100 Subject: wip: function pointers and other stuff --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'README.md') 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. -- cgit v1.2.3-70-g09d2