Page 1 of 1
MultiOberon as 64-bit compiler
Posted: Mon Sep 16, 2019 3:07 am
by Ivan Denisov
Re: 64-bit compiler
Posted: Sun Sep 22, 2019 7:05 pm
by Josef Templ
Interesting approach!
Are there any numbers available regarding compilation speed and execution speed?
- Josef
Re: 64-bit compiler
Posted: Tue Sep 24, 2019 8:55 am
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.
Re: 64-bit compiler
Posted: Tue Sep 24, 2019 9:50 am
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.
Re: 64 it compiler
Posted: Wed Jul 22, 2020 4:17 am
by X512
Does it support generating OCF modules with correct descriptors and meta information?
Re: MultiOberon as 64-bit compiler
Posted: Thu Jul 23, 2020 5:22 pm
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.
Re: 64 it compiler
Posted: Thu Jul 23, 2020 5:30 pm
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.
Re: MultiOberon as 64-bit compiler
Posted: Wed Dec 02, 2020 4:07 pm
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.
Re: MultiOberon as 64-bit compiler
Posted: Wed Feb 17, 2021 3:56 pm
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)
Re: MultiOberon as 64-bit compiler
Posted: Mon Aug 02, 2021 6:42 am
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