diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2021-03-03 22:09:50 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2021-03-03 22:21:03 -0800 |
commit | 71e4f3812982dba2efb471283d310224e8db363e (patch) | |
tree | ea111a1acb8b8845dbda39c0e1b4bac1d198143b /apps/stats.txt | |
parent | c6b928be29ac8cdb4e4d6e1eaa20420ff03e5a4c (diff) | |
download | mu-71e4f3812982dba2efb471283d310224e8db363e.tar.gz |
7842 - new directory organization
Baremetal is now the default build target and therefore has its sources at the top-level. Baremetal programs build using the phase-2 Mu toolchain that requires a Linux kernel. This phase-2 codebase which used to be at the top-level is now under the linux/ directory. Finally, the phase-2 toolchain, while self-hosting, has a way to bootstrap from a C implementation, which is now stored in linux/bootstrap. The bootstrap C implementation uses some literate programming tools that are now in linux/bootstrap/tools. So the whole thing has gotten inverted. Each directory should build one artifact and include the main sources (along with standard library). Tools used for building it are relegated to sub-directories, even though those tools are often useful in their own right, and have had lots of interesting programs written using them. A couple of things have gotten dropped in this process: - I had old ways to run on just a Linux kernel, or with a Soso kernel. No more. - I had some old tooling for running a single test at the cursor. I haven't used that lately. Maybe I'll bring it back one day. The reorg isn't done yet. Still to do: - redo documentation everywhere. All the README files, all other markdown, particularly vocabulary.md. - clean up how-to-run comments at the start of programs everywhere - rethink what to do with the html/ directory. Do we even want to keep supporting it? In spite of these shortcomings, all the scripts at the top-level, linux/ and linux/bootstrap are working. The names of the scripts also feel reasonable. This is a good milestone to take stock at.
Diffstat (limited to 'apps/stats.txt')
-rw-r--r-- | apps/stats.txt | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/apps/stats.txt b/apps/stats.txt deleted file mode 100644 index 4d229e3a..00000000 --- a/apps/stats.txt +++ /dev/null @@ -1,73 +0,0 @@ -## Lines in source files - Initial -whitespace/comments/tests -apps/factorial.subx 120 44 -apps/crenshaw2-1.subx 561 180 -apps/crenshaw2-1b.subx 757 186 -apps/hex.subx 1442 149 -apps/survey_elf.subx 4733 905 -apps/pack.subx 5881 840 -apps/dquotes.subx 1925 383 -apps/assort.subx 905 183 -apps/tests.subx 284 137 -apps/sigils.subx 4641 896 -apps/calls.subx 1785 448 -apps/braces.subx 360 121 -apps/mu.subx 36692 12858 - -## Total source lines needed including libraries - Initial -whitespace/comments/tests/dead code -apps/factorial.subx 8436 1700 -apps/crenshaw2-1.subx 8644 1925 -apps/crenshaw2-1b.subx 8736 1931 -apps/hex.subx 9065 1908 -apps/survey_elf.subx 10217 3248 -apps/pack.subx 10589 2727 -apps/dquotes.subx 9262 2468 -apps/assort.subx 8686 2425 -apps/tests.subx 8519 2214 -apps/sigils.subx 10578 3043 -apps/calls.subx 9242 2388 -apps/braces.subx 8545 2111 -apps/mu.subx 35438 15820 - -## executable size in KB - Initial -tests/dead code -apps/crenshaw2-1 41 4.3 -apps/crenshaw2-1b 42 5.2 -apps/factorial 42 5.2 -apps/hex 45 5.0 -apps/survey_elf 51 9.6 -apps/pack 54 7.6 -apps/dquotes 46 6.5 -apps/assort 42 6.4 -apps/tests 41 5.8 -apps/sigils 54 9.1 -apps/calls 47 7.1 -apps/braces 42 5.9 -apps/mu 563 131.0 - -## history of apps/mu.subx - date commit mu.subx -tests/cmts binary (KB excl. dead code) -parsing function headers 2019 Oct 30 5725 621 277 6.9 -function calls Nov 10 5739 1202 346 7.2 -code-generating primitive instructions Nov 17 5750 1923 363 7.3 -arguments Nov 30 5785 4038 1330 13 -return values 2020 Jan 1 5878 5432 1457 15 -compound types: `addr` and `array` Jan 20 5911 6023 1697 16 -local variables and their reclamation Jan 27 5934 6340 1900 18 -register locals and shadowing Jan 27 5940 6498 1940 18 -blocks Jan 29 5948 7455 2534 22 -break/continue instructions Jan 30 5964 7871 2558 22 -cleaning up locals in the presence of early exits Feb 9 6000 8554 2918 26 -pointer dereferencing Feb 20 6040 9053 3075 27 -arrays, and indexing them with a non-literal -user-defined types, and getting fields in them Mar 11 6135 11592 4165 33 --- cleanup: switch to handles everywhere May 22 6382 15014 5064 39 -first round of prototyping and static checks Jun 21 6572 18722 6044 49 -more checks Jul 25 6674 22067 7153 61 -more checks Aug 22 6723 23934 7851 69 -floating point Sep 30 6917 26067 8595 74 -more checks Nov 5 7187 34150 11953 119 -== mostly done Nov 20 7267 36692 12858 131 - -vim:nowrap:tw& |