[Pharo-dev] The Second Coming of Java article

Eliot Miranda eliot.miranda at gmail.com
Tue Nov 26 21:07:45 EST 2013


On Tue, Nov 26, 2013 at 5:20 PM, Mariano Martinez Peck <
marianopeck at gmail.com> wrote:

>
>
>
> On Tue, Nov 26, 2013 at 5:49 PM, phil at highoctane.be <phil at highoctane.be>wrote:
>
>> FWIW, I'd love to have a working Pharo bytecode interpreter that works.
>> VMMaker currently doesn't have one it seems (earlier experiments didn't
>> worked for me).
>>
>> I am very interested with the VM, read the blue book,
>>
>
> I been writing a lot about that, at least as much as I could.
>
>
>>  understand the primitives,
>>
>
> http://marianopeck.wordpress.com/tag/primitives/
>
>
>> can somewhat read bytecode
>>
>
> http://marianopeck.wordpress.com/tag/bytecodes/
>
>
>>  but what is needed now is the ability to run/debug a VM inside Pharo
>> itself.
>>
>
> Yes, the simulator does not run these days.
>

That's simply not true.  I use the simulator *every day*.  It is vital for
the development of Spur.  Starting it up these days is as simple as

(| vm |
vm := StackInterpreterSimulator newWithOptions: #().
vm openOn: '/Users/eliot/Cog/startreader.image'.
vm openAsMorph; run)

something slightly more complex would be

(| vm |
vm := CogVMSimulator newWithOptions: #(ObjectMemory Spur32BitCoMemoryManager
Cogit StackToRegisterMappingCogit).
vm desiredNumStackPages: 8.
vm objectMemory setCheckForLeaks: 1.
vm openOn: '/Users/eliot/Cog/spurreader.image'.
vm openAsMorph; toggleTranscript; halt; run)

See the class comments in StackInterpreterSimulator and CogVMSimulator.


