Re: On UDOs ...

From: Giorgio Zoia (Giorgio.Zoia@epfl.ch)
Date: Tue May 23 2000 - 04:57:06 EDT


At 04:32 AM 5/23/00, Robin Davies wrote:
>Second example.
> > if (!b)
> > {
> > b = a; // a being an ivar array.
> > }
>Yep. That's an example of code that Sfx curently executes uncoditionally.
>
>Surely, it's either an i-rate assignment, or it's an illegal statment due to
>an effective guard-rate restriction. So I don't think Sfx is out of
>compliance here. The question is: "is this legal code?". Should it be
>flagged as an error?
>
>So. Giorgo! I couldn't make out what SAINT actually does with the second
>example. Does it compile the code? What's the final output? I'm interested.

Hi Robin,

         I move from my previous e-mail,

>In bar instead
>the if statement is executed only at the first call in each instance
>of foo, and then the new values are never seen. These seemed
>and seems ok to me, since b is not a control parameter of the
>opcode, rather an initialization parameter.

Yes, the line b = a is compiled as sub-block of the if statement, it is
ok (for saint) because width is 1 at left and right of the equal sign,
and it is executed the first time foo calls bar. So the value of the
final output depends on the first value that is passed to bar, i.e. bar
is initialized by a.

(In this special example, in fact, I personally don't see the need for the
if statement. b is an ivar, it is not imported, so its initial value is 0. In this
particular case the simple line b = a can be enough)

Giorgio

__________________________________________________________________
Giorgio ZOIA

Integrated Systems Laboratory - DE/LSI - EPFL
CH-1015 Lausanne - SWITZERLAND

Phone: + 41 21 693 69 79 E-mail: Giorgio.Zoia@epfl.ch
Fax: +41 21 693 46 63
__________________________________________________________________



This archive was generated by hypermail 2b29 : Mon Jan 28 2002 - 12:03:56 EST