[M3devel] Strange CM3 IR for FINALLY

Peter McKinna peter.mckinna at gmail.com
Sun Jul 26 03:02:35 CEST 2015

Theres a comment at about line 216 in TryFinStmt.m3 that suggests the
authors were not too sure about this either.

Regards Peter.

On Sun, Jul 26, 2015 at 2:39 AM, Rodney M. Bates <rodney_bates at lcwb.coop>

> In looking at CM3 IR for TRY-FINALLY, for an unrelated reason, I find the
> following:
> The front end translates the code found between FINALLY and END into a
> nested procedure.
> This is declared as having one parameter of type ADDRESS.  But, in the the
> direct call
> it generates, right before the FINALLY, it passes no actual.  Also, in the
> simple example
> I looked at, the finally procedure does not access its formal.
> It also stores the address of the finally procedure in a 5-word record
> whose address
> it passes to RTHooks.PushEFrame and PopEFrame.  RTHooks.i3 treats this as
> ADDRESS, and
> tells us nothing about what it actually points to.
> Is there a bug, or does anybody understand what is going on here?
> --
> Rodney Bates
> rodney.m.bates at acm.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20150726/a27f1a68/attachment-0002.html>

More information about the M3devel mailing list