Search found 68 matches

by Dmitry Dagaev
Mon Aug 02, 2021 6:42 am
Forum: MultiOberon
Topic: MultiOberon as 64-bit compiler
Replies: 9
Views: 20593

Re: MultiOberon as 64-bit compiler

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
by Dmitry Dagaev
Wed Feb 17, 2021 3:56 pm
Forum: MultiOberon
Topic: MultiOberon as 64-bit compiler
Replies: 9
Views: 20593

Re: MultiOberon as 64-bit compiler

MultiOberon version 1.1 released.
1. Arm32 and Arm64 support added;
2. Installers are provided for all platforms (.msi for Windows, .deb for Linux)
by Dmitry Dagaev
Wed Dec 02, 2020 4:07 pm
Forum: MultiOberon
Topic: MultiOberon as 64-bit compiler
Replies: 9
Views: 20593

Re: MultiOberon as 64-bit compiler

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.
by Dmitry Dagaev
Fri Jul 24, 2020 5:59 pm
Forum: MultiOberon
Topic: Oml - LLVM backend for MultiOberon
Replies: 1
Views: 3897

Re: Oml - LLVM backend for MultiOberon

Simple example demonstates howto compile HelloWorld in command line c:\suok5\Mob>Blwe\omlsh co -odc OmtestHelloWorld oml:compiling c:\suok5\Mob/Omtest/Mod/HelloWorld.odc >c:\suok5\Mob/Omtest/Clwe/OmtestHelloWorld .ll=9742 .bc=3420 Compilation results in .ll and .bc bytecode files After this, the pro...
by Dmitry Dagaev
Thu Jul 23, 2020 6:26 pm
Forum: MultiOberon
Topic: Oml - LLVM backend for MultiOberon
Replies: 1
Views: 3897

Oml - LLVM backend for MultiOberon

Oml backend outputs LLVM bytecode files in textual .ll and binary .bc representation. The .bc file can be dynamically loaded by OmlBcLoader which uses JIT compiler. MultiOberon build command produces object file .o, which can be dynamically loaded and executed by runtime. MultiOberon build provides ...
by Dmitry Dagaev
Thu Jul 23, 2020 5:30 pm
Forum: MultiOberon
Topic: MultiOberon as 64-bit compiler
Replies: 9
Views: 20593

Re: 64 it compiler

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); - O...
by Dmitry Dagaev
Thu Jul 23, 2020 5:22 pm
Forum: MultiOberon
Topic: MultiOberon as 64-bit compiler
Replies: 9
Views: 20593

Re: MultiOberon as 64-bit compiler

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.
by Dmitry Dagaev
Tue Sep 24, 2019 9:50 am
Forum: MultiOberon
Topic: MultiOberon as 64-bit compiler
Replies: 9
Views: 20593

Re: 64-bit compiler

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 optimizati...
by Dmitry Dagaev
Tue Sep 24, 2019 8:55 am
Forum: MultiOberon
Topic: MultiOberon as 64-bit compiler
Replies: 9
Views: 20593

Re: 64-bit compiler

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.
by Dmitry Dagaev
Mon Mar 12, 2018 8:33 am
Forum: Co_
Topic: Standard Container Library
Replies: 2
Views: 8772

Re: Standard Container Library

Example - - Lists.IndexedList SearchElem = RECORD (Lists.Elem) ri-: Keys.SString32Key; i1: INTEGER; END; SearchElemPArr = POINTER TO ARRAY OF SearchElem; MySearchList = RECORD (Lists.IndexedList) data*: POINTER TO ARRAY OF SearchElemPArr; END; List, Queue, Deque, Stack operate with pointer to array ...