Hi:
On 07 Nov 2011, at 23:38, Stéphane Ducasse wrote:
> if you look in the scripttloatder you can tell the MC that it should apply a
> list of package one after the other and not (by default collect all the
> classes and apply all the change together).
Hm, I currently have only one Monticello package. I don't put subpackages
currently into different *mcz, but I guess that is the way to go.
Thanks Lukas, but that looks like breaking a fly on the wheel. Don't need that
kind of complexity just yet.
> Now another smart move is to think (if the license allows it) how you can
> push the hooks that you need to the community like that you are more
> customization and less override.
License: MIT...
But, 50% of the stuff is to specific, I think.
The following would be a candidate for inclusion:
-----
!Parser class methodsFor: '*Omni-Compiler-Kernel' stamp: 'StefanMarr 11/3/2011
21:40'!
encoderClassFor: aCompiledMethod
^ aCompiledMethod isBlueBookCompiled
ifTrue: [EncoderForV3]
ifFalse: [EncoderForV3PlusClosures]! !
!CompiledMethod methodsFor: '*Omni-Compiler-Kernel' stamp: 'StefanMarr
11/3/2011 15:55'!
methodNode
"Return the parse tree that represents self"
| aClass source |
aClass := self methodClass.
source := self
getSourceFor: (self selector ifNil: [self
defaultSelector])
in: aClass.
^(aClass parserClass new
encoderClass: (aClass parserClass encoderClassFor: self);
parse: source class: aClass)
sourceText: source;
yourself! !
-----
But for instance the following and similar changes aren't generally useful, and
probably just an artifact of me being too lazy to do it right:
!InstanceVariableNode methodsFor: '*Omni-code generation' stamp: 'StefanMarr
11/3/2011 14:20'!
emitCodeForValue: stack encoder: encoder
stack push: 1.
encoder adjustParseStackForPushInstVar: stack.
^encoder genPushInstVar: index! !
!BytecodeEncoder methodsFor: '*Omni-bytecode generation' stamp: 'StefanMarr
11/3/2011 14:20'!
adjustParseStackForPushInstVar: parseStack
^ parseStack! !
Best regards
Stefan
--
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax: +32 2 629 3525