Generate CFG

Skip to first unread message

May 3, 2018, 10:00:15 AM5/3/18

Using SpiderMonkey, I am trying to generate the Control Flow Graph (CFG) as explained here:

I am using the command:

IONFILTER=pdfjs.js:16934 IONFLAGS=logs,scripts,osi,bailouts ./js --ion-offthread-compile=off ./example.js 2>&1

However the files ion.json and cfg.json are not generated in /tmp/ as described in the documentation.

Any idea what the problem is?

FYI, I have compiled SpiderMonkey 61 in debug mode (--enable-debug --disable-optimize)

Moreover, is there a way to run SpiderMonkey, generate the CFG graph but without executing the code?

Thanks a lot.

Matthew Gaudet

May 3, 2018, 4:10:44 PM5/3/18

I just tried this locally, and I did see things get generated: My suspicion is that the IONFILTER is incorrect, leading to nothing passing. You can verify by just running without.

Also, the docs may be out of date: I see ion.cfg and ion.json, but no cfg.json.
> _______________________________________________
> dev-tech-js-engine-internals mailing list

Thierry Sans

May 3, 2018, 5:21:28 PM5/3/18
You are right, I removed the IONFILTER part. Moreover, I had to add the option --ion-eager to get something in the output files.

Finally, I have used the option --compileonly to compile but not run the code.

My final command is:

$ IONFLAGS=logs,scripts,osi,bailouts ./js --ion-offthread-compile=off --compileonly --ion-eager /shared/pure.js 2>&1

Thanks a lot for your help.

Matthew Gaudet

May 4, 2018, 9:15:11 AM5/4/18
to Thierry Sans,
Glad it worked out for you.

Feel free to ask any more questions here, or drop by <> #jsapi
Reply all
Reply to author
0 new messages