Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (491)
Games in Android Showcase (112)
games submitted by our members
Games in WIP (555)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  joeq Virtual Machine  (Read 3226 times)
0 Members and 1 Guest are viewing this topic.
Offline leknor

Junior Member




ROCK!!!


« Posted 2003-05-09 06:26:19 »

This looks to grow up into a curious creature: http://joeq.sourceforge.net/
Offline altair

Senior Newbie





« Reply #1 - Posted 2003-05-12 02:01:12 »

It shows where Sun blew it IMO. Everybody in the industry seem to agree that a Virtual Machine should crunch generic bytecode not language specific bytecode. Now, that would be really cool to integrate other languages inside a JVM !
Offline swpalmer

JGO Coder




Where's the Kaboom?


« Reply #2 - Posted 2003-05-12 02:20:12 »

What are you talking about???  That's exactly what a JVM does.  You can use many different languages to compile to JVM compatible byte code.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline GergisKhan

Junior Member




"C8 H10 N4 O2"


« Reply #3 - Posted 2003-05-12 12:23:01 »

I suspect all that would be required is a C++-to-bytecode compiler, and you'd have what you want.

Seems I heard something about a compiler like that, somewhere.

gK

"Go.  Teach them not to mess with us."
          -- Cao Cao, Dynasty Warriors 3
Offline rreyelts

Junior Member




There is nothing Nu under the sun


« Reply #4 - Posted 2003-05-12 13:58:23 »

Interesting project.

IBM had a virtual machine that was written almost entirely in Java several years ago. It was called Jalapeno back then, but it has since been named the Jikes Virtual Machine.

Intel also has a virtual machine that they're using to research high-performance techniques. They have a white-paper about it posted somewhere on their site. IIRC, it is supposed to be able to execute both Java bytecode and .NET IL.

I don't understand the whole "Sun blew it" comment. Although Sun did not intend their virtual machine to support all kinds of languages, you can see how it is fairly generic - For example, if you read the virtual machine spec, you can see how it has support for things like local jumps and returns, and how language features like finally blocks aren't even supported directly in the virtual machine. What you do see with Java bytecode is a bias towards interpretation. This has actually made it easier for dynamically typed languages to execute efficiently on the JVM. (Along with operation in constrained environments). On the other hand, the architecture of .NET IL has, so far, made it so difficult that no one has yet been able to implement high-performance versions of dynamic languages - like Smalltalk and Python. So, while Sun didn't inherently design for multiple languages, their ISA seems to be amenable to many more languages than the .NET ISA.

I like the idea, myself, of having a layered VM architecture where a core virtual machine is designed with a very simple ISA. Services that are necessary for other languages, garbage collection, security, efficient tail-recursion, etc... could all be layered on top of the core VM. This would allow for very portable VMs (you only need to port the simple core VM). You would be able to host languages like C and C++ in the VM easily. You would be able to design VMs that cater to specific types of languages. You could define optimal interop layers between the VMs / languages, etc...

God bless,
-Toby Reyelts


About me: http://jroller.com/page/rreyelts
Jace - Easier JNI: http://jace.reyelts.com/jace
Retroweaver - Compile on JDK1.5, and deploy on 1.4: http://retroweaver.sf.net.
Offline rreyelts

Junior Member




There is nothing Nu under the sun


« Reply #5 - Posted 2003-05-12 14:06:20 »

I suspect all that would be required is a C++-to-bytecode compiler, and you'd have what you want.

Seems I heard something about a compiler like that, somewhere.


I don't understand exactly how that is relevant to the discussion at hand (you're assuming any language can easily be translated to C++?), but perhaps you're thinking about IVM? (http://ivm.sourceforge.net) There was a lot of talk about this VM some time ago, but IIRC, it was just that - talk. The project pretty much died a couple of years back.

God bless,
-Toby Reyelts


About me: http://jroller.com/page/rreyelts
Jace - Easier JNI: http://jace.reyelts.com/jace
Retroweaver - Compile on JDK1.5, and deploy on 1.4: http://retroweaver.sf.net.
Offline GergisKhan

Junior Member




"C8 H10 N4 O2"


« Reply #6 - Posted 2003-05-12 16:57:07 »

