[squeak-dev] Inboard Squeak Sources

tim Rowledge tim at rowledge.org
Mon Dec 5 02:56:28 UTC 2022


Some recent debugging handed me a reminder that we have several varieties of 'inboard source' in the system already, just not presently used and probably not complete.

Take  a look at CompiledMethod>>#getSourceFor:in:
- it looks at the method properties, checking for a Dictionary with a #source entry
- it checks the method trailer for tempNames, and if found, decompresses the names string and then decompiles the method and inserts those tempNames
- it checks the trailer  for sourceCode that may be contained in one of four different ways, two of them being compressed strings in the trailer and I think the code in CompiledMethodTrailer>>#sourceCode fails to decompress them? The other two methods rely on methods that no longer exist in the image.
- it checks if the trailer has a source pointer, and if not, decompiles the method with no assistance fro many temp names stuff
- if there is a source pointer, that value is used to fetch the source from the file(s), and as a backup for the files not being there it repeats the bare decompile code.

I think we might be able to clean that up a bit.

tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Useful Latin Phrases:- Illiud Latine dici non potest = You can't say that in Latin.




More information about the Squeak-dev mailing list