Stefan the first link I sent was wrong (obviously) did you check the second?
Stef On Sep 29, 2010, at 9:55 PM, Stefan Marr wrote: > Stef, I had a look at the description of these fixes, but it does not look > like there is something related in it. > > Eliot, the requested output is below. > But as far as I can see, it is identical. Have verified it also in the Squeak > 4.1 image, all three produce the same bytecode. > > Perhaps it not the compiler directly but some closure related code? > > Thanks > Stefan > > > > Pharo 1.1: (Erlang class>>#spawn:) abstractSymbolic > > '<primitive: 19> > pushLit: Process > pushTemp: 0 > closureNumCopied: 1 numArgs: 0 bytes 51 to 59 > pushConstant: 1 > send: #halt (0 args) > pop > pushTemp: 0 > send: #value (0 args) > pop > pushLit: Processor > send: #terminateActive (0 args) > blockReturn > send: #asContext (0 args) > pushLit: Processor > send: #activePriority (0 args) > send: #forContext:priority: (2 args) > popIntoTemp: 1 > pushTemp: 1 > send: #resume (0 args) > pop > pushTemp: 1 > returnTop > ' > > Pharo 1.1: (Erlang class>>#spawn:) symbolic. > '<primitive: 19> > 45 <41> pushLit: Process > 46 <10> pushTemp: 0 > 47 <8F 10 00 09> closureNumCopied: 1 numArgs: 0 bytes 51 to 59 > 51 <76> pushConstant: 1 > 52 <D3> send: halt > 53 <87> pop > 54 <10> pushTemp: 0 > 55 <C9> send: value > 56 <87> pop > 57 <45> pushLit: Processor > 58 <D4> send: terminateActive > 59 <7D> blockReturn > 60 <D2> send: asContext > 61 <45> pushLit: Processor > 62 <D6> send: activePriority > 63 <F0> send: forContext:priority: > 64 <69> popIntoTemp: 1 > 65 <11> pushTemp: 1 > 66 <D7> send: resume > 67 <87> pop > 68 <11> pushTemp: 1 > 69 <7C> returnTop > ' > > Squeak 4.2: (Erlang class>>#spawn:) abstractSymbolic. > '<primitive: 19> > pushLit: Process > pushTemp: 0 > closureNumCopied: 1 numArgs: 0 bytes 51 to 59 > pushConstant: 1 > send: #halt (0 args) > pop > pushTemp: 0 > send: #value (0 args) > pop > pushLit: Processor > send: #terminateActive (0 args) > blockReturn > send: #asContext (0 args) > pushLit: Processor > send: #activePriority (0 args) > send: #forContext:priority: (2 args) > popIntoTemp: 1 > pushTemp: 1 > send: #resume (0 args) > pop > pushTemp: 1 > returnTop > ' > > Squeak 4.2: (Erlang class>>#spawn:) symbolic. > > '<primitive: 19> > 45 <41> pushLit: Process > 46 <10> pushTemp: 0 > 47 <8F 10 00 09> closureNumCopied: 1 numArgs: 0 bytes 51 to 59 > 51 <76> pushConstant: 1 > 52 <D3> send: halt > 53 <87> pop > 54 <10> pushTemp: 0 > 55 <C9> send: value > 56 <87> pop > 57 <45> pushLit: Processor > 58 <D4> send: terminateActive > 59 <7D> blockReturn > 60 <D2> send: asContext > 61 <45> pushLit: Processor > 62 <D6> send: activePriority > 63 <F0> send: forContext:priority: > 64 <69> popIntoTemp: 1 > 65 <11> pushTemp: 1 > 66 <D7> send: resume > 67 <87> pop > 68 <11> pushTemp: 1 > 69 <7C> returnTop > ' > > > On 29 Sep 2010, at 20:29, Stéphane Ducasse wrote: > >> and http://code.google.com/p/pharo/issues/list?cursor=2818 >> >> Stef >> >> >>>> spawn: aBlock >>>> "Answer an ErlProcess running the code given in the parameter. The >>>> process isscheduled." >>>> | proc | >>>> <primitive: 19> "Simulation guard" >>>> proc := Process >>>> forContext: >>>> [1 halt. aBlock value. >>>> Processor terminateActive] asContext >>>> priority: Processor activePriority. >>>> proc resume. >>>> ^ proc > > > -- > 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 > > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
