[Vm-dev] Sista alternate bytecodes + Java Bytecode ?

Jan Vrany jan.vrany at fit.cvut.cz
Tue Oct 17 16:04:48 UTC 2017


Hi there,

On Tue, 2017-10-17 at 16:53 +0200, Raffaello Giulietti wrote:
>  
> Hi Ben,
> 
> in addition to Clément's observations, you should not forget that
> much 
> existing JVM bytecode depends on the multi-threading capabilities of
> any 
> contemporary JVM implementation and its supporting platform
> libraries 
> (e.g., java.util.concurrent.* for concurrency frameworks, 
> java.util.stream.* for parallel streams, etc.)
> 
> So, besides the humongous work mentioned by Clément, I can only
> imagine 
> how hyper-humongous a work would it be to make the current
> OpenSmalltalk 
> VM multi-threaded to accommodate the JVM computational model inherent
> in 
> almost any real-world Java bytecode. 

In my opinion, the "vastly simpler" model of current smalltalk VMs
makes the implementation of Java execution on top of them simpler, not
more difficult. 

As for the real-world code, I do not recall any difficulties w.r.t. 
smalltalk's "vastly simpler" model. 

Jan

> 
> 
> 
> On 2017-10-17 16:12, Raffaello Giulietti wrote:
> > Hi,
> > 
> > That question should be asked on vm-dev.
> > 
> > Just a detail, multibytecode set support is prior to the Sista
> > implementation, it was used for example in the context of Newspeak
> > (Squeak
> > and Newspeak bytecodes supported together). Sista uses that
> > feature, which
> > makes it look like new in the Pharo community since afaik no one
> > used it
> > before in the context of Pharo.
> > 
> > Then yes it is feasible to have the VM process Java bytecode, but
> > it's
> > humongous work. On the top my head, we would need to support typed
> > bytecodes for Numbers and exceptions at the bytecode level (which
> > in itself
> > is month of work, imagine raising an exception from Java/ST and
> > catch it
> > from the other runtime, with multiple ensure/try finally in
> > between)
> > 
> > Note that supporting the Java bytecode is far from enough to be
> > able to run
> > Java code (We also need core Java libraries support at least,
> > including
> > exceptions/stack reification model that should be able to interact
> > with
> > each other)
> > 
> > You can have a look at Smalltalk/X where the VM can run Java, C and
> > Smalltalk.
> > 
> > Regards
> > 
> > 
> > On Tue, Oct 3, 2017 at 1:57 PM, Ben Coman <btc at openinworld.com>
> > wrote:
> > 
> >  > Just wondering about an exotic idea, with Sista facilitating
> > alternate
> >  > bytecodes (btw, is that multiple bytecode sets within one
> > Image?), how
> >  > feasible would it be to have the VM process Java bytecode?
> >  >
> >  > cheers -ben
> >  >
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> > URL: 
> > <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/201
> > 71003/4c21a419/attachment.html> 
> > 
> > 
> 
> 


More information about the Vm-dev mailing list