From 7f232bd075f1d551df7979f98eda0a312e91c0be Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 18 Dec 2024 07:18:47 -0700 Subject: [PATCH 1/4] add `ftype-scheme-object-pointer` and related foreign-pointer extensions An ftype pointer to a Scheme object is useful to communicate the address of a bytevector or flvector (like `object->reference-address`) in the same places that ftype pointers can be used. There's a key difference between using these new pointers and constructing a pointer with the result of `object->reference-address`: GC cooperation with a Scheme-object pointer ensures that the address does not go stale. Instead, the address is extracted just after moving into a context where a collection cannot occur (e.g., a foreign call without `__collect_safe`). With Scheme-object pointers as a way to unify GCable and foreign references through the ftype interface, some further additions give the ftype layer flexiblity similar to the lower-level `foreign-ref` API, which extracts data from a reference without a declared/checked foreign representation. The `ftype-any-ref` and `ftype-any-set!` forms cover pointer access and update, and `ftype-pointer` is allowed as a ftype-name for a generic pointer type. In addition, `ftype-scheme-object-pointer` works as an ftype-name for a pointer to a GCable object. In the case of an `(& )` argument or result, `(& ftype-pointer)` can be used to accept/allocate a generic pointer record instead of a -specific pointer record, and similarly `(& ftype-scheme-object-pointer)`. The key changes are fairly modest, but there are many additional changes just to expand plumbing. The most tedious change is that the internal `$make-record-type` function has a new argument that can turn on GC cooperation for Scheme-object ftype pointers. Most of the rest is about making foreign-call pointer arguments and results distinguish a predicate for argument checking from the rtd used to create pointer objects. --- boot/pb/equates.h | 4 +- boot/pb/gc-ocd.inc | 54 +++++ boot/pb/gc-oce.inc | 67 ++++++ boot/pb/gc-par.inc | 54 +++++ boot/pb/heapcheck.inc | 9 + boot/pb/petite.boot | Bin 1831936 -> 6745325 bytes boot/pb/scheme.boot | Bin 921785 -> 4842734 bytes boot/pb/scheme.h | 4 +- csug/foreign.stex | 159 +++++++++++++- mats/foreign.ms | 78 ++++++- mats/ftype.ms | 89 +++++++- mats/oop.ss | 4 + mats/patch-interpret-0-f-f-f | 65 ++++-- mats/patch-interpret-0-t-f-f | 57 +++-- mats/primvars.ms | 1 + mats/record.ms | 21 +- mats/root-experr-compile-0-f-f-f | 8 + release_notes/release_notes.stex | 37 ++++ s/arm32.ss | 14 +- s/arm64.ss | 50 ++--- s/base-lang.ss | 9 +- s/cmacros.ss | 2 +- s/cp0.ss | 23 +- s/cpcommonize.ss | 9 +- s/cpnanopass.ss | 56 +++-- s/cpprim.ss | 49 ++++- s/cprep.ss | 4 +- s/enum.ss | 1 + s/ftype.ss | 354 +++++++++++++++++++++++-------- s/loongarch64.ss | 14 +- s/mkgc.ss | 6 + s/pb.ss | 10 +- s/ppc32.ss | 36 ++-- s/primdata.ss | 17 +- s/reboot-record.ss | 55 ++--- s/reboot.ss | 9 +- s/record.ss | 46 ++-- s/riscv64.ss | 14 +- s/syntax.ss | 28 +-- s/types.ss | 2 +- s/x86.ss | 26 +-- s/x86_64.ss | 18 +- 42 files changed, 1204 insertions(+), 359 deletions(-) diff --git a/boot/pb/equates.h b/boot/pb/equates.h index 4d052960a..b17da2f70 100644 --- a/boot/pb/equates.h +++ b/boot/pb/equates.h @@ -1,4 +1,4 @@ -/* equates.h for Chez Scheme Version 10.2.0-pre-release.1 */ +/* equates.h for Chez Scheme Version 10.2.0-pre-release.2 */ /* Do not edit this file. It is automatically generated and */ /* specifically tailored to the version of Chez Scheme named */ @@ -1015,7 +1015,7 @@ typedef uint64_t U64; #define rtd_sealed 0x4 #define sbwp (ptr)0x4E #define scaled_shot_1_shot_flag -0x8 -#define scheme_version 0xA020001 +#define scheme_version 0xA020002 #define seginfo_generation_disp 0x1 #define seginfo_list_bits_disp 0x8 #define seginfo_space_disp 0x0 diff --git a/boot/pb/gc-ocd.inc b/boot/pb/gc-ocd.inc index 6bbc8d555..2018cd28a 100644 --- a/boot/pb/gc-ocd.inc +++ b/boot/pb/gc-ocd.inc @@ -576,6 +576,15 @@ static void sweep(thread_gc *tgc, ptr p, IGEN from_g) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_impure(&obj, from_g); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { relocate_pure(&(RECORDDESCPM(rtd))); @@ -1258,6 +1267,15 @@ static void sweep_object_in_old(thread_gc *tgc, ptr p) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_indirect(obj); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { relocate_pure(&(RECORDDESCPM(rtd))); @@ -1837,6 +1855,15 @@ static IGEN sweep_dirty_object(thread_gc *tgc, ptr p, IGEN youngest) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_dirty(&obj, youngest); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { { @@ -2095,6 +2122,15 @@ static void sweep_record(thread_gc *tgc, ptr p, IGEN from_g) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_impure(&obj, from_g); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { relocate_pure(&(RECORDDESCPM(rtd))); @@ -2157,6 +2193,15 @@ static IGEN sweep_dirty_record(thread_gc *tgc, ptr p, IGEN youngest) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_dirty(&obj, youngest); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { { @@ -3580,6 +3625,15 @@ static IBOOL object_directly_refers_to_self(ptr p) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + if (p == obj) return 1; + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { if (p == RECORDDESCPM(rtd)) return 1; diff --git a/boot/pb/gc-oce.inc b/boot/pb/gc-oce.inc index 1d77a31b6..29d03695e 100644 --- a/boot/pb/gc-oce.inc +++ b/boot/pb/gc-oce.inc @@ -696,6 +696,15 @@ static void sweep(thread_gc *tgc, ptr p, IGEN from_g) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_impure(&obj, from_g); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { relocate_pure(&(RECORDDESCPM(rtd))); @@ -1381,6 +1390,15 @@ static void sweep_object_in_old(thread_gc *tgc, ptr p) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_indirect(obj); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { relocate_pure(&(RECORDDESCPM(rtd))); @@ -1961,6 +1979,15 @@ static IGEN sweep_dirty_object(thread_gc *tgc, ptr p, IGEN youngest) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_dirty(&obj, youngest); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { { @@ -2221,6 +2248,15 @@ static void sweep_record(thread_gc *tgc, ptr p, IGEN from_g) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_impure(&obj, from_g); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { relocate_pure(&(RECORDDESCPM(rtd))); @@ -2285,6 +2321,15 @@ static IGEN sweep_dirty_record(thread_gc *tgc, ptr p, IGEN youngest) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_dirty(&obj, youngest); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { { @@ -3823,6 +3868,15 @@ static IBOOL object_directly_refers_to_self(ptr p) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + if (p == obj) return 1; + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { if (p == RECORDDESCPM(rtd)) return 1; @@ -4151,6 +4205,19 @@ static void measure(thread_gc *tgc, ptr p) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + { /* measure */ + ptr r_p = obj; + if (!FIXMEDIATE(r_p)) + push_measure(tgc, r_p); + } + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { { diff --git a/boot/pb/gc-par.inc b/boot/pb/gc-par.inc index 0d3198b2e..755c578b8 100644 --- a/boot/pb/gc-par.inc +++ b/boot/pb/gc-par.inc @@ -561,6 +561,15 @@ static void sweep(thread_gc *tgc, ptr p, IGEN from_g) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_impure(&obj, from_g); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { seginfo* pm_si = SegInfo((ptr_get_segment(num))); @@ -1262,6 +1271,15 @@ static void sweep_object_in_old(thread_gc *tgc, ptr p) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_indirect(obj); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { relocate_pure(&(RECORDDESCPM(rtd))); @@ -1841,6 +1859,15 @@ static IGEN sweep_dirty_object(thread_gc *tgc, ptr p, IGEN youngest) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_dirty(&obj, youngest); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { { @@ -2109,6 +2136,15 @@ static void sweep_record(thread_gc *tgc, ptr p, IGEN from_g) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_impure(&obj, from_g); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { seginfo* pm_si = SegInfo((ptr_get_segment(num))); @@ -2180,6 +2216,15 @@ static IGEN sweep_dirty_record(thread_gc *tgc, ptr p, IGEN youngest) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + relocate_dirty(&obj, youngest); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { { @@ -3621,6 +3666,15 @@ static IBOOL object_directly_refers_to_self(ptr p) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + if (p == obj) return 1; + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { if (p == RECORDDESCPM(rtd)) return 1; diff --git a/boot/pb/heapcheck.inc b/boot/pb/heapcheck.inc index c1e86b86a..3c9ddac64 100644 --- a/boot/pb/heapcheck.inc +++ b/boot/pb/heapcheck.inc @@ -43,6 +43,15 @@ static void check_object(ptr p, uptr seg, ISPC s_in, IBOOL aftergc) } } } + else if (num == Strue) + { + uptr offset = (uptr)(*((pp + 1))); + { + ptr obj = TO_PTR((((uptr)(*(pp))) - offset)); + check_pointer(&(obj), 0, 0, p, seg, s_in, aftergc); + *(pp) = TO_PTR((((uptr)obj) + offset)); + } + } else { check_pointer(&(num), 0, 0, p, seg, s_in, aftergc); diff --git a/boot/pb/petite.boot b/boot/pb/petite.boot index 1240bad20e405a248a2c9b0c29a337317edc4a80..70a07764f50571c620a307a9e77b5e667a12c82f 100644 GIT binary patch literal 6745325 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