MultiOberon as 64-bit compiler

Oberon Compiler with 3 different backends https://github.com/dvdagaev/Mob
Post Reply
User avatar
Ivan Denisov
Posts: 362
Joined: Tue Sep 17, 2013 12:21 am
Location: Krasnoyarsk, Russia

MultiOberon as 64-bit compiler

Post by Ivan Denisov »

Try the compiler MultiOberon for x64.
https://forum.oberoncore.ru/viewtopic.php?f=157&t=6423
Josef Templ
Posts: 262
Joined: Tue Sep 17, 2013 6:50 am

Re: 64-bit compiler

Post by Josef Templ »

Ivan Denisov wrote:Try the compiler MultiOberon for x64.
https://forum.oberoncore.ru/viewtopic.php?f=157&t=6423
Interesting approach!
Are there any numbers available regarding compilation speed and execution speed?

- Josef
Dmitry Dagaev
Posts: 68
Joined: Wed Mar 29, 2017 3:58 pm

Re: 64-bit compiler

Post by Dmitry Dagaev »

MultiOberon is an Oberon Compiler with 3 different backends:

BlackBox Native x86 code Generator (now 1.6)
Ofront Generated C-Language Code Translator;
LLVM representation Generator.

The current version is 0.8 for BlackBox 1.6. BlackBox 1.7 and linux support is planned in 0.9.
Dmitry Dagaev
Posts: 68
Joined: Wed Mar 29, 2017 3:58 pm

Re: 64-bit compiler

Post by Dmitry Dagaev »

Josef Templ wrote: Are there any numbers available regarding compilation speed and execution speed?
Optimization usage is in development, the figures below are preliminary.
Compile time (no optimization) - 270% LLVM, 100% BlackBox;
Loading time - 1330% LLVM (JIT compiler), 100% BlackBox;
Execution time (no optimization) - similar.

The optimizer is not available now, llc.exe with -O0..-O3 can be used instead.
X512
Posts: 72
Joined: Sat Feb 07, 2015 2:51 pm

Re: 64 it compiler

Post by X512 »

Ivan Denisov wrote:Try the compiler MultiOberon for x64.
https://forum.oberoncore.ru/viewtopic.php?f=157&t=6423
Does it support generating OCF modules with correct descriptors and meta information?
Dmitry Dagaev
Posts: 68
Joined: Wed Mar 29, 2017 3:58 pm

Re: MultiOberon as 64-bit compiler

Post by Dmitry Dagaev »

In recent 0.95 pre-version:
1. COFF and ELF object file formats modules loading implemented on Windows and Unix 32/64;
2. Building objects and executive files implemented;
3. Modules testing implemented and compiler tests included as examples.
Dmitry Dagaev
Posts: 68
Joined: Wed Mar 29, 2017 3:58 pm

Re: 64 it compiler

Post by Dmitry Dagaev »

X512 wrote:Does it support generating OCF modules with correct descriptors and meta information?
MultiOberon has 3 backends:
- Omb (based on DevCPP) generates OCF modules as usual;
- Omf (based on OFront) provides descriptors and meta, but does not support dynamic modules loading (to be implemented next);
- Oml (LLVM based) provides descriptors and meta, and dynamic loading is implemented in 2 ways:
--- LLVM bytecode .bc module file;
--- COFF and ELF .o module file.
Dmitry Dagaev
Posts: 68
Joined: Wed Mar 29, 2017 3:58 pm

Re: MultiOberon as 64-bit compiler

Post by Dmitry Dagaev »

MultiOberon version 1.0 released.
1. Omf (based on OFront) dynamic modules loading implemented;
2. Specific minimal shells ombsh,omfsh,omlsh for all backends;
3. Testing and benchmarking abilities;
4. Multi-platform development support.
Dmitry Dagaev
Posts: 68
Joined: Wed Mar 29, 2017 3:58 pm

Re: MultiOberon as 64-bit compiler

Post by Dmitry Dagaev »

MultiOberon version 1.1 released.
1. Arm32 and Arm64 support added;
2. Installers are provided for all platforms (.msi for Windows, .deb for Linux)
Dmitry Dagaev
Posts: 68
Joined: Wed Mar 29, 2017 3:58 pm

Re: MultiOberon as 64-bit compiler

Post by Dmitry Dagaev »

MultiOberon version 1.2 released.
1. Testing environment and modules naming convention changes
2. X64 loader position independent code support
3. Metadata signatures for functions including params
4. Limited registers operations
Post Reply