-
8066259d18
feat: add native fixpoint verification script
Graeme Geldenhuys
2026-06-10 14:02:01 +0100
-
5f2731eb08
fix(native): save array base on stack across EmitExprToEax calls
Graeme Geldenhuys
2026-06-10 13:56:06 +0100
-
a6cb6b9b8d
fix(native): route WriteLn(StdErr, ...) to fd 2 instead of stdout
Graeme Geldenhuys
2026-06-10 13:15:40 +0100
-
f50f206cfa
fix(native): record return/assign through out params and const record params
Graeme Geldenhuys
2026-06-10 13:06:10 +0100
-
7aca461a16
refactor(test): generalise multi-backend E2E infrastructure for 2+ backends
Graeme Geldenhuys
2026-06-10 12:31:52 +0100
-
bb2fe2da75
refactor: rename uCodeGen/uCodeGenQBE to blaise.codegen/blaise.codegen.qbe
Graeme Geldenhuys
2026-06-10 12:12:14 +0100
-
8119634b0a
refactor(qbe): classify record return once per function definition
Graeme Geldenhuys
2026-06-10 12:02:33 +0100
-
a6aa7b524f
feat(native): ABI-correct record-by-value returns for x86-64
Graeme Geldenhuys
2026-06-10 11:49:08 +0100
-
593c59432c
feat(qbe): ABI-correct record-by-value returns for C-FFI
Graeme Geldenhuys
2026-06-10 11:27:08 +0100
-
3404ac13ea
chore: adopt -SNAPSHOT version suffix, update README
Graeme Geldenhuys
2026-06-10 10:39:14 +0100
-
a9cb4961ea
feat(debug): extend leak tracking to strings and dynamic arrays
Graeme Geldenhuys
2026-06-10 10:23:05 +0100
-
c1c9a0851e
feat(debug): add allocation-site info (unit:line) to leak tracker
Graeme Geldenhuys
2026-06-10 10:11:52 +0100
-
924964089c
fix(native): release managed fields of sret record arg temporaries
Graeme Geldenhuys
2026-06-10 09:43:29 +0100
-
bfaedec1a5
feat(codegen): weak interface vars + interface type-cast fix
Graeme Geldenhuys
2026-06-10 09:23:47 +0100
-
b76e05b7e4
feat(codegen): interface-field := func-returning-interface (sret)
Graeme Geldenhuys
2026-06-10 09:09:09 +0100
-
c8ce6f7bbe
feat(codegen): function-returning-interface via sret convention
Graeme Geldenhuys
2026-06-10 08:54:59 +0100
-
4eaec15e67
fix(native): ARC for managed-type static array element assignment
Graeme Geldenhuys
2026-06-10 08:30:27 +0100
-
0317a3b454
fix(native): ARC for managed-type dynamic array element assignment
Graeme Geldenhuys
2026-06-10 08:29:12 +0100
-
02b03dbbd0
fix(codegen): nil-to-interface-field assignment and QBE tyInterface type code
Graeme Geldenhuys
2026-06-10 08:26:35 +0100
-
ad40a64e3b
fix(native): handle TFieldAccessExpr as interface argument in all call paths
Graeme Geldenhuys
2026-06-10 08:19:39 +0100
-
c12177e090
fix(native): interface-to-field store from field-access and implicit-Self sources
Graeme Geldenhuys
2026-06-10 08:14:42 +0100
-
d19f2afbab
fix(native): handle implicit-Self and nested interface dispatch receivers
Graeme Geldenhuys
2026-06-10 08:10:10 +0100
-
756667e2a6
feat(native): support open-array literal args in method/inherited calls
Graeme Geldenhuys
2026-06-10 08:05:04 +0100
-
058ec7e3c4
fix(native): use frame-local slots for for-loop end bounds
Graeme Geldenhuys
2026-06-10 07:48:44 +0100
-
7f7418eb25
fix(native): use callee-saved %rbx for Format args array base
Graeme Geldenhuys
2026-06-10 07:19:46 +0100
-
956ca3ce66
fix(native): sret forwarding, arg-clobber reload, and record zero-init
Graeme Geldenhuys
2026-06-10 07:12:28 +0100
-
4d47f49536
fix(native): emit string-typed named constants as literal addresses
Graeme Geldenhuys
2026-06-10 06:39:45 +0100
-
d267bbc7fc
fix(native): double-deref var-param class receivers in method calls
Graeme Geldenhuys
2026-06-10 06:31:02 +0100
-
b0aa8b2701
fix(native): implicit-Self record copy, sret field ARC, and implicit-Self method calls
Graeme Geldenhuys
2026-06-10 06:13:08 +0100
-
de954cafe4
fix(native): implicit-Self record field assignment uses sret for method calls
Graeme Geldenhuys
2026-06-10 05:29:26 +0100
-
83025ec137
feat(native): method calls returning records use sret convention
Graeme Geldenhuys
2026-06-10 05:18:00 +0100
-
5a63ab077d
fix(native): save Self in callee-saved %rbx across constructor arg eval
Graeme Geldenhuys
2026-06-10 05:07:03 +0100
-
9edcf53a88
fix(native): var/out managed-type params use indirection for assignment
Graeme Geldenhuys
2026-06-10 05:02:13 +0100
-
ef11eed238
fix(native): string equality uses _StringEquals instead of pointer cmp
Graeme Geldenhuys
2026-06-10 04:52:16 +0100
-
75ab341a2d
fix(native): vtable dispatch for virtual method calls in expression context
Graeme Geldenhuys
2026-06-10 04:46:41 +0100
-
367a8c0a79
fix(native): emit call for implicit-self property getter / zero-arg method
Graeme Geldenhuys
2026-06-10 04:41:24 +0100
-
fe321ed42c
feat(native): emit const array data + use ConstArraySymbol for references
Graeme Geldenhuys
2026-06-10 04:35:33 +0100
-
33ba90ca67
fix(native): unit-prefix class/interface data symbols via ClassSymName
Graeme Geldenhuys
2026-06-10 04:19:57 +0100
-
c4b23f5b20
fix(native): var-param implicit-Self field address via Self + offset
Graeme Geldenhuys
2026-06-10 04:03:42 +0100
-
44f3508b5d
fix(native): implicit-Self class-field access priority over IsClassAccess
Graeme Geldenhuys
2026-06-10 03:58:37 +0100
-
55d634bf58
feat(native): ClassName/ClassType + method call >6 args
Graeme Geldenhuys
2026-06-10 03:47:25 +0100
-
4c8efe8947
feat(native): property writes via setter + fix exception bookkeeping
Graeme Geldenhuys
2026-06-10 03:25:18 +0100
-
383d10be4d
feat(native): property reads via getter methods
Graeme Geldenhuys
2026-06-10 03:14:47 +0100
-
60879d71c5
fix(native): Format() with array-literal args + better error diagnostics
Graeme Geldenhuys
2026-06-10 03:02:10 +0100
-
37434ec4a0
feat(native): Inc/Dec on field access, deref and var params + type-cast fix
Graeme Geldenhuys
2026-06-10 02:54:54 +0100
-
afb99da767
feat(native): support >6 argument slots in all call variants
Graeme Geldenhuys
2026-06-10 02:37:45 +0100
-
40755b987a
refactor(ast): replace TIdentExpr.IsVarParam with TParamMode enum
Graeme Geldenhuys
2026-06-10 02:06:43 +0100
-
d00323e0b2
fix(arc): propagate IsUnretained/IsWeak flags during field inheritance
Graeme Geldenhuys
2026-06-10 01:44:15 +0100
-
b7e82d6ffb
fix(codegen): typed-pointer writes pick store opcode from pointee type
Graeme Geldenhuys
2026-06-10 01:31:50 +0100
-
1e3d3e442d
feat(native): trig/math builtins with Single-precision dispatch
Graeme Geldenhuys
2026-06-10 01:19:47 +0100
-
b09984afd9
feat(native): ClassCreate builtin for runtime metaclass construction
Graeme Geldenhuys
2026-06-10 01:06:20 +0100
-
dd0cf0c69f
feat(native): file/process/path/math builtins for M9 self-hosting
Graeme Geldenhuys
2026-06-10 01:03:58 +0100
-
8cb24857e7
feat(native): nested (local) procedures with captured variables
Graeme Geldenhuys
2026-06-10 00:59:38 +0100
-
08e21bce92
feat(native): builtins + 32-bit comparison fix
Graeme Geldenhuys
2026-06-10 00:50:07 +0100
-
6ff7d2dd14
feat(native): TIndirectFuncCallExpr (callback calls as expressions)
Graeme Geldenhuys
2026-06-10 00:29:15 +0100
-
43d9d702f0
feat(native): TIsExpr, TAsExpr, TSupportsExpr + ClassSymName
Graeme Geldenhuys
2026-06-10 00:26:14 +0100
-
54b19e6fee
feat(native): procedural/dynarray/interface param and return types
Graeme Geldenhuys
2026-06-10 00:18:47 +0100
-
c0d603f39f
fix(native): short-circuit boolean and/or evaluation
Graeme Geldenhuys
2026-06-10 00:14:04 +0100
-
18e5826ee6
feat(native): by-value record params with full ARC
Graeme Geldenhuys
2026-06-09 21:24:51 +0100
-
4313c6e53a
fix(arc): release managed fields of record arg temporaries after the call
Andrew Haines
2026-06-08 20:48:32 -0400
-
f5368c0699
fix(arc): retain managed fields of by-value record params
Andrew Haines
2026-06-08 19:47:03 -0400
-
1ae1b3f547
test(runner): fail loudly when a suite subprocess crashes or truncates
Graeme Geldenhuys
2026-06-09 19:06:07 +0100
-
e6f234b9de
fix(qbe): pass class-field record/array by address, not a loaded scalar
Graeme Geldenhuys
2026-06-09 19:05:56 +0100
-
4f5588d344
feat(native): multi-unit program support (whole-program model)
Graeme Geldenhuys
2026-06-09 18:38:30 +0100
-
959dcaf54b
chore: gitignore docs/opdf-emission-design.adoc (local FYI note)
Graeme Geldenhuys
2026-06-09 17:33:44 +0100
-
facd18bdca
fix(native): load Result after epilogue ARC releases, not before
Graeme Geldenhuys
2026-06-09 17:25:39 +0100
-
971897a411
fix(opdf): export class vtables under --debug-opdf so .opdf links
Graeme Geldenhuys
2026-06-09 16:53:23 +0100
-
d3777ffcfa
fix(codegen): interface stored in a field — dispatch and read-into-local
Graeme Geldenhuys
2026-06-08 19:41:41 +0100
-
b3ea6138cb
fix(native): lower Chr(N) to _Chr so it works as a String
Graeme Geldenhuys
2026-06-08 19:33:16 +0100
-
4d1e53c5b7
fix(native): bring x86-64 backend ARC to parity with the QBE backend
Graeme Geldenhuys
2026-06-08 19:21:59 +0100
-
53ea92da00
fix(semantic): break analyser<->symbol-table cycle that leaked the AST
Graeme Geldenhuys
2026-06-08 18:05:07 +0100
-
935bd5237d
fix(qbe): support interface-typed fields inside records and classes
Graeme Geldenhuys
2026-06-08 17:50:32 +0100
-
96514eeca4
fix(qbe): stop double-retaining ARC return values on assignment
Graeme Geldenhuys
2026-06-08 17:25:23 +0100
-
f74e5ccf43
fix(qbe): refcount dyn-array, interface, and nested-record fields in records
Andrew Haines
2026-06-07 20:07:43 -0400
-
328493baf2
fix(bif): resolve bif-coverage gaps for current master
Graeme Geldenhuys
2026-06-08 00:34:12 +0100
-
00ca54afc4
fix(tools): add () to bare zero-arg calls in bif-coverage
Andrew Haines
2026-06-07 11:14:43 -0400
-
02169411b0
test(compiler): wire bif-coverage into TestRunner
Andrew Haines
2026-06-04 16:04:14 -0400
-
565fbea9bc
fix(tools): bif-coverage resolves paths by walking up from CWD
Andrew Haines
2026-06-04 16:03:58 -0400
-
56c3fe1d0b
feat(tools): add bif-coverage verifier for AST/encoder/decoder drift
Andrew Haines
2026-06-04 15:31:10 -0400
-
7fe0e90563
refactor(driver): promote UseNative Boolean to TBackend enum
Andrew Hathaway
2026-06-08 00:15:07 +0100
-
fec6fa9ddd
docs: update language rationale and grammar for codepoint iteration
Graeme Geldenhuys
2026-06-07 23:58:06 +0100
-
c26e198180
perf(rtl): SIMD-accelerated UTF-8 codepoint counting (SSE2 + AVX2)
Graeme Geldenhuys
2026-06-07 23:56:12 +0100
-
a9c55eddcc
feat(lang): for-in over string with Integer var iterates codepoints
Graeme Geldenhuys
2026-06-07 23:46:07 +0100
-
8c615040b7
feat(stdlib): add UTF-8 codepoint functions to StrUtils
Graeme Geldenhuys
2026-06-07 23:33:17 +0100
-
d06cd40a0c
feat(rtl): add _Utf8DecodeAt helper for UTF-8 codepoint decoding
Graeme Geldenhuys
2026-06-07 23:31:01 +0100
-
dd2e5ddb47
fix(codegen): emit \x hex escapes in string literals for GNU as
Graeme Geldenhuys
2026-06-07 23:26:47 +0100
-
f0bf9b33f8
fix(native): add SizeOf handler to native x86-64 backend (fixes #86)
Graeme Geldenhuys
2026-06-07 14:53:32 +0100
-
f6ea10194f
feat(lang): support enum sets with up to 64 members (fixes #81)
Graeme Geldenhuys
2026-06-07 13:52:27 +0100
-
58f6a050db
feat(punit): add AssertEquals overload for UInt64, register UInt64ToStr built-in
Graeme Geldenhuys
2026-06-07 12:31:04 +0100
-
64060a542d
fix(rtl): resolve overload ambiguity in test_blaise_mem
Graeme Geldenhuys
2026-06-07 12:26:34 +0100
-
fcd654b58c
fix(rtl): add mandatory () to bare calls in punit test framework
Graeme Geldenhuys
2026-06-07 12:16:12 +0100
-
00596b2ca6
fix(lang): add mandatory () to all bare zero-arg calls, add semantic diagnostic
Graeme Geldenhuys
2026-06-07 05:46:48 +0100
-
dafeb84147
chore: begin v0.11.0-dev cycle
Graeme Geldenhuys
2026-06-07 02:09:50 +0100
-
c822075164
docs: update test count to 2627 for v0.10.0
Graeme Geldenhuys
2026-06-07 02:09:35 +0100
-
b7cdcd29c4
release: v0.10.0
Graeme Geldenhuys
2026-06-07 02:09:09 +0100
-
0a3a42f982
fix(kanban): add missing () on SystemOffset call in kanban.data.pas
Graeme Geldenhuys
2026-06-06 21:30:07 +0100
-
57c0660a37
refactor(lang): remove IsNoArgFuncCall dead code, fix remaining bare calls
Graeme Geldenhuys
2026-06-06 20:28:13 +0100
-
51ebf2350a
feat(lang): require mandatory () on all zero-argument calls
Graeme Geldenhuys
2026-06-06 19:14:47 +0100
-
1a2b04cef3
test(e2e): standalone pointer-to-record field deref test
Graeme Geldenhuys
2026-06-06 17:08:38 +0100
-
8c0d0774fd
fix(tests): include stdout in e2e exit-code mismatch messages
Graeme Geldenhuys
2026-06-06 17:04:25 +0100