Shopify / seafoam

A tool for working with compiler graphs dumped by the GraalVM compiler
MIT License
126 stars 22 forks source link

Update class name matching rule for allocation simplification to match more valid class names. #73

Closed nirvdrum closed 1 year ago

nirvdrum commented 1 year ago

The existing rule for matching class names in the allocation simplification pass didn't handle "$" inside names. I also updated the rule to match against non-ASCII Unicode characters, although I didn't need that for graphs I was looking at. Finally, I added more context to the error message because the message that was printed looked like:

seafoam: MarkingService$ExtensionCallStackEntry[5,5,3577,41,41,195,139,41,41,41,41]

and I couldn't immediately work out what that meant.

We may want to consider adding the ability to print debug data through an environment variable or a flag to Seafoam. Relying on ruby -d is a little awkward when the primary execution mechanism is the seafoam binary.

Fixes #67.