Recent

Author Topic: JVM Backend Questions  (Read 544 times)

peter.dell

  • Newbie
  • Posts: 2
JVM Backend Questions
« on: January 21, 2023, 08:23:49 pm »
Hello,

I'm a new user and I'd like to use the JVM backend to compile [https://github.com/tebe6502/Mad-Assembler/blob/master/mads.pas MADS] for inclusion in my Java project.

I found the documentation at https://wiki.freepascal.org/FPC_JVM and started working trough it. I've registered on the Wiki and update outdated things that I find (e.g. URLs still pointing to SVN/FTP). I've managed to get a new version to compile the example successfully.
The last binary build containing a working ppcjvm appears to be 3.0.4.
When I compile the "trange1.pp" example, that version works fine
I've also managed to compile it with the newly built ppcjvm.exe
Using PPCJVM version
3.3.1
Compiling trange1.pp to trange1.
Generated: .\trange1.class
..

For the following issues I'm seeking advice from you:

Q1) The links to the following files are broken and I cannot find any new locations. Maybe somebody has saves these files?
   ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmutilities.zip
   ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/jasmin24b.patch
   ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/bcel-r1157681-returntype.patch

Q2) What are the steps for me to make the SysUtils & crt units available?

Compiling mads.pas to mads.
mads.pas(27,5) Fatal: Can't find unit crt used by MADS
Fatal: Compilation aborted
Compiling mp.pas to mp.
mp.pas(121,4) Fatal: Can't find unit SysUtils used by MADPASCAL
Fatal: Compilation aborted

Q3) It only work if I use the rtl from the 3.0.4 version. The new build is lacking some .class files, e.g. System.class


Kind regards, Peter
« Last Edit: January 21, 2023, 09:16:01 pm by peter.dell »

Jonas Maebe

  • Hero Member
  • *****
  • Posts: 1040
Re: JVM Backend Questions
« Reply #1 on: January 22, 2023, 06:34:41 pm »
Q1) I've pinged the maintainer of the server. The contents of jvmutilities.zip is included with any FPC release that includes a JVM cross-compiler (jasmin.jar, javapp.jar)

Q2) there are none. Unfortunately, this part of the wiki is still completely up-to-date: https://wiki.freepascal.org/FPC_JVM/Language
Quote
This is a compiler-only port. That means that except for the system unit and a unit that imports the JDK classes, no other standard RTL or other units are available. Furthermore, even the system unit is quite limited in terms of the functionality that it provides (details are below).

peter.dell

  • Newbie
  • Posts: 2
Re: JVM Backend Questions
« Reply #2 on: January 28, 2023, 10:03:34 am »
Q1) I've pinged the maintainer of the server. The contents of jvmutilities.zip is included with any FPC release that includes a JVM cross-compiler (jasmin.jar, javapp.jar)

Q2) there are none. Unfortunately, this part of the wiki is still completely up-to-date: https://wiki.freepascal.org/FPC_JVM/Language
Quote
This is a compiler-only port. That means that except for the system unit and a unit that imports the JDK classes, no other standard RTL or other units are available. Furthermore, even the system unit is quite limited in terms of the functionality that it provides (details are below).

Thanks for the replies Jonas.

ad Q2) So are the two mentioned files the only content the jvmutilities.zip had?

ad Q3) Thanks, that the part I haven't read yet. Will do so.


Jonas Maebe

  • Hero Member
  • *****
  • Posts: 1040
Re: JVM Backend Questions
« Reply #3 on: January 28, 2023, 10:38:49 am »
No, the zifpile also contains an old snapshot of BCEL. The ftp site is up again, so you should be able to download it now.

 

TinyPortal © 2005-2018