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


Reply via email to