Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Documentation about the Vampire hardware

Could Java Be 080-MMXoptimized?

Vojin Vidanovic
(Needs Verification)
Posts 1916/ 1
09 Sep 2018 19:55



Before someone thinks I am mad, Java 8 compatible implementation
does exist for AmigaOS
EXTERNAL LINK 
Some Vamp testing would be nice,and fine judgement would optimization be performance worthy and what could it bring to the camp.




Szyk Cech

Posts 191
09 Sep 2018 20:50


Apollo Team:
Please keep this piece of crap as far as possible from Amiga!

Because it is mad idea to crate software virtual processors when we have very good REAL HARDWARE PROCESSORS. Didn't you understand pointers/memory addresses - leave IT business and go bread pigs and cows - maybe you can understand them and make big career as farmer/cowboy.


Andrew Miller

Posts 352
09 Sep 2018 21:06


This is a good idea if its workable, most will use assembler or C for programming, but Java compatibility would bring alot of new software to the Vampire Amiga, may be worth a look for the V4/standalone.


John William

Posts 563
10 Sep 2018 07:33


- munches on popcorn -

Mmm....I love this community. - munches -


Andrew Miller

Posts 352
10 Sep 2018 12:13


Yeah it is kinda like:
Guy one: Suggests something to see if it could help, and what others think.
Guy two: Burn the heathen!!!!

Best option here would be if Java was workable and you dont want to use it, just dont use it.


Vojin Vidanovic
(Needs Verification)
Posts 1916/ 1
10 Sep 2018 16:37


Andrew Miller wrote:

  Best option here would be if Java was workable and you dont want to use it, just dont use it.

Yup. But in situations like here, where it can throw few good things in,I am never against it. I have seen Linux ports with its GUI (an alien GUI to AmigaOS), backports from AROS,MOS or even 68k and so on, on OS4 side of life. And its a savior point those NGs can boot Linux and its apps!You can have it if you wish!


Renee Cousins
(Apollo Team Member)
Posts 142
10 Sep 2018 16:47


There has been a Java compiler for Amiga for some time now. Since the Amiga lacks an MMU, JIT compilation doesn't seem possible and brute-force interpreter loop is going to be painfully slow.


Vojin Vidanovic
(Needs Verification)
Posts 1916/ 1
10 Sep 2018 16:52


Renee Cousins wrote:

There has been a Java compiler for Amiga for some time now. Since the Amiga lacks an MMU, JIT compilation doesn't seem possible and brute-force interpreter loop is going to be painfully slow.

I hope Apollo MPU in V4 could be able to handle it or some 68xxx MMU compatible solution could be introduced with some core of V4?

Or simply, code could be rewritten to use either brute force or V4 own MPU (or mix, or MMU ... :-)

In my experience Java and Javascript do bring a lot, especially on "lower end machines"


Renee Cousins
(Apollo Team Member)
Posts 142
10 Sep 2018 18:09


Vojin Vidanovic wrote:
I hope Apollo MPU in V4 could be able to handle it or some 68xxx MMU compatible solution could be introduced with some core of V4?

Unlikely.

Vojin Vidanovic wrote:
Or simply, code could be rewritten to use either brute force or V4 own MPU (or mix, or MMU ... :-)

The JIT can be disabled, and it's likely it can just be built with that feature not enabled. It will be slow, however. Insanely slow.
 
Vojin Vidanovic wrote:
In my experience Java and Javascript do bring a lot, especially on "lower end machines"

Please stop confusing the two. They are not at all the same.

JavaScript works in iBrowse and OWB. It's slow and old, but it works fine.

Java we have as a static compiler (jikes), which, without an MMU, should also work well. Development was stopped around 2004 on jikes, but there's also the GNU Compiler for Java which was supported up to 2015. It's part of GCC 6.


Matthew Burroughs

Posts 59
10 Sep 2018 19:18


Andrew Miller wrote:

Yeah it is kinda like:
  Guy one: Suggests something to see if it could help, and what others think.
  Guy two: Burn the heathen!!!!
 
  Best option here would be if Java was workable and you dont want to use it, just dont use it.

Option one would be good.

Give it a go!!


Vojin Vidanovic
(Needs Verification)
Posts 1916/ 1
10 Sep 2018 20:51



on MMU usage
 
Renee Cousins wrote:

Unlikely.