> GDB'ing is okay but a pain in the ass to understand what's going on.
>>
>> Ok, for debugging the VM with gdb I have:
> http://marianopeck.wordpress.com/tag/gdb/
>
>
>> Also read the Tour of the OE of Tim Rowledge and Porting the VM etc.
>>
>> Also looked at the VMMaker package (Interpreter and Object Memory) +
>> Slang.
>>
>> Now, getting an working interpreter would help me reach the next step. I
>> am not talking about the Stack interpreter, but the plain Interpreter.
>>
>>
> If you want to learn, besides all those mentioned books, you can start
> with http://marianopeck.wordpress.com/2011/03/31/journey-through-the-vm/
> that is a sequence of a lots of posts related to the VM.
>
> Cheers,
>
>
>
>> Any plans?
>>
>> Phil
>>
>> ---
>> Philippe Back
>> Dramatic Performance Improvements
>>  Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027
>> Mail:phil at highoctane.be | Web: http://philippeback.eu
>> Blog: http://philippeback.be | Twitter: @philippeback
>> Youtube: http://www.youtube.com/user/philippeback/videos
>>
>> High Octane SPRL
>> rue cour Boisacq 101 | 1301 Bierges | Belgium
>>
>> Pharo Consortium Member - http://consortium.pharo.org/
>> Featured on the Software Process and Measurement Cast -
>> http://spamcast.libsyn.com
>> Sparx Systems Enterprise Architect and Ability Engineering EADocX Value
>> Added Reseller
>>
>>
>>
>>
>> On Tue, Nov 26, 2013 at 9:33 PM, Stéphane Ducasse <
>> stephane.ducasse at inria.fr> wrote:
>>
>>>
>>> On Nov 26, 2013, at 1:21 PM, phil at highoctane.be wrote:
>>>
>>> I downloaded ST/X this morning and looked around for a couple hours.
>>>
>>> Impressive system. And impressive clients list/activities etc.
>>> <rant>
>>> And wow, Claus is yet another individual with top notch computer
>>> chops... Seems that this community has the highest density of high perf
>>> brains. I feel humbled indeed.
>>> </rant>
>>>
>>> What struck me was the speed.
>>>
>>>
>>> 15 years of working improving the VM pays off.
>>> This is why the work of Eliot on Spur are also important. What is also
>>> important is that more people can work on the VM
>>> for cleaning it so that we get a documented and good vehicule.
>>> And this will take time. We are working on a prototype to get forced to
>>> think about VM and learn. But this prototype will
>>> not replace Cog in the near future. So we should be happy that cog is
>>> there and improving.
>>>
>>> Stef
>>>
>>> Pharo really needs a huge speedup on the UI front. I am using a top of
>>> the line desktop system and still Pharo sometimes feels slow (some is due
>>> to algorithms - like the finder tool taking ages for a lot of things, but
>>> some is due to the UI system).
>>>
>>> This is not linked to the VM, as the MVC projects in Squeak are uber
>>> fast.
>>>
>>> Is the Text rewrite going to have an impact on this?
>>>
>>> On the front of interoperability, I personally have chosen to go the
>>> RabbitMQ route, it allows me to wire all kinds of things together with some
>>> room for scale.
>>>
>>> On the Java front itself, in the TCL community, we do have tclbend and
>>> also a package to do the same thing as STX:LIBJAVA. Truth be told, there
>>> hasn't been much traction in there. It works fine but that's it.
>>> http://www2.tcl.tk/1313 - usage sample http://www2.tcl.tk/14919
>>> It also has fell behind in terms of keeping up with the latest versions
>>> of the environment.
>>>
>>> In PHP, there is the Quercus and Caucho Resin Server that allows to run
>>> PHP on top of the JVM and invoke Java from there. Some people run very fast
>>> stuff on that, and benefiting from all JEE abilities (JMS, JTA, Clustering,
>>> JAAS...) is really nice.
>>> http://www.caucho.com/resin-3.1/doc/quercus.xtp
>>>
>>>
>>> Phil
>>>
>>>
>>>
>>>
>>> On Tue, Nov 26, 2013 at 12:26 PM, Jan Vrany <jan.vrany at fit.cvut.cz>wrote:
>>>
>>>> On 26/11/13 10:40, Serge Stinckwich wrote:
>>>>
>>>>> On Tue, Nov 26, 2013 at 10:54 AM, Jan Vrany <jan.vrany at fit.cvut.cz>
>>>>> wrote:
>>>>>
>>>>>> On 26/11/13 03:28, askoh wrote:
>>>>>>
>>>>>>>
>>>>>>> Bravo Jan and your collaborators. You have done it.
>>>>>>>
>>>>>>
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>>
>>>>>>> Anything preventing STX:LIBJAVA from being used in production
>>>>>>> environments?
>>>>>>>
>>>>>>
>>>>>>
>>>>>> Good question. STX:LIBJAVA is still a research phase. However, if
>>>>>> everything
>>>>>> goes fine, we might have first project using it for real
>>>>>> in couple months.
>>>>>>
>>>>>>
>>>>> What is important is also the licence. Do you use an open-source
>>>>> licence ?
>>>>>
>>>>
>>>> Strictly speaking - no. For various, historical reasons.
>>>>
>>>> The Smalltalk part STX:LIBJAVA support code is available under
>>>> the same terms as Smalltalk/X itself [1].
>>>>
>>>> The code of the VM is not publicly available for various reasons,
>>>> though it is possible to get an access. Ask Claus Gittinger if
>>>> you're interested in details.
>>>>
>>>>
>>>>>  Anything preventing Pharo and VisualWorks for using the technology
>>>>>>> also?
>>>>>>>
>>>>>>>  Short answer: Time and money.
>>>>>> The way we did it requires significant changes to the virtual machine
>>>>>> (as we believe this is the only way to get a decent performance).
>>>>>> Indeed, if
>>>>>> somebody going to pay for it, everything's possible ;-)
>>>>>>
>>>>>
>>>>> You should try to ask ESUG about financial support.
>>>>>
>>>>>
>>>> Maybe I should. But frankly - how many people in this community are
>>>> like "That would be great, I need this feature!" Raise hands. :-)
>>>>
>>>> Cheers, Jan
>>>>
>>>> [1] http://www.exept.de/cgi-bin/viewvc.cgi/stx/README?view=markup
>>>>
>>>>
>>>>
>>>
>>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>



-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131126/33de7b9b/attachment-0002.html>


More information about the Pharo-dev mailing list