diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -6,8 +6,15 @@ Amalgam is not meant to be a replacement for any other language but rather a new with gpu without writing an external gpu program (glsl/hlsl). Files have to be in utf-8 format and can optionally have utf-8 BOM. +# Fast compilation +Every stage of the compiler is multithreaded and data copy is kept to a minimal, for example tokenization +is done without storing tokens in a list. Almost all allocation is done using an arena allocator that +is only cleaned up once (when the compiler is finished), and the data is allocated sequentially. # TODO -Build with -nostdlib and replace use of libc with syscalls (on linux) +Build with -nostdlib and replace use of libc with syscalls (on linux). +Don't parse files unless the variable they are assigned to (with @import) is used. This is useful when only using small parts of a library. +Align machine code to word boundary for the start of functions. No need to pad with NOP, as functions return before the padding. +Use const to cleanup ANSI C style variable declarations, since const allows you to declare and assign variables on the same line. # 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.
\ No newline at end of file +but there is no need to run this script unless you are modifying documentation in the source. |