On 13.07.2024 16:27, Rick McGuire wrote:
the stackframes are a representation of the activations active on an activity. When a method is started asynchronously, it is the base of the activity stack and does not have a parent stack frame. So many other things would get messed up by trying to add one to that stack. And you're on your own with fixing any problems created by trying to add one.

Hmm, o.k., thanks.

Would there be another source from where one could learn at runtime where an activity got created from that could be used instead? Or would it be possible to add "just" a field to Activity that would allow to refer to an Activity's creator's stack frame, if available?

---rony


On Sat, Jul 13, 2024 at 9:15 AM Rony G. Flatscher <rony.flatsc...@wu.ac.at> 
wrote:

    While analyzing various invocation types and the caller's stack frame (for 
invocation entries
    to allow identifying the caller from a trace log later), everything seems 
to work out nicely.

    There is one case where the caller's stack frame cannot be generated, it 
seems to have to do
    with methods that get run asynchroneously, e.g.:

        ...
        o=.clz~new
        o~m1 -- caller's stack frame can be built for ">I> Method "M1" with scope 
..."

        o~start("m1")     -- caller's stack frame can NOT be built for ">I> Method 
"M1" with scope ..."
        ...

    The activity for the asynchronous message has Activity::activationFrames as 
NULL, such that it
    cannot be used for creating a parent stack frame.

    Would it possible to supply an Activity::activationFrames for asynchronous 
dispatch?

    ---rony

_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to