[gambit-list] Dependeny graphs for reachable bindings: Gambit 4.9.3 vs 4.9.4
Marc Feeley
feeley at iro.umontreal.ca
Tue Jan 4 11:37:45 EST 2022
Indeed v4.9.4 adds dotted lines in the dependency graph. The meaning of the lines is:
- solid line from A to B: procedure A contains a call to procedure B
- dotted line from A to B: procedure A contains a read or write of variable B
Sometimes there will be both a solid and dotted line from A to B. This happens often when speculative inlining is done (to respect R5RS semantics). For example:
(define (f x) (sin x))
will be compiled as:
(define f
(lambda (x)
(if (and ('#<procedure #2 ##eq?> sin '#<procedure #3 sin>)
('#<procedure #4 ##flonum?> x))
('#<procedure #5 ##flsin> x)
(sin x))))
Procedure f contains a call to sin and a variable reference of sin, so there will be a solid and dotted line between f and sin in the dependency graph:
Moreover, sin is in black to indicate that the file does not contain a definition of sin. It can help identify undefined procedures/variables, or procedures that should be imported from other modules.
Marc
> On Jan 4, 2022, at 10:15 AM, Sven Hartrumpf <hartrumpf at gmx.net> wrote:
>
> Investigating the original .dg files showed that the format was extended
> so that my (not too clever) postprocessor missed some pieces of information.
> For example, some dependency arcs are now annotated with "[style = dotted]".
>
> After fixing this in my postprocessor, the reachability analyses are identical
> when using Gambit 4.9.3 and 4.9.4.
>
> Ciao
> Sven
>
> _______________________________________________
> Gambit-list mailing list
> Gambit-list at iro.umontreal.ca
> https://mailman.iro.umontreal.ca/cgi-bin/mailman/listinfo/gambit-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20220104/82d98154/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PastedGraphic-1.png
Type: image/png
Size: 18559 bytes
Desc: not available
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20220104/82d98154/attachment-0001.png>
More information about the Gambit-list
mailing list