[Vm-dev] Sista alternate bytecodes + Java Bytecode ?
Raffaello Giulietti
raffaello.giulietti at lifeware.ch
Tue Oct 17 14:53:03 UTC 2017
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. Think only of the impact on the
garbage collectors, for example. (Or on how to present multi-threading
to Smalltalkers accustomed to the vastly simpler shared memory model of
Process, where the happens-before relationship is trivial.)
Greetings
Raffaello
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/20171003/4c21a419/attachment.html>
>
>
More information about the Vm-dev
mailing list