[Pharo-project] [update 2.0] #20043
20043 ----- Issue 5744: Clean up Temp Embedding 2): DoIts http://code.google.com/p/pharo/issues/detail?id=5744 - Doits are now compiled with source embedded - embedding sources for doits pretty prints from AST as doits are compiled specially (with a return added) CompiledMethod: - remove blockExtendsToTempsMap: Not needed anymore, all calls go the MethodNode - remove #copyWitTempsFromMethodNode: All senders use #copyWithSource - remove #holdsTempNames. Temp name embedding not needed - add isDoit - schematicTempNamesString always returns the schematic string representation of all temps - tempNames forwards to methodNode - remove tempNamesString. Concatenate yourself if you need that. Debugger>>selectedMessage asks the selectedContext directly for the source. No need for the methodMap. DebuggerMethodMap - no special handling of methods that encode temps. Just as for methodNode always. MethodNode - generateWithSource. embedd pretty printed code in case of doit - remove generateWithTempNames In general: rewrite code to use #generateWithSource -- Marcus Denker -- http://marcusdenker.de
On Thu, May 3, 2012 at 10:44 AM, Marcus Denker <marcus.denker@inria.fr>wrote:
20043 -----
Issue 5744: Clean up Temp Embedding 2): DoIts http://code.google.com/p/pharo/issues/detail?id=5744
- Doits are now compiled with source embedded - embedding sources for doits pretty prints from AST as doits are compiled specially (with a return added)
CompiledMethod:
- remove blockExtendsToTempsMap: Not needed anymore, all calls go the MethodNode - remove #copyWitTempsFromMethodNode: All senders use #copyWithSource - remove #holdsTempNames. Temp name embedding not needed
I didn't understand. I have a test in fuel where I serialize/materialize a compiled method with an empty trailer. so after the materialization one of the things I test are: self assert: method sourcePointer = 0. self deny: method holdsTempNames. of course I can still do: self deny: method trailer hasTempNames but just wondering...
- add isDoit - schematicTempNamesString always returns the schematic string representation of all temps - tempNames forwards to methodNode - remove tempNamesString. Concatenate yourself if you need that.
Debugger>>selectedMessage asks the selectedContext directly for the source. No need for the methodMap.
DebuggerMethodMap
- no special handling of methods that encode temps. Just as for methodNode always.
MethodNode
- generateWithSource. embedd pretty printed code in case of doit - remove generateWithTempNames
In general: rewrite code to use #generateWithSource
-- Marcus Denker -- http://marcusdenker.de
-- Mariano http://marianopeck.wordpress.com
participants (2)
-
Marcus Denker -
Mariano Martinez Peck