>Since we want to support those languages as first-class citizens, we can't require GC support as a base concept
I feel like you're overthinking it. Can't you just have a table that holds GCable objects and only hand out indexes to C and co?
I feel like you're overthinking it. Can't you just have a table that holds GCable objects and only hand out indexes to C and co?
It doesn't help with making capabilities more fine-grained, though: we have to treat all code that has access to that table as having the same level of trust.