On Tue, Nov 26, 2013 at 12:49 PM, phil@highoctane.be phil@highoctane.bewrote:
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, understand the primitives, can somewhat read bytecode but what is needed now is the ability to run/debug a VM inside Pharo itself. GDB'ing is okay but a pain in the ass to understand what's going on.
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.
Any plans?
David Lewis and I want to see the Cog branch and the VMMaker proper merged and I definitely want the standard Interpreter to be married to Spur. But I have no cycles to do this, and I don't think David has many either. Volunteers welcome.
Phil
Philippe Back Dramatic Performance Improvements Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027 Mail:phil@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@inria.fr> wrote:
On Nov 26, 2013, at 1:21 PM, phil@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@fit.cvut.czwrote:
On 26/11/13 10:40, Serge Stinckwich wrote:
On Tue, Nov 26, 2013 at 10:54 AM, Jan Vrany jan.vrany@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
On Tue, Nov 26, 2013 at 01:30:40PM -0800, Eliot Miranda wrote:
On Tue, Nov 26, 2013 at 12:49 PM, phil@highoctane.be phil@highoctane.bewrote:
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, understand the primitives, can somewhat read bytecode but what is needed now is the ability to run/debug a VM inside Pharo itself. GDB'ing is okay but a pain in the ass to understand what's going on.
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.
Any plans?
David Lewis and I want to see the Cog branch and the VMMaker proper merged and I definitely want the standard Interpreter to be married to Spur. But I have no cycles to do this, and I don't think David has many either. Volunteers welcome.
Fully agree :-)
With respect to the interpreter simulator, the simulators tend to get bit rotted when not used, but I think that overall they are in reasonable shape. Granted that we currently have to fumble around with multiple code bases, but it's fair to say that if you want to run a Cog/StackInterpreter/Spur simulator, you can use the appropriate classes in the oscog branch (after all, that is what Eliot is using for his active development, and it's quite unlikely that he could do this without a working simulator). And if you want to run an image using the classic interpreter, you should use the interpreter simulator in the "trunk" VMMaker branch.
I realize this may be a bit confusing, but as Eliot says there are only so may free cycles available, so if someone wants to help ...
I just tried loading an image into the ("trunk") InterpreterSimulator and found a problem in loading an image that had been saved from Cog. This would be a problem if you wanted to load a Pharo image into the InterpreterSimulator to try running bytecodes using a simple interpreter. The fix is in VMMaker-dtl.330 in the source.squeak.org/VMMaker repository. Hopefully it works for you now, please give it a try.
Dave
Hi Dave, Eliot,
Dave,
Yes, that is the problem I was running into. I'll check that out. I could get a bit further by hacking some version numbers if I remember well but then got stuck again. I do not remember why exactly. It felt a bit like crossing the desert with a single bottle of water :-)
Eliot,
Thanks for the pointers.
Maybe would it be great to have a Google Hangout or two with the people doing the VM work (you both, Clement, Esteban, ...) and go through what matters in the process of dealing with the simulators.
Phil
On Wed, Nov 27, 2013 at 4:01 AM, David T. Lewis lewis@mail.msen.com wrote:
On Tue, Nov 26, 2013 at 01:30:40PM -0800, Eliot Miranda wrote:
On Tue, Nov 26, 2013 at 12:49 PM, phil@highoctane.be <phil@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, understand the primitives, can somewhat read bytecode but what is needed now is the ability to run/debug a VM inside Pharo itself. GDB'ing is okay but a
pain
in the ass to understand what's going on.
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.
Any plans?
David Lewis and I want to see the Cog branch and the VMMaker proper
merged
and I definitely want the standard Interpreter to be married to Spur.
But
I have no cycles to do this, and I don't think David has many either. Volunteers welcome.
Fully agree :-)
With respect to the interpreter simulator, the simulators tend to get bit rotted when not used, but I think that overall they are in reasonable shape. Granted that we currently have to fumble around with multiple code bases, but it's fair to say that if you want to run a Cog/StackInterpreter/Spur simulator, you can use the appropriate classes in the oscog branch (after all, that is what Eliot is using for his active development, and it's quite unlikely that he could do this without a working simulator). And if you want to run an image using the classic interpreter, you should use the interpreter simulator in the "trunk" VMMaker branch.
I realize this may be a bit confusing, but as Eliot says there are only so may free cycles available, so if someone wants to help ...
I just tried loading an image into the ("trunk") InterpreterSimulator and found a problem in loading an image that had been saved from Cog. This would be a problem if you wanted to load a Pharo image into the InterpreterSimulator to try running bytecodes using a simple interpreter. The fix is in VMMaker-dtl.330 in the source.squeak.org/VMMaker repository. Hopefully it works for you now, please give it a try.
Dave
Hey,
2013/11/27 phil@highoctane.be phil@highoctane.be
Hi Dave, Eliot,
Dave,
Yes, that is the problem I was running into. I'll check that out. I could get a bit further by hacking some version numbers if I remember well but then got stuck again. I do not remember why exactly. It felt a bit like crossing the desert with a single bottle of water :-)
Eliot,
Thanks for the pointers.
Maybe would it be great to have a Google Hangout or two with the people doing the VM work (you both, Clement, Esteban, ...) and go through what matters in the process of dealing with the simulators.
There's no so much problems, someone just need to spend time making the simulator work on Pharo 2.0. Basically you need to fix usages of TranscriptStream, FileSystem and Morph to new APIs. I will do it at some point for Sista. But right now I focus on the in-image part so I will do it later (I hope in a month at most).
Phil
On Wed, Nov 27, 2013 at 4:01 AM, David T. Lewis lewis@mail.msen.comwrote:
On Tue, Nov 26, 2013 at 01:30:40PM -0800, Eliot Miranda wrote:
On Tue, Nov 26, 2013 at 12:49 PM, phil@highoctane.be <
phil@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, understand the primitives, can somewhat read bytecode but what is needed now is the ability to run/debug a VM inside Pharo itself. GDB'ing is okay but a
pain
in the ass to understand what's going on.
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.
Any plans?
David Lewis and I want to see the Cog branch and the VMMaker proper
merged
and I definitely want the standard Interpreter to be married to Spur.
But
I have no cycles to do this, and I don't think David has many either. Volunteers welcome.
Fully agree :-)
With respect to the interpreter simulator, the simulators tend to get bit rotted when not used, but I think that overall they are in reasonable shape. Granted that we currently have to fumble around with multiple code bases, but it's fair to say that if you want to run a Cog/StackInterpreter/Spur simulator, you can use the appropriate classes in the oscog branch (after all, that is what Eliot is using for his active development, and it's quite unlikely that he could do this without a working simulator). And if you want to run an image using the classic interpreter, you should use the interpreter simulator in the "trunk" VMMaker branch.
I realize this may be a bit confusing, but as Eliot says there are only so may free cycles available, so if someone wants to help ...
I just tried loading an image into the ("trunk") InterpreterSimulator and found a problem in loading an image that had been saved from Cog. This would be a problem if you wanted to load a Pharo image into the InterpreterSimulator to try running bytecodes using a simple interpreter. The fix is in VMMaker-dtl.330 in the source.squeak.org/VMMakerrepository. Hopefully it works for you now, please give it a try.
Dave
vm-dev@lists.squeakfoundation.org