Hello Manuel,

Like every time, it is really hard for us to make a testcase (more than 400 000 
lines of code + C interface, TCL, other external C libraries ..... )
but I have worked all the day to finally find the issue and succeed to make a 
testcase:
In fact it is the (procedure?) function that assume during the cfa that an 
object is not a function.
Hence it doesn't go inside a part of the code where the "get-key" is used.
It makes the Cfa thinking that the get-key function is not "lost?"  and not 
used so it is replaced by the el-procedure.
You have in attachment a simple testcase that shows the case.

Note: I would be interested to know how to use the -t[24] +tpass function: I 
finally replace manually the "trace" function by a print but it would be 
usefully to use it manually without manual tweeks !

Best regards,
Pierre-Francois


-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of 
[email protected]
Sent: Wednesday, March 14, 2018 1:50 PM
To: Ollagnon, Pierre-Francois <[email protected]>
Cc: [email protected]
Subject: Re: [bigloo] Dataflow+ debuging

Hi Pierre-François,

I have bad time understanding what's going on. Could you provide a complete 
function definition because currently I'm not able to build something similar 
to the situation that raises the bug.

You mentioned that the dataflow has erroneously removed some code.
This is quite possible I will check what's going on as soon as possible but the 
problem is that in your excerpt I don't see what has been removed. What is 
missing according to you? I see no difference in between the dataflow and 
dataflow+.

I don't suspect a GC problem. For now, it rather sounds like a mistake in the 
CFA analysis that incorrectly transforms a plain procedure into an el-procedure.

It would really helped if you could send me an actual code (even privately if 
you have copyright issues). Thanks in advance.

--
Manuel

Attachment: Bug_bigloo_cfa.tar.gz
Description: Bug_bigloo_cfa.tar.gz

Reply via email to