| CARVIEW |
Select Language
HTTP/2 200
date: Tue, 30 Dec 2025 04:40:02 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"0abe67b6359a8f25bea99a116811366f"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=N0X0IV3lvKlkls7yKgM8FauJwISHfIXvyrVkfJ7PEwxXbI7YCSvkQRzW4k18LSDGwpwqIV3Ruf%2B1iGpTUczCSQ%2Ba%2FlseYd3c4kKdKU1cnuHpING21goqvQHvzJ19nzQx1DNMGNwrw%2BSsSYU5UMJDKtpRnTW8fZ44Cfylj9800AZYoEHsPApFhE%2B7si2UIFpfb%2FGiyqzsnIbYKlnxHqjn25cCdmE6TXRJPDZEZ3DiogTWYzQN8reYQ91wQMRnwKuxBQYYJUCBwfcjQCz4Y0Hycg%3D%3D--CUHP91NJRZkWRkRw--JZ6%2BaDBu61jhrMDfWKx3Jg%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1132767036.1767069602; Path=/; Domain=github.com; Expires=Wed, 30 Dec 2026 04:40:02 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Wed, 30 Dec 2026 04:40:02 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 88A6:1D06DD:5C0ED:68C16:695357A2
GitHub - sstangl/iongraph: Visualize IonMonkey CFGs using GraphViz.
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 12
Visualize IonMonkey CFGs using GraphViz.
License
sstangl/iongraph
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Primitive visualizer for IonMonkey graphs using GraphViz. Doesn't involve Java. Generated images and DOT files are saved on disk. Copyright Sean Stangl <sstangl@mozilla.com>, 2011-2012. IONMONKEY IonMonkey is a compiler for JavaScript that uses an SSA-form IR. Mozilla-Central (https://hg.mozilla.org/mozilla-central) includes IonMonkey as part of the SpiderMonkey JavaScript engine in js/src. USAGE Make a debug build of IonMonkey, then run with the envvar IONFLAGS=logs. IonMonkey will then dump observations about graph state into /tmp/ion.json. IMPORTANT: IonMonkey by default uses background threads for compilation, but the JitSpewer, the thing that outputs ion.json, was never updated to work with threads, so by default ion.json contains blank data. You can work around this by passing --ion-offthread-compile=off. If using jit-tests, this looks like: python jit-tests/jit-tests.py path/to/shell.js --args="--ion-offthread-compile=off" If you want to write the support for parallel ion.json generation, message sstangl on irc.mozilla.org/#jsapi. Executing 'make' reads in this file, outputs a DOT file for each function and for each pass for each function, and then generates visualizations of those DOT files in PNG and PDF format. Iterating over those files crudely shows changes to the graph over time. GRAPH PROPERTIES Blocks with green borders are loop headers. Blocks with red borders contain loop backedges (successor is a header). Blocks with dashed borders were created during critical edge splitting. Instructions that are movable are blue. Instructions that cannot be hoisted even if movable are underlined. MResumePoints are placed as instructions, colored gray. Edges from blocks ending with conditional branches are annotated with the truth value associated with each edge, given as '0' or '1'.
About
Visualize IonMonkey CFGs using GraphViz.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
You can’t perform that action at this time.