diff options
| author | Cliff Click <cliffc@acm.org> | 2025-06-13 15:42:08 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2025-06-13 15:42:08 -0700 |
| commit | 0154c739b94d842898c36566c24e0f8b6d133951 (patch) | |
| tree | 8807e3fe457b5e8b7713cdb66ec538f9d9fde6a0 /chapter23/simple.sh | |
| parent | ba789671e71d90c03cf7fa4246b7e3f7ea2bf48d (diff) | |
| download | Simple-0154c739b94d842898c36566c24e0f8b6d133951.tar.gz Simple-0154c739b94d842898c36566c24e0f8b6d133951.zip | |
Squashed commit of the following:
commit 2c31fa61d71fcbcf160edef5aba874913e63859a
Author: Cliff Click <cliffc@acm.org>
Date: Sat Jun 7 16:34:11 2025 -0700
README, comments
commit 8be23b15ad007509c9006a121328ce6615b912f6
Author: Cliff Click <cliffc@acm.org>
Date: Sat Jun 7 10:16:20 2025 -0700
Cleanup on sys ADT
BubbleSort looks cleaner
Cleanup recursive type handling
commit 145f977b53b3a9e89e984ae7af4bb3d8fd7768bb
Author: Cliff Click <cliffc@acm.org>
Date: Fri Jun 6 15:47:09 2025 -0700
More methods
Removing a Phi keeps mintype lifting until consumers no longer expect it. Load, Store, MemMerge all "peek" through mem Cast and MemMerge.
Bugfix, clone a constant near a required spill-use when passing constant stack arg.
Bugfix, missing dep when upgrading a type allows inlining.
Bugfix NegX86 is 2-adr
Bugfix, x86 cmp imm vs mem cannot swap args.
Bugfix, methods save/restore struct init values.
Bugfix, method vars can be set.
Repeat psudo-optimistic pass removing dead calls (tree shaking).
Add basic lib calls for Vectors for i64 and u8.
commit 04953c112a83de6127b6b2058a4bfbc344a3a02b
Author: Cliff Click <cliffc@acm.org>
Date: Tue Jun 3 15:58:03 2025 -0700
improve BubbleSort
Bugfix uctrlSkipEmpty did not stop at Calls.
Bugfix Phi skip mem alias uses 1 as default mem.
Bugfix cyclic install uses uniform walking method to catch all cases.
Drop % to mark static methods. Methods are static when not using the 'self' argument.
Encoding records when it inserts function header padding, so the ASMPrinter gets offsets right.
Encoding improve BB layout other things being equal.
commit f42903ff30c533a78adfdc43407da29711a83ad9
Author: Cliff Click <cliffc@acm.org>
Date: Mon Jun 2 09:31:09 2025 -0700
Methods
Block scoping now carries more Kind info, including constructor Type; fold Kind and lexSize info together.
Static calls need extra syntax `{% args ->body }`
Mem Phis more precise minType.
Mem Phi peeks through MemMerge.
TypeMem BOT/TOP alias is now#1 to match the Parsers notion of "all mem".
Missing dep.
Eval2 constant array bugfix.
commit aeb0a01e27e63ff6f8a2399523aa9f5922643d17
Author: Cliff Click <cliffc@acm.org>
Date: Sat May 31 14:55:11 2025 -0700
READMEs
commit dc1afb8d65a35e90b6495bd6dbaaf8d0d0149569
Author: Cliff Click <cliffc@acm.org>
Date: Sat May 31 11:43:09 2025 -0700
Cyclic types!
Handle cyclic types: thats that indirectly through a chain of types, point back to themselves. Make all type walkers cycle-aware. New cyclic-aware versions of hash and eq. In addition to hash-consing/interning types, also recycle allocated-but-interned types. Hash-consing has a 99.9% hit rate, so nearly all created types intern, and get recycles. This keeps the total count of types low (by 1000x) which keeps the type UID low, which keeps bit vectors for cyclic type walkers fast.
Move TypeStruct._con field into the normal array body field "[]".
Rename Field._type to Field._t to avoid shadowing prior _type field.
commit fc6f6277e18fcf30f3770698572c307fc0913132
Author: Cliff Click <cliffc@acm.org>
Date: Sun May 25 10:06:06 2025 -0700
Progress on cyclic types
Types can reset between tests.
Rename Phi _declaredType to _minType. Lifts to min type.
Broken CFG can have null idom
Field offsets by name only, can be delayed even more.
Bug dying FunNode looks "inProgress"
Move sys.smp to smp dir
commit d4544c2740f8effb2edd08293ca19382d4f0aa01
Author: Cliff Click <cliffc@acm.org>
Date: Sun May 25 09:57:51 2025 -0700
Move utils to a util directory
commit 9462acc2e8b200b499fe4308e3f6a3a6a2d8ac0b
Author: Cliff Click <cliffc@acm.org>
Date: Wed May 14 14:50:13 2025 -0700
Hitting self-recursive types
Changes for allowing locals to be non-const by default.
Changes to track `_one` single-ton fields that will get moved to a class.
Field offset constants; will become a real int constant once layout is determined, which waits until fields are decided to be in the class or instance; also if the field contents can be put in a smaller size.
commit a1f3a27146fa40cb85aef90934250cf5b77be736
Author: Cliff Click <cliffc@acm.org>
Date: Sun May 11 16:14:04 2025 -0700
Minor progress bug
commit f21ccb089f7963b76cae553ff948b8cc056b0b82
Author: Cliff Click <cliffc@acm.org>
Date: Sun May 11 15:28:35 2025 -0700
Ch 23 initial tests
commit 89131d2ffa145e6cdbba95abed9abb7989e6822f
Author: Cliff Click <cliffc@acm.org>
Date: Sun May 11 15:19:02 2025 -0700
First commit ch23
Diffstat (limited to 'chapter23/simple.sh')
| -rw-r--r-- | chapter23/simple.sh | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/chapter23/simple.sh b/chapter23/simple.sh new file mode 100644 index 00000000..d8335f44 --- /dev/null +++ b/chapter23/simple.sh @@ -0,0 +1,2 @@ +#! /bin/sh +java -ea -cp "build/classes/test:build/classes/main:lib/hamcrest-core-1.3.jar:lib/junit-4.12.jar" com.seaofnodes.simple.Simple $@ |
