On 8/4/21 6:01 AM, Antoine Viallon wrote:

What you propose is interesting, however, I don't know how you will succeed in patenting "Root Pointer" (which I have trouble understanding what it actually is), 

Root Pointer is a smart pointer that doesn't have the cyclic reference problem because it will get destroyed whenever the last "marker" on the stack references to the respective group of smart pointers constituting the cyclic reference in question.

and I wonder how you will do the other things without introducing runtime overhead.

- The runtime stack trace is very lightweight (unless you selectively also want to dump the content of parameters and local variables);

- The rest revolves around which smart pointer or garbage collector you want to use. Root Pointer is extremely fast and compact but a non-deterministic garbage collector might be preferable in the event overall garbage collection slowdowns are not an issue.

Also, isn't there already things like UBSAN to mitigate some of these problems if needed?

- What I propose is part of the language so it doesn't suffer from platform limitations;

- The runtime stack trace is more precise because it goes down each compound statements;



Phil Bouchard
Founder & CTO
C.: (819) 328-4743

Fornux Logo