Generate CFG

44 views
Skip to first unread message

thierr...@gmail.com

unread,
May 3, 2018, 10:00:15 AM5/3/18
to
Hello,

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

https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Hacking_Tips#Hacking_tips

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

unread,
May 3, 2018, 4:10:44 PM5/3/18
to thierr...@gmail.com, dev-tech-js-en...@lists.mozilla.org
Hi,

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
> dev-tech-js-en...@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Thierry Sans

unread,
May 3, 2018, 5:21:28 PM5/3/18
to
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

unread,
May 4, 2018, 9:15:11 AM5/4/18
to Thierry Sans, dev-tech-js-en...@lists.mozilla.org
Glad it worked out for you.

Feel free to ask any more questions here, or drop by irc.mozilla.org <http://irc.mozilla.org/> #jsapi
Reply all
Reply to author
Forward
0 new messages