[Oberon] Project Oberon running from LPDDR memory on Pipistrello

Andreas Pirklbauer andreas_pirklbauer at yahoo.com
Mon May 11 20:42:09 CEST 2020

    > If I rember correctly, some objects unintentionally got allocated more than once.

That was yet another issue with module ORB that was made in

    20181201 - Update Texts.Mod.txt (Read), and ORB.Mod.txt (outType)

Previously, ORB.OutType created duplicates in the symbol file and symbol table
when exporting modules. This was fixed by only writing the fields of the record
proper to the symbol file, and not not ALL fields found by traversing the t.dsc
list. This is the reason why one now sees the statements involving “bot”, as in:

    IF t.base # NIL THEN … bot := t.base.dsc ELSE ... bot:= NIL END ;
    fld := t.dsc;
    WHILE fld # bot DO (*fields*)

instead of

    WHILE fld # NIL DO … END

This one was rather subtle to find.

More information about the Oberon mailing list