No, I was assuming you could compile C++ into bytecode.  Or any language into bytecode, provided you had some idea of what you are doing (and in this I don't).

Yup, it was ivm that I recalled.  Doesn't seem like development proceeded, though as late as last year people were still working on using it.

gK

"Go.  Teach them not to mess with us."
          -- Cao Cao, Dynasty Warriors 3
Offline rreyelts

Junior Member




There is nothing Nu under the sun


« Reply #7 - Posted 2003-05-12 17:11:20 »

No, I was assuming you could compile C++ into bytecode.  Or any language into bytecode, provided you had some idea of what you are doing (and in this I don't).

Given a Turing-equivalent bytecode, yes you can. For example, it is theoretically possible to compile C++ source code to Java byte code. The issue is performance. For example, emulating pointers on the JVM would be painfully slow.

I still don't understand what compiling C++ source code down to some bytecode has to do with the Joeq VM, though.

God bless,
-Toby Reyelts

About me: http://jroller.com/page/rreyelts
Jace - Easier JNI: http://jace.reyelts.com/jace
Retroweaver - Compile on JDK1.5, and deploy on 1.4: http://retroweaver.sf.net.
Offline swpalmer

JGO Coder




Where's the Kaboom?


« Reply #8 - Posted 2003-05-12 22:04:01 »

What you are looking for is here...
http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html
or maybe this is a more stable URL
http://www.robert-tolksdorf.de/vmlanguages

Offline altair

Senior Newbie





« Reply #9 - Posted 2003-05-12 23:37:40 »

Actually, I was not refering to the technical part (the structure of the bytecode) but the marketing part. Althoug it made sense at the beginning to promote the language Java, now others will come and claim better integration of several languages inside the same VM. I am not saying it is impossible to do it inside of the JVM, I am just saying Sun has shown no interest so far AFAIK.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline swpalmer

JGO Coder




Where's the Kaboom?


« Reply #10 - Posted 2003-05-13 02:30:44 »

Well Sun doesn't have the resources of a criminally abusive monopoly...

They have to stay focused.    They have never deterred others from developing anything that compiles to java byte code.

Everyone expects Sun to do everything pay for everything like they owned the world... (maybe you're thinking Microsoft?)

Sun has always encouraged competition.  The joeq VM is allowed to prosper because sun is happy to have this competition.
I'm not sure what sort of support you want from Sun in terms of alternate languages...

Here's a quote right out of the VM Spec...

"The Java Virtual Machine knows nothing of the Java programming language, only of a particular file format, the class file format. A class file contains Java Virtual Machine instructions (or bytecodes) and a symbol table, as well as other ancillary information.

For the sake of security, the Java Virtual Machine imposes strong format and structural constraints on the code in a class file. However, any language with functionality that can be expressed in terms of a valid class file can be hosted by the Java Virtual Machine. Attracted by a generally available, machine-independent platform, implementors of other languages are turning to the Java Virtual Machine as a delivery vehicle for their languages. In the future, we will consider bounded extensions to the Java Virtual Machine to provide better support for other languages."

Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« Reply #11 - Posted 2003-05-13 05:39:27 »

I would be interested to know if any serious project is developed on the JVM in a language other than java and why (not).
Also, I don't see any point in running C++ code in a JVM. I have the feeling C++ and a VM don't mix by nature but I could be wrong...

Erik

Offline rreyelts

Junior Member




There is nothing Nu under the sun


« Reply #12 - Posted 2003-05-13 14:48:57 »

I would be interested to know if any serious project is developed on the JVM in a language other than java and why (not).

As an example, I know that many "serious" projects are using Jython (Python on the JVM) as a scripting language to interface with their core system.

Also, I don't see any point in running C++ code in a JVM. I have the feeling C++ and a VM don't mix by nature but I could be wrong...

A JVM and C++ don't mix, primarily because of the security restrictions (i.e. lack of pointer arithmetic, unsafe casting, and manual memory management). On the other hand, there are significant considerations for running C++ on a VM.

1) Runtime code-portability. It now becomes trivial to create a version of something like RMI for C++ or implement any number of distributed computing applications.

2) Features that can be provided outside of a virtual machine, but generally aren't (most because it's too difficult to reasonably do).

- Reflection
- Dynamic class loading and code generation (ala BCEL)
- Runtime optimization (ala Hotspot)
- Garbage collection

and I'm sure there are others, but I think you get the idea.

God bless,
-Toby Reyelts


About me: http://jroller.com/page/rreyelts
Jace - Easier JNI: http://jace.reyelts.com/jace
Retroweaver - Compile on JDK1.5, and deploy on 1.4: http://retroweaver.sf.net.
Offline kevglass

JGO Kernel


Medals: 159
Projects: 23
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #13 - Posted 2003-05-14 08:28:37 »

Just an observation, but does the fact the java language has no pointer arithmetic actually have any baring the JVM impl?

Not having any experience of the internal workings of any JVM impl I'm not really in a position to talk with authority, but I would have thought that it still had to address memory with some numeric indicator, a => could do pointer arithmetic.

Apologises if this shows my naiveity (and poor spelling),

Kev

Offline rreyelts

Junior Member




There is nothing Nu under the sun


« Reply #14 - Posted 2003-05-14 11:47:05 »

Just an observation, but does the fact the java language has no pointer arithmetic actually have any baring the JVM impl?

No, it has nothing to do with the JVM implementation. But, that's not what is important. What's important is the ISA (Instruction Set Architecture) - which is essentially the public interface into a machine. Java's ISA (Java bytecode) does not allow you to express pointer arithmetic, so you have to emulate it as a layer on top of the virtual machine. As an analogy, Intel's ISA does not support virtual methods (nor classes for that matter) so a language that supports virtual methods has to emulate it on top of Intel's ISA (for example, the JVM). It just so happens that it's much more efficient to emulate virtual methods than it is to emulate arbitrary pointer arithmetic.

God bless,
-Toby Reyelts

About me: http://jroller.com/page/rreyelts
Jace - Easier JNI: http://jace.reyelts.com/jace
Retroweaver - Compile on JDK1.5, and deploy on 1.4: http://retroweaver.sf.net.
Offline mlk

Junior Member




Muppet!


« Reply #15 - Posted 2003-05-15 23:46:17 »

It would be intresting to see if you could compile joeq on GCJ  Grin

On C++ on the JVM, I think thats what this  (now dead) project is all about.  (I've not got it to compile & work under Cygwin Sad )

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Nickropheliac (15 views)
2014-08-31 22:59:12

TehJavaDev (23 views)
2014-08-28 18:26:30

CopyableCougar4 (29 views)
2014-08-22 19:31:30

atombrot (41 views)
2014-08-19 09:29:53

Tekkerue (38 views)
2014-08-16 06:45:27

Tekkerue (35 views)
2014-08-16 06:22:17

Tekkerue (25 views)
2014-08-16 06:20:21

Tekkerue (34 views)
2014-08-16 06:12:11

Rayexar (72 views)
2014-08-11 02:49:23

BurntPizza (48 views)
2014-08-09 21:09:32
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!