Too bad. Few things really need it, and none is bad.

Renee Cousins wrote:
  The JIT can be disabled, and it's likely it can just be built with that feature not enabled. It will be slow, however. Insanely slow. .

Then optimizing insanely slow to slow and bearable could be the task. Is it worthy? 

 
Renee Cousins wrote:
  Please stop confusing the two. They are not at all the same.
 
  JavaScript works in iBrowse and OWB. It's slow and old, but it works fine. .

Not exactly, but are related. However optimizing JS for 080-MMX was what I exactly had in mind. Usually its very beneficial.

 
Renee Cousins wrote:
 
  Java we have as a static compiler (jikes), which, without an MMU, should also work well. Development was stopped around 2004 on jikes, but there's also the GNU Compiler for Java which was supported up to 2015. It's part of GCC 6.

Sound all like half solutions, I hope this fully Java 8 compatible solution will work on MMU-less Amigas like 080 currently is, from this POV



Samuel Devulder

Posts 248
10 Sep 2018 21:16


Renee Cousins wrote:

          (...)brute-force interpreter loop is going to be painfully slow.
         
Still there is one interesting thing to test in place of a basic interpreter: convert java bytecode into plain 680x0 asm like in this case: EXTERNAL LINK (notice: 68000 is supported, see EXTERNAL LINK ).
 
Using that technique one might implement something with a decent runtime speed. Video on sega genesis (68000 inside):  EXTERNAL LINK       
   
When thinking about AMMX, java is a stack-based machine. There is nothing in the bytecode that can benefit of AMMX instructions in my opinion. Better think about a way to speed up interpretation  bytecode by 680x0. Grinder is a solution.


Vojin Vidanovic
(Needs Verification)
Posts 1916/ 1
10 Sep 2018 21:48


Samuel Devulder wrote:

  When thinking about AMMX, java is a stack-based machine. There is nothing in the bytecode that can benefit of AMMX instructions in my opinion. Better think about a way to speed up interpretation  bytecode by 680x0. Grinder is a solution.

Not an expert where Altivec/SSE style instruction do the magic, thanks for clarification.

That grinder is nice. Could 68 000 ASM code be recompiled again to 080 via VASM?


Samuel Crow

Posts 424
10 Sep 2018 22:33


Vojin Vidanovic wrote:
Not an expert where Altivec/SSE style instruction do the magic, thanks for clarification.

That grinder is nice. Could 68 000 ASM code be recompiled again to 080 via VASM?


Most 68080 features are available via opcode fusion.  This means that old code doesn't need to be recompiled to benefit on 68080.


Vojin Vidanovic
(Needs Verification)
Posts 1916/ 1
10 Sep 2018 23:01


Samuel Crow wrote:

  Most 68080 features are available via opcode fusion.  This means that old code doesn't need to be recompiled to benefit on 68080.
 

 
  Excellent feature that makes more apps and games faster :-)
 
  However, if VASM recompile to 080 code is possible you could test opcode vs fully 080 optimized. If speed diff. is >=10% native recompiling is recommended.
 
  In this peculiar case, you could test the difference.
 


Rob M

Posts 60
16 Sep 2018 03:03


Vojin Vidanovic wrote:

  Not an expert where Altivec/SSE style instruction do the magic, thanks for clarification.

They're SIMD (Single Instruction Multiple Data) units designed to deal with streams of data.  That why you see it used for decoding images, audio and video.


Adam Whittaker
(Needs Verification)
Posts 270/ 1
16 Sep 2018 13:01


Id like to see a java implementation on Amiga OS using Apollo Features... I think it would be of great use and I also think the Vampire has more than enuff grunt to pull this off!


Andy Hearn

Posts 374
19 Sep 2018 09:48


also I think it would be very amusing to host a Minecraft server on an amiga500... One of the ideas I had for building out my A3k, but I've not been able to find a seemingly complete enough java implementation that i'm convinced would be able to support the code.


Adam Whittaker
(Needs Verification)
Posts 270/ 1
19 Sep 2018 16:38


Andy Hearn wrote:

also I think it would be very amusing to host a Minecraft server on an amiga500... One of the ideas I had for building out my A3k, but I've not been able to find a seemingly complete enough java implementation that i'm convinced would be able to support the code.

This - id love to see some kinda minecraft on amiga lol


posts